mysql 的数据类型

mysql 的数据类型主要包括以下五大类:
(1)整数类型;
(2)浮点数类型;
(3)字符串类型;
(4)日期时间类型;
(5)其他数据类型。

1、整数类型

关键字字节大小
TINYINT1个字节 范围(-128~127)
SMALLINT2个字节 范围(-32768~32767)
MEDIUMINT3个字节 范围(-8388608~8388607)
INT4个字节 范围(-2147483648~2147483647)
BIGINT8个字节 范围(±9.22*10的18次方)

取值范围如果加了 unsigned,则最大值翻倍,如 tinyint unsigned 的取值范围为 (0~256)。

2、浮点数类型

浮点型在数据库中存放的是近似值:

关键字字节大小
FLOAT(n,m)单精度浮点型 8位精度(4字节),n 代表长度,m 代表小数点后位数
DOUBLE(n,m)双精度浮点型 16位精度(8字节),n 代表长度,m 代表小数点后位数
DECIMAL(n,m)金额等数据时必须使用 decimal。

3、字符串类型

关键字描述
char(m)定长字符串,最多255个字符
varchar(m)可变长字符串,字节长度m,最多65535个字符
text大对象,字符,文本,字节长度Max:64K,大小写不敏感
tinytext可变长度,最多255个字符
mediumtext可变长度,最多2的24次方-1个字符
longtext可变长度,最多2的32次方-1个字符

char 和 varchar:
1、char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
2、char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
3、char 类型的字符串检索速度要比 varchar 类型的快。

varchar 和 text:
1、varchar 可指定 n,text 不能指定,内部存储 varchar 是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。
2、text 类型不能有默认值。
3、varchar 可直接创建索引,text 创建索引要指定前多少个字符。varchar 查询速度快于 text,在都创建索引的情况下,text 的索引似乎不起作用。

4、日期时间类型

关键字描述
date字节长度3,日期以 YYYY-MM-DD 的格式显示,比如:2009-07-19
time字节长度3,时间以 HH:MM:SS 的格式显示,比如:11:22:30
datetime字节长度8,日期时间以 YYYY-MM-DD HH:MM:SS 的格式显示,比如:2009-07-19 11:22:30
timestamp字节长度4,时间戳,自动存储记录修改时间
year字节长度1,年以 YYYY 的格式显示。比如:2009

5、其他数据类型

BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等。

关键字描述
enum枚举,字节长度1或2,最大可达65535个不同的枚举值
set集合,字节长度可达8,最大可达64个不同的值
binary(m)定长二进制,字节长度m,类似 Char 的二进制存储,特点是插入定长不足补0
varbinary(m)可变长二进制,字节长度m,类似 VarChar 的变长二进制存储,特点是定长不补0
blob二进制,字节长度Max:64K,大小写敏感

6、数据类型的属性

MySQL关键字含义
NULL数据列可包含NULL值
NOT NULL数据列不允许包含NULL值
DEFAULT默认值
PRIMARY KEY主键
AUTO_INCREMENT自动递增,适用于整数类型
UNSIGNED无符号
CHARACTER SET name指定一个字符集
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值