Mysql 表的约束的相关操作

表的约束分为 :  主键约束  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 在表已经创建好的情况下 进行添加约束

  1. 一个没有约束的表
  2. 给表 添加主键约束

  1. 给表添加 唯一约束

 

表的约束分为 :  主键约束  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;

            表名      命令 字段名 字段类型    自动增添命令

外键约束

外键约束、外键约束的相关操作

  1. 首先创建两个表

两张表的类型为InnoDB类型

Alter table 表名 engine =InnoDB;

修改表的类型

 

    1. 班级表 作为主表  字段  id  name  作为外检的字段要为主键约束
    2. 学生表 作为从表   字段  sid  sname gid  gid为外键约束,与class表中的id想联系。   从表student 的gid不能超过主表class的id的值

 

  1. 表的外键约束的添加

向student表中加入外键约束,gid与class表中的id相联系

alter table student add constraint FK_id foreign key (gid) references class  (id);

                                                  外键名          从表字段      主表名 主表字段

Student 表中的  gid  与主表 class表中的id 相互联系

  1. 表中的数据的插入

当你在向student表中插入数据的时候 gid的值不能超过2,

 

在student表中插入的数据 gid 在 主表的id的范围之内允许被插入

  1. 表中的数据的删除

如果在从表中 gid 如果有值,那么主表就不能删除

先将从表中的 外键约束的值删掉,才能讲主表中的外间的值删掉

  1. 表的外键约束的删除

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_42551781/article/details/85385268