表的约束

真正约束字段的是数据类型。

1.null/not null

数据库默认字段均为空,可以在数据类型后面约定 not null。

create table t(id int not null,name varchar(32) not null)

2.default

默认值:某一种数据会经常出现某个具体的值,可以在一开始就指定好,在需要真实数据的时候,用户可以选择性地使用默认值。

数据在插入的时候不给该字段赋值,就使用默认值。

create table t1(name varchar(32) not null,gender char(2) '男');

3.comment

列描述,专门用来描述字段,会根据表创建语句保存,用来给程序员或DBA来进行了解。

注意:通过desc看不到注释的信息,通过show create语句可以看到。

4.zerofill

如果没有zerofill这个属性,int(10)中括号的数字是没有意义的。

alter table tt3 change a a int(5) unsigned zerofill;

5.primary key

用来唯一地约束该字段里的数据,不能重复,不能为空一张表中最多只有一个主键

注意定义:create table t(id int primary key,name varchar(32) primary key)是错误的;

                   create table t(id int,name varchar(32),primary key(id,name));是对的。

6.unique

唯一键。数据不能重复。唯一键允许为空,并且多个为空,空字段不做唯一性比较。

7.auto_increment

系统会从当前字段中已有的最大值+1操作,得到一个新的不同的值。通常和主键搭配使用,作为逻辑主键。

自增长的特点:a.任何一个字段要做自增长,前提是本身是一个索引。b.自增长字段必须是整数。c.一张表最多只能有一个自增长。

8.外键

用于定义主表和从表的关系:外键的约束主要定义在从表上,主表必须是有主键约束或unique约束。当定义外键后,要求外键列数必须在主表的主键列存在或为空。

语法:foreign key(从表中的字段名) references 主表名(列名)  在从表中声明。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值