文章目录
一、约束的基本概念
1.非空约束
如果在创建表的时候在创建字段的时候在后面加 not null,那就是在插入数据的时候这个字段不能省略,这个myclass中,如果insert into myclass (class_room)values ('一班');会报错
2.default默认值约束
如果后面带了default ,插入数据不带上这个字段名的话就会默认是你给的那个值。
注意:如果非空约束和default一般不一起写,因为你不写default,mysqld会自动在你的表结构加上,一般是default NULL,但不是真正意义的default,就是用来站位的,因为你加了not nulll约束的话,不显示写字段名的话也会报错,错误详细是没有默认值default,所以最终的结论是如果不能为空的字段就应该在插入的时候显式地写出来,而且我们一般都会默认全表插入。
3.zerofill
就是你是int类型的字段,你如果显示在创表时的命令如上图,就会显示在创表时mysqld做优化后实际的SQL语句,你会发现是int(10),如果在字段创建时加了zerofill时你插入的数据比如a插入1,它显示就会是0000000001,表示的意思就是1,只是他显示的长度为int后面的长度,当然你也可以显示给值,int(4)等多少就行,如果大于你给的长度那就正常显示数据,如果小于,就会在前面补零。
4.主键约束
简单来讲就是在字段后面加了这个的话,插入多个数据时,这个字段的数据就不能重复,重复会报错,一个表只有能有一个主键但可以是多个字段有主键约束,在后面创建表时最后这样写 primary key('字段名','字段名');
建议去自己去敲一下SQL命令,实践能更好记住




