表的约束分为 : 主键约束 primary key
唯一约束 unique
非空约束 not null
默认约束 default
外键约束
约束的增添与删除:
主键约束:
添加:1. ALTER TABLE t_user MODIFY user_id INT(10) PRIMARY KEY;
2.ALTER TABLE t_user CHANGE user_id user_id INT(10) PRIMARY KEY;
3. ALTER TABLE t_user ADD PRIMARY KEY(user_id);
删除: ALTER TABLE t_user DROP PRIMARY KEY;
注:主键约束相当于(唯一约束+非空约束)
一张表中最多有一个主键约束,如果设置多个主键,就会出现如下提示:
Multiple primary key defined!!!
删除主键约束前,如果有自增长需要先删除自增长,如果不删除自增长就无法删除主键约束
唯一约束:
添加:1. ALTER TABLE t_user MODIFY user_id INT(10) UNIQUE;
2. ALTER TABLE t_user CHANGE user_id user_id INT(10) UNIQUE;
3. ALTER TABLE t_user ADD UNIQUE(user_id);
删除:
ALTER TABLE t_user DROP INDEX user_id;
注:唯一但是可以为空(空和空不相等)
非空约束:
添加:
ALTER TABLE t_user MODIFY user_id INT(10) NOT NULL;
ALTER TABLE t_user CHANGE user_id user_id INT(10) NOT NULL;
删除:
1)ALTER TABLE t_user MODIFY user_id INT(10);
2)ALTER TABLE t_user CHANGE user_id user_id INT(10);
默认约束:
添加:
ALTER TABLE t_user MODIFY user_id INT(10) DEFAULT 2;
ALTER TABLE t_user CHANGE user_id user_id INT(10) DEFAULT 2;
删除:
ALTER TABLE t_user MODIFY user_id INT(10);
ALTER TABLE t_user CHANGE user_id user_id INT(10);
约束的相关操作
1 创建表的时候创建约束
2 在表已经创建好的情况下 进行添加约束
- 一个没有约束的表
- 给表 添加主键约束
- 给表添加 唯一约束
表的约束分为 : 主键约束 primary key
唯一约束 unique
非空约束 not null
默认约束 default
约束的增添与删除:
主键约束:
添加:1. ALTER TABLE t_user MODIFY user_id INT(10) PRIMARY KEY;
2.ALTER TABLE t_user CHANGE user_id user_id INT(10) PRIMARY KEY;
3. ALTER TABLE t_user ADD PRIMARY KEY(user_id);
删除: ALTER TABLE t_user DROP PRIMARY KEY;
注:主键约束相当于(唯一约束+非空约束)
一张表中最多有一个主键约束,如果设置多个主键,就会出现如下提示:
Multiple primary key defined!!!
删除主键约束前,如果有自增长需要先删除自增长,如果不删除自增长就无法删除主键约束
唯一约束:
添加:1. ALTER TABLE t_user MODIFY user_id INT(10) UNIQUE;
2. ALTER TABLE t_user CHANGE user_id user_id INT(10) UNIQUE;
3. ALTER TABLE t_user ADD UNIQUE(user_id);
删除:
ALTER TABLE t_user DROP INDEX user_id;
注:唯一但是可以为空(空和空不相等)
非空约束:
添加:
ALTER TABLE t_user MODIFY user_id INT(10) NOT NULL;
ALTER TABLE t_user CHANGE user_id user_id INT(10) NOT NULL;
删除:
1)ALTER TABLE t_user MODIFY user_id INT(10);
2)ALTER TABLE t_user CHANGE user_id user_id INT(10);
默认约束:
添加:
ALTER TABLE t_user MODIFY user_id INT(10) DEFAULT 2;
ALTER TABLE t_user CHANGE user_id user_id INT(10) DEFAULT 2;
删除:
ALTER TABLE t_user MODIFY user_id INT(10);
ALTER TABLE t_user CHANGE user_id user_id INT(10);
在表创建之后对表进行添加约束的时候
Alter table 表名 add 约束类型(字段名)
字段值自动增加(只能给整形int添加)
命令:alter table four_lianxi modify id int auto_increment;
表名 命令 字段名 字段类型 自动增添命令
外键约束
外键约束、外键约束的相关操作
- 首先创建两个表
两张表的类型为InnoDB类型
Alter table 表名 engine =InnoDB;
修改表的类型
-
- 班级表 作为主表 字段 id name 作为外检的字段要为主键约束
- 学生表 作为从表 字段 sid sname gid gid为外键约束,与class表中的id想联系。 从表student 的gid不能超过主表class的id的值
- 表的外键约束的添加
向student表中加入外键约束,gid与class表中的id相联系
alter table student add constraint FK_id foreign key (gid) references class (id);
外键名 从表字段 主表名 主表字段
Student 表中的 gid 与主表 class表中的id 相互联系
- 表中的数据的插入
当你在向student表中插入数据的时候 gid的值不能超过2,
在student表中插入的数据 gid 在 主表的id的范围之内允许被插入
- 表中的数据的删除
如果在从表中 gid 如果有值,那么主表就不能删除
先将从表中的 外键约束的值删掉,才能讲主表中的外间的值删掉
- 表的外键约束的删除