现在的位置: 首页 > 综合 > 正文

MySQL数据类型和数据类型的属性

2018年02月19日 ⁄ 综合 ⁄ 共 1109字 ⁄ 字号 评论关闭
文章目录

MySQL数据类型:

整型:
tinyint(m) 1个字节(-128-127)
smallint(m) 2个字节(-32768-32767)
mediumint(m) 3个字节(-8388608-8388607)
int(m) 4个字节(-2147483648-2147483647)
bigint(m) 8个字节(+-9.22*10^18)
(m表示显示的位数,不足在前面补零,超出则按实际显示)

浮点型:
float(m,d) 8位精度(4字节),m 是十进制数字的总个数,d是小数点后面的数字个数
double(m,d) 16位精度(8字节)
(参数m只影响显示效果,不影响精度,d影响精度)

定点数:
decimal(m,d) 浮点型在数据库中存放的是近似值,而定点型存放的是精确值。参数m是定点类型数字的最大个数(精度),范围为0-65,d为小数点右侧数字的个数,范围为0-30,但不得超过m。对定点数的计算能精确到65为数字

字符串:
char(n) 固定长度的字符串,最多255个字符(n表示显示的位数,不足在前面补空格,超出则按实际显示)
varchar(n) 固定长度的字符串,最多65535个字符(n表示分配的字符长度)
tinytext 可变长度字符串,最多255个字符
text 可变长度字符串,最多65535个字符
mediumtext 可变长度字符串,最多2^24-1个字符
longtext 可变长度字符串,最多2^32-1个字符

二进制数据:
xxxBlob和xxxtext是对应的,不过存储方式不同,xxxtext是以文本方式存储的,如果存储英文的话区分大小写,而xxxBlob是以二进制方式存储的,不区分大小写。xxxBlob存储的数据只能整体读出。xxxtext可以指定字符集,xxxBlob不用指定字符集。

日期时间类型:
date 日期'2008-12-2'
time 时间'12:25:36'
datetime 日期时间'2008-12-2 12:25:36'
timestamp 不固定
(timestamp比较特殊,如果定义一个字段的类型为timestamp,这个字段的时间会在其他字段修改的时候自动更新。所以这个数据类型的字段可以存放这条记录最后被修改的时间,而不是真正来的存放时间)

数据类型的属性:

NULL 数据列可包含NULL值
NOT NULL 数据列不允许包含NULL值
DEFAULT xxx 默认值,如果插入记录的时候没有指定值,将取这个默认值
PRIMARY KEY 主键(默认不能为NULL)
AUTO_INCREMENT 递增,如果插入记录的时候没有指定值,则在上一条记录的值上加1,仅适用于整数类型
UNSIGNED 无符号
CHARACTER SET name 指定一个字符集

抱歉!评论已关闭.