day49-数据类型、约束条件
数据类型:
1.整型--默认情况下都是带有符号的, id int(8)…… 如果数字没有超过9位,默认用0填充,如果数字超出8位,有几位存几位
总结:针对整型字段,括号内无需指定宽度,因为它默认的宽度已足够存储
2.浮点型--FLOAT、DOUBLE、DECIMAL,精确度不同 float< double < decimal
3.字符型--
char 定长 char(4): 超过4个字符报错,不够四个字符空格补全
varchar 变长 varchar(4):超过4个字符报错,不够有几个存几个
注:显示的时候MySQL会自动将多余的空格剔除,若不剔除,需以下操作
char:
缺点:浪费空间
优点:存取都很简单,之间按照固定的字符取数据即可
varchar
优点:节省空间
缺点:存取较为麻烦, 解决方案:存数据时增加1bytes的报头说明数据大小
以前基本使用char类型,现在使用varchar多
4.时间类型--
分类: date:年月日 、datetime:年月日时分秒、time:时分秒、year
5.枚举、集合类型
6.约束条件--
1)default 默认值
2)unique 唯一:单列唯一+结合唯一
3)主键:primary key,
a.从约束效果来看,primary key等价于 not null+unique 即非空+唯一
b.除了有约束效果外,还是Innodb 存储引擎组织数据的依据,Innodb存储引擎在创建表时必须要有primary key
因为类似于书的目录,便于提升查询效率,并且是建表的依据
拓展: auto_increment自增(当编号特别多的时候,人为去维护太麻烦
补充:delete from删掉数据后自增信息不会清空
truncate t1 删除数据并充值数据