MySQL中常用的数据类型
在写sql语句的时候,数据类型是避不可少的一个环节,以下是我在学习的过程中总结的数据类型,仅供参考:
- 数值类型
类型
有符号(signed)范围
无符号(unsigned)范围
描述
tinyint
(-128,127)
(0,255)
小整数值
smallint
(-32768,32767)
(0,65535)
大整数值
mediumint
(-8388608,8388607)
(0,16777215)
大整数值
int 或 integer
(-2147483648,2147483647)
(0,4294967295)
大整数值
bigint
(-2^63,2^63-1)
(0,2^64-1)
极大整数值
float
(-3.402823466 E+38,3.402823466351 E+38)
0 和 (1.175494351 E-38,3.402823466 E+38)
单精度浮点数值
double
(-1.7976931348623157 E+308,1.7976931348623157 E+308)
0 和 (2.2250738585072014 E-308,1.7976931348623157 E+308)
双精度浮点数值
decimal
依赖于M(精度)和D(标度)的值
依赖于M(精度)和D(标度)的值
小数值(精确定点值)
在上表可以看到每一个类型都是有自己相对应的范围,大于某个数值之后不能再使用原类型了,需注意类型的范围。
- 字符串类型
类型
描述
char
定长字符串
varchar
变长字符串
tinyblob
不超过255个字符的二进制数据
tinytext
段文本字符串
blob
二进制数据的长文本数据
text
长文本数据
mediumblob
二进制形式的中等长度文本数据
mediumtext
中等长度文本数据
longblob
二进制形式的极大文本数据
longtext
极大文本数据
字符串类型中char与varchar使用频率最高,它们的区别在于是否为定长字符串,在描述某一确定值时,比如身份证号码,在我国身份证号为18为,即使用char,比如姓名,字符长度不一,使用varchar。二进制文本现在使用频率已经大大降低,可以不做硬性要求。
- 日期时间类型
类型
范围
格式
描述
date
1000-01-01至9999-12-31
yyyy-mm-dd
日期值
time
-838:59:59至838:59:59
hh:mm:ss
时间值或持续时间
year
1901至2155
yyyy
年份值
datetime
1000-01-01 00:00:00至9999-12-31 23:59:59
yyyy-mm-dd hh:mm:ss
混合日期和时间值
timestamp
1970-01-01 00:00:01至2038-01-19 03:14:07
yyyy-mm-dd hh:mm:ss
混合日期和时间值,时间戳
在日期时间类型中特别注意year的范围是1901-2155,超出范围就需使用date。
数据类型至关重要,不容忽视。
以上是 MySQL中常用的数据类型 的全部内容, 来源链接: utcz.com/z/536386.html