各类数据库适配mysql

Posted KeepSmiling_me

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各类数据库适配mysql相关的知识,希望对你有一定的参考价值。

1.clickhouse:

Array(Date)=TEXT
Array(DateTime=TEXT
Array(FLoat32)=TEXT
Array(FLoat64)=TEXT
Array(Int16)=TEXT
Array(Int32)=TExT
Array(Int64)=TEXT
Array(Int8)TExT
DateTime=DATETIME
Anray(stringD=TExT
Array(UInt16)=INT
Arav(uInt32)=INT
Array(UInt64)=INT
Array(UInt8)=INT
UInt16=SMALLINTC5)
UInt32=INT(10))
UInt64=BIGINT(20)
UInt8-TINYINT(3)
Int8=TINYINT(4)
Int16=SMALLINT(6)
Int32=INT(11)
Int64=BIGINT(20)
FLoat32=FL0AT(24)
FLoat64=D0UBLE(53)
Fixedstring=CHAR(255)
String=VARCHAR(255)

2.Oracle

Array(Date)=TEXT
Array(DateTime=TEXT
Array(FLoat32)=TEXT
Array(FLoat64)=TEXT
Array(Int16)=TEXT
Array(Int32)=TExT
Array(Int64)=TEXT
Array(Int8)TExT
DateTime=DATETIME
Anray(stringD=TExT
Array(UInt16)=INT
Arav(uInt32)=INT
Array(UInt64)=INT
Array(UInt8)=INT
UInt16=SMALLINTC5)
UInt32=INT(10))
UInt64=BIGINT(20)
UInt8-TINYINT(3)
Int8=TINYINT(4)
Int16=SMALLINT(6)
Int32=INT(11)
Int64=BIGINT(20)
FLoat32=FL0AT(24)
FLoat64=D0UBLE(53)
Fixedstring=CHAR(255)

3.postgresql:

integer=INT
int4=INT
SmaLLint=SMALLINT
int2=SMALLINT
bigint=BIGINT
int8=BIGINT
reaL=FLOAT
fLoat4=FLOAT
double-precision=DouBLE
fLoat8=D0UBLE
characten_varying=VARCHAR(255)
varchar=VARCHAR(255)
bpchar=VARCHAR(255)
gzgu
character=CHAR(255char=CHAR(255)
afily
teXt=LONGTEXT
timestamp_without_time_zone=DATETIME
timestampwith time_zone=TIMEsTAMP
timestamp=TIMEsTAMP
date=DATE
time_without_time_zone=TIME
numeric=DECIMAL
booLean=TINYINT(1)
bytea=BLOB

 

MYSQL 数据库各类属性说明 (持续更新)

数据库

一、使用数据库的原因?

因为 EXCEL 不能供一个大型系统使用,它的性能不够好。我们需要一个可以供多人同时访问、操纵、安全的数据存储系统。

通俗来说,数据库是一个更大型的EXCEL表格,可以多人同时地进行访问、更改数据。在数据量很大(0~300G)的时候,数据库的性能将会非常地好。

(想象一下一个几十G的Excel,操作他将会非常困难)

二、 MySQL 的存储引擎

MySQL 的存储引擎
存储引擎 描述
ARCHIVE 用于数据存档的引擎,数据被插入后就不能在修改了,且不支持索引。
CSV 在存储数据时,会以逗号作为数据项之间的分隔符。
BLACKHOLE 会丢弃写操作,该操作会返回空内容。
FEDERATED 将数据存储在远程数据库中,用来访问远程表的存储引擎。
InnoDB 具备外键支持功能的事务处理引擎
MEMORY 置于内存的表
MERGE 用来管理由多个 MyISAM 表构成的表集合
MyISAM 主要的非事务处理存储引擎
NDB MySQL 集群专用存储引擎

三、MySQL 数据类型

MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

1.数值类型

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 Bytes (-128,127) (0,255) 小整数值
SMALLINT 2 Bytes (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 Bytes (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 Bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 Bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 Bytes (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度
浮点数值
DOUBLE 8 Bytes (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度
浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

2.日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

TIMESTAMP类型有专有的自动更新特性,。

类型 大小
( bytes)
范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59' YYYY-MM-DD hh:mm:ss 混合日期和时间值
TIMESTAMP 4

'1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYY-MM-DD hh:mm:ss 混合日期和时间值,时间戳

3.字符串类型

类型 大小 用途
CHAR 0-255 bytes 定长字符串
VARCHAR 0-65535 bytes 变长字符串
TINYBLOB 0-255 bytes 不超过 255 个字符的二进制字符串
TINYTEXT 0-255 bytes 短文本字符串
BLOB 0-65 535 bytes 二进制形式的长文本数据
TEXT 0-65 535 bytes 长文本数据
MEDIUMBLOB 0-16 777 215 bytes 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215 bytes 中等长度文本数据
LONGBLOB 0-4 294 967 295 bytes 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295 bytes 极大文本数据

四、MySQL 事务

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
事务用来管理 insert,update,delete 语句
一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

1. 原子性

一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

2. 一致性

在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。

3. 隔离性

数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。

4. 持久性

事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

以上是关于各类数据库适配mysql的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL 数据库各类属性说明 (持续更新)

MySQL数据库基础:JSON函数各类操作一文详解

MySQL各类日志文件相关变量介绍

mysql 用一条sql语句取出各类数据的前两N条数据

LiveNVR实现H5视频监控网络直播时前端自动适配

MySQL数据库基础:JSON函数各类操作一文详解