MySQL的数据类型
字符串
- char表示字符串,但是varchar的长度是可变的 查找效率高
- char的长度是不可变的,容易浪费空间。比如char(20),你只输入了十个字符,剩下的十个用空格表示 查找效率低
大数据类型:
- blob:字节(存放电影,mp3)二进制文件
- text:字符(存放文本)
数值类型:
- tinyint:一个字节,存储范围:0~255
- smallint:两个字节,存储范围:0~65535
- int:四个字节,存储范围:0~4294967296
- bigint:八个字节,存储范围:有点大。。。
- float:四个字节,八位精度。后面可以跟(M,D),M表示值的总长度,D表示小数点后面的长度,不指定精度,会按照实际精度显示
- double:八个字节,十六位精度。后面可以跟(M,D),M表示值的总长度,D表示小数点后面的长度,不指定精度,会按照实际精度显示
- decimal:后面可以跟(M,D),M表示值的总长度,D表示小数点后面的长度,不指定精度,整数为10,小数点后为0
指定(4,2),存入1.245,都会四舍五入显示
默认,不设置(M,D),float八位精度,double十六位精度,decimal(10,0)
当计算精确值的时候,float和double都不精确,只有decimal才最精确
布尔类型:
- bit 只能存储0和1,一般用来表示布尔类型
时间类型:
- time:包含时分秒
- date:包含年月日
- datetime:包含年月日时分秒,当你传入空值,字段的值就是空值
- timestamp:包含年月日时分秒,当你传入空值,字段就是当前系统时间的值