数据类型:
数字:
int # singed有符号,unsigned 无符号
tinyint
smallint
bigint
FLOAT # 不精准
DOUBLE # 从更长的位数开始不精准
decimal(10,5) # 精准(底层原理是字符串) 总位数和小数点后位数
字符串:
char(10) # 会自动填充至10位,查找速度快 10是字符长度
varchar(10) # 节省空间,但是速度慢
定长的列往前放,变长的往后放,比如手机号用char
char和varchar最长都是255
text # 2**16 - 1位
mediumtext # 2**24 - 1位
longtext # 2**32 - 1位
时间类型:
DATE: YYYY-MM-DD
TIME: HH:MM:SS
YEAR: YYYY
DATETIME: YYYY-MM-DD HH:MM:SS # 最常用
TIMESTAMP: YYYYMMDD HHMMSS
枚举类型:
size ENUM('x-small','small','medium','large','x-large') # 数值只能是其中一个
集合类型
col SET('a','b','c','d') # 数值只能是集合中数据的任意组合
二进制类型
TinyBlob, Blob, MediumBlob, LongBlob