简介:本文主要介绍MySQL的基本数据类型,以及类型的注意事项
ZEROFILL约束数字类型 定义位数后不够的前面补0
说明:
a. UNSIGNED 无符号位: 正数
b. ZEROFILL :当数值长度小于指定长度用0 填补,添加ZEROFILL字段属性会自动添加UNSIGNED
(1) TINYINT[(M)] [UNSIGNED无符号位|ZEROFILL]
范围:
有符号位:-128~127
无符号位:0~255
大小: 1字节 (1Byte=2^8 =8bit)
(2) SMALLINT[(M)] [UNSIGNED无符号位|ZEROFILL]
范围:
有符号位:-32768~32767
无符号位:0~65535
大小: 2字节 (2Byte=2^16)
(3) MEDIUMINT[(M)] [UNSIGNED无符号位|ZEROFILL]
范围:
有符号位:-8388608~8388607
无符号位:0~16777215
大小: 3字节 (3Byte=2^24)
(4) INT[(M)] [UNSIGNED无符号位|ZEROFILL]
范围:
有符号位:-2147483648 ~2147483647
无符号位:0~4294967295
大小: 4字节 (4Byte=2^32)
(5)BIGINT[(M)] [UNSIGNED无符号位|ZEROFILL]
大小: 8字节(2^64)
FLOAT[(M[,D])] [UNSIGNED无符号位|ZEROFILL]
范围: -3.4E38 ~3.4E38 最大能保留小数点7位
DOUBLE[M[,D]] [UNSIGNED无符号位|ZEROFILL]
范围: -1.79E308 ~ 1.79E308 最大能保留小数点15位
DECIMAL[M[,D]] [UNSIGNED无符号位|ZEROFILL]
定长类型浮点 最大整数位65位(默认10位),
最大小数位30(默认值0)
说明:
a.M 整数部分和小数部分总共位数
D 小数部分的位数
例如: float(7,2) unsigned 0 ~ 99999.99
b. FLOAT,DOUBLE存近似值,DECIMAL精确值
(1) CHAR([M]):定长字符
范围: 最多255字节(1个字母占一个字节)
例如:CHAR(20) 要存'hello',用空格补全长度内存实际存'hello'
(2) VARCHAR([M]):变长字符
范围:最多65535字节
例如:VARCHAR(20) 要存'hello'内存实际存'hello'
(3) TINYTEXT:最多 255字节
(4) TEXT:最多65535字节
(5) MEDIUMTEXT:16777215字节
(6) LONGTEXT:4294967295字节
说明:
a.CHAR 效率高但不省空间,VARCHAR效率低但省空间,例如加密定长密码字段存为 CHAR(32)
b. 字符型授下面的影响
(1) 最多65535字节
(2) 编码
gbk,gb2312:一个字最多占2个字节
utf8:一个字最多占3个字节,
最大值 21844字节
(3) 表中总字符字段不能超过65535字节
c. TEXT 效率最低 ,一般新闻内容用TEXT类型
(1) DATE: 占4个字节 YYYY MM DD
(2) TIME: 占3 个字节 HH MM DD
(3) YEAR: 占 1个字节 YYYY
(4) DATETIME: 占8个字节 YYYY MM DD HH MM DD
(5) TIMESTAMP:占4个字节 时间戳:1970-1-1 00-00-00 --2037-1-1
有遗漏或者不对的可以在我的公众号留言哦