mysql数据类型
1. mysql数据类型有:
整数类型、小数类型、字符串类型、日期类型、复合类型、二进制类型
2. 整数类型
(1)tinyint :1字节 -128~127, unsigned (0,255)
(2)smallint :2字节 16位 (0,65535)
(3)mediumint: 3字节 24位 (0,1600多万)
(4)int :4字节 32位
int(m) 表示select查询结果集中的显示宽度,并不影响实际的取值范围 ,加 zerofill
eg. create table grade(g1 int, g2 int(8), g3 int(8) zerofill);
(5)bigint: 8字节 64位
3. 小数类型
(1)精确小数类型(定点数类型)
decimal 用于表示精度确定的小数类型,默认整数位为10,小数位为0
decimal(8,4) -9999,9999 9999.9999
默认以字符串形式存储,精度比float高
(2)浮点小数型
float:
float(M,D)
M 精度 总位数,不包含小数点和负号
D 小数位 默认2位
eg. float(4,2) 范围(-99.99,99.99)
整数部分不能超过M-D
小数部分实际长度超过指定的D,将四舍五入
小数设置为2位,输入是3位,就会四舍五入:81.237 变为 81.24
整数部分设置为:4-2=2位,当输入3位时,就会报错
4. 字符串类型:输入时双引号或单引号括起来
(1)Char(定长字符串类型):效率是最高的,Char(M) 0<=M<=255,M表示字符的个数
(2)varchar(变长字符串类型):0<=M<=65535
(3)text 文本类型:tinytext text mediumtext longtext
5. 日期类型
(1)date类型:表示日期,默认YYYY-MM-DD
(2)time类型:表示时间 格式HH:ii:ss
(3)year类型:表示年份
(4)datatime :日期时间 YYYY-MM-DD HH:ii:ss 8bit 取值范围更大
(5)datastamp:时间戳 YYYY-MM-DD HH:ii:ss 4bit 实际上是Mysql服务类型当前的日期和时间 不同的时区,显示的结果不同
6. 复合类型
(1)enum类型 枚举类型
格式 :属性名 enum('值1‘,’值2‘,’值3‘...)
最多可以包含65535个元素
(2)set类型
格式: 属性名 set('值1‘,’值2‘,’值3‘...)
最多可以包含64个字符
可以存储一系列属性
7. 二进制类型:主要存储有0和1组成的字符串
binary
varbinary
bit
blob