数据类型(列类型)
对数据进行统一的分类,更换的利用有限的空间
数据类型分为三大类:数值类型,字符串类型,日期类型
数值型:数值型分为整型和小数型
整型分为5类:
tinyint:迷你整型,用一个字节存储,--256
smallint:小整型,2个字节,--65536
mediumint:中整型,3个字节
int:整型,4个字节
bigint:大整型,8个字节
插入数据只能插入整型,且不能超出范围
数值类型全部都是默认有符号:分正负
有时候需要使用无符号数据:需要给数据类型限定:int unsigned
小数型分为浮点型和定点型
浮点型:小数点浮动,精度有限,而且会丢失精度
定点型:小数点固定,精度固定,不会丢失精度
浮点型是一种精度型数据:超出指定范围后,会丢失精度(四舍五入)
浮点型分为:float:4个字节 范围:7位
double:8位字节 范围:15位
浮动的使用方式:直接float表示没有小数部分;float(M,D):M表示总长度,D表示小数部分长度
定点型:保证整数部分不会被四舍五入,小数部分有可能
create table my_decimal(
d1 decimal(10,2),
f1 float(10,2)
)charset utf8;
时间日期类型
Datetime:时间日期,格式是YYYY-mm-dd HH:ii:ss,
--创建时间日期表
create table my_date(
d1 datetime,
d2 date,
d3 time,
d4 timestamp,
d5 year
)charset utf8;
--timestamp字段:只要当前所在的记录被更新,该字段一定会自动更新
字符串类型
字符串分为6类:char,varchar,text,blob,enum,set
定长字符串:char,在定义结构时就确定了数据的存储长度
char(L):L代表length,可以存储的长度,单位为字符,不是字节,,最大长度为:255
char(4):在UTF8环境下,需要4*3=12个字节
变长字符串:varchar,在分配空间时,按照最大空间分配,但实际上最终用了多少,是根据具体的数据来确定
varchar(L):L表示字符长度 理论长度是65536个字符,但是会多出1到2个字节来确定存储的实际长度
文本字符串:如果数据量非常大,超过255个字符
Text:存储文字
Blob:存储二进制数据
枚举字符串:事先将所有可能出现的结果都设计好,存储的数据必须是规定好的数据