【数据库】表的约束(⾃增长,主键,唯⼀键,外键,zerofill,,列描述,默认
值,空属性)
⽂章⽬录
真正约束字段的是数据类型,但是数据类型约束很单⼀,需要⼀些额外的约束,更好的保证数据的合法性,从业务逻辑⾓度保证数据的正确性。⽐如有⼀个字段是email,要求是唯⼀的。
表的约束很多,这⾥主要介绍如下⼏个:
null/not null,default,comment,zerofill,primary key,auto_increment,unique key。
1.空属性
两个值 :null(默认的)和not null(不为空)
数据库默认字段基本都是字段为空,但是实际开发时,尽量保证字段不为空,因为数据为空没法参与运算。
创建⼀个班级表,包含班级名和班级所在的教室,如果班级没有名字,你不知道你在哪个班级;如果教
室名字可以为空,就不知道在哪上课。
2.默认值
默认值:某⼀种数据会经常性的出现某个具体的值,可以在⼀开始就指定好,在需要真是数据的时候,⽤户可以选择性的使⽤默认值。
3.列描述
列描述: comment,没有实际的含义,只是⽤来描述字段,会根据表创建语句保存,⽤来给程序员或DBA来进⾏了解。
创建唯一约束sql语句
其实,有时候对数字类型后⾯的长度很迷茫,我们先通过show看⼀看tt3的建表语句:
可以看出数据库内部存储的还是1,00001只是设置了zerofill属性后的⼀种格式化输出⽽已。
5.主键:primary key
主键: primary key⽤来唯⼀的约束该字段⾥⾯的数据,不能重复,不能为空,⼀张表中最多只能有⼀个主键;主键所在的列通常是整数类型。
案例:
1. 创建表的时候直接在字段上指定主键
2. 在创建表的时候,在所有字段之后,使⽤primary key(主键字段列表)来创建主键,如果有多个字段作为主键,可以使⽤符合
主键。
3. 当表创建好后,可以再次追加主键。
alter table 表名 add primary key(字段列表);
主键约束: 主键对应的字段不能重复,⼀旦重复,操作失败。
删除主键:
alter table 表名 drop primary key;
6. ⾃增长:auto_increment
**auto_increment:**当对应的字段,不给值,会⾃动的被系统触发,系统会从当前字段中已经有的最⼤值+1操作,得到⼀个新的不同值,通常和主键搭配使⽤,作为逻辑主键。
⾃增长的特点:
- 任何⼀个字段要做⾃增长,前提是本⾝是⼀个索引(key⼀栏有值)
- ⾃增长字段必须是整数
- ⼀张表最多只能有⼀个⾃增长。
案例:
索引:
在关系数据库中,索引是⼀种单独的、物理的对数据库表中⼀列或多列的值进⾏排序的⼀种存储结构,它是某个表中⼀列或若⼲列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作⽤相当于图书的⽬录,可以根据⽬录中的页码快速到所需的内容。
索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使⽤索引 以到特定值,然后顺指针到包含该值的⾏。这样可以使对应于表的SQL语句执⾏得更快,可快速访问数据库表 中的特定信息。
7.唯⼀键:unique

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。