- 默认约束 DEFAULT ' ' ;
address VARCHAR(30) DEFAULT'张店'
用户使用默认的值补齐数值,自动补位;
注意
对默认值字段插入null是可以的。
对默认值字段可以插入非null
- 非空约束 NOT NULL
uname VARCHAR(10 ) NOT NULL,
限制 字段 必须填写数值
注意
非空字符必须赋值
非空字符不能赋null
3. 唯一约束 UNIQUE
sername VARCHAR(20) UNIQUE,-- 唯一
添加约束:create table 表名( 列名1 列值1 约束条件,列名2 列值2 unique, ....)
后期追加: alter table 表名 add unique(列名);
对字段的值不能重复只能出现一次
注意
唯一字段可以插入null
唯一字段可以插入多个null
主键 PRIMARY KEY
作用 非空+唯一
PRIMARY KEY 对于每个表通常都会有主键 一般是设为ID字段
自增长
作用 自动递增必须是int类型 ,被删除行不影响后续自增数。
ZEROFILL PRIMARY KEY AUTO_INCREMENT, -- 自增长,从0开始 ZEROFILL 零填充
主键约束(primary key):数据唯一,且不为空。
创建表时直接添加在值后加约束
单一约束:create table 表名( 列名1 列值1 primary key,...);
联合约束:create table 表名(列名1 列值1, 列名2 列值2, .... 列名n 列值n, primary key(列名1,列名2); )
创建表后,补充约束alter table 表名 add primary key(列名1);
删除约束:alter table 表名 drop primary key;
外键
作用 约束两种表的数据
ALTER TABLE 副表明 ADD CONSTRAINT 外键表名_主键表明_fk FOREIGN KEY(deptId) REFERENCES 主键表明(参考字段)
1)被约束的表称为副表,约束别人的表称为主表,外键设置在副表上的!!!
2)主表的参考字段通用为主键!
注意:
1.在从表中添加数据时,外键关联列中存储的数据必须是主表中存在的数据
2.想要删除主表中正在被从表使用的行,必须先在从表删除,再删除主表
主键约束外键
添加数据: 先添加主表,再添加副表
修改数据: 先修改副表,再修改主表
删除数据: 先删除副表,再删除主表