程序员大数据 爬虫Python AI Sql

MySQL数据类型

2017-02-07  本文已影响101人  BigfaceMonster

MySQL学习笔记(2)

mysql支持的数据类型

mysql数值类型

数值类型 字节
TINYINT 1
SMALLINT 2
MEDIUMINT 3
INT、INTEGER 4
BIGINT 8
FLOAT 4
DOUBLE 8
DEC(M,D) M+2
DECIMAL(M,D) M+2
BIT(M) 1~8

关于每个类型的详细信息可以通过 ? int命令自行查询

日期时间类型

数据类型 字节 零值表示 常用
DATE 4 0000-00-00 1
DATETIME 8 0000-00-00 00:00:00 1
TIMESTAMP 4 00000000000000 0
TIME 3 00:00:00 1
YEAR 1 0000 0

mysql会给表中的第一个timestamp类型自动创建默认值CURRENT_TIMESTAMP,如有第二个则默认值为0。timestamp还有一个重要特点是和时区相关,插入或取出日期时都会先转换为本地时区。并且timestamp不适合用来存放久远日期,最大值为2038年某一天。

日期类型的插入格式

字符串类型

字符串类型 字节 描述及存储需求
CHAR(M) M M为0~255之间的整数
VARCHAR(M) M为0~65535之间整数,值的长度+1个字节
TINYBLOB 允许长度0~255字节,值得长度+1个字节
BLOB 0~65535字节,值得长度+2个字节
MEDIUMBLOB 0~167772150字节,+3
LONGBLOB 0~4294967295,+4
TINYTEXT 0~255,+2
TEXT 0~65535,+2
MEDIUMTEXT 0~167772150,+3
LONGTEXT 0~4294967295,+4
VARBINARY(M) 0~M变长字节字符串,+1
BINARY(M) 0~M定长

ENUM类型

枚举类型的值需要在创建表时通过枚举方式显示指定,1255用1字节存储,25565535用2个。最多65535个成员,一次只能选取一个成员。enum类型忽略大小写对于插入不在ENUM指定范围内的值时,插入了所指定范围的第一个值

SET类型

字符串对象,可包含0~64个成员,根据成员不同,存储上也有不同。

set可一次性选取多个成员,对超出允许范围的值不允许注入,而对于包含重复成员的集合将只取一次。

[Github传送门][1]
[1]: https://github.com/Melody12ab/db_mysql_note

上一篇下一篇

猜你喜欢

热点阅读