<返回更多

详细介绍MySQL中约束的用法

2022-02-24    IT知识一享
加入收藏

约束的基本概念

概念:对表中数据进行限定,保证数据的正确性,有效性和完整性

 

约束的分类

  1. 主键约束:primary key
  2. 非空约束:not null
  3. 唯一约束:unique
  4. 外键约束:foreign ke

 

非空约束:not null

  1. 创建表时添加约束
CREATE TABLE stu(
      id INT,
      NAME VARCHAR(20) NOT NULL
    );

2.创建表完后,添加非空约束

ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;

3.删除name的非空约束

ALTER   TABLE stu MODIFY NAME VARCHAR(20);

 

唯一约束:unique

唯一约束是指某一列的值不能重复

注意:唯一约束可以有null值,但是只能有一条记录为null

1.在创建表时,添加唯一约束

CREATE TABLE stu(
  id INT,
  phone_number VARCHAR(20) UNIQUE
);

2.删除唯一约束

Alter table stu drop index phone_number;

3.在表创建完后,添加唯一约束

ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;

 

主键约束:primary key

注意事项:

1.含义:非空且唯一

2.一张表只能有一个字段为主键

3.主键就是表中记录的唯一标识

 

具体用法:

1.在创建表时,添加主键约束

Create table stu(
  Id int primary key,  -- 给id添加主键约束
  Name varchar(20)
);

2.删除主键

ALTER TABLE stu MODIFY Id INT; -- 错误的写法
ALTER TABLE stu DROP PRIMARY KEY; -- 正确的写法

3.创建完表后,添加主键

ALTER TABLE stu MODIFY Id INT PRIMARY KEY;

 

自动增长

概念:

如果某一列是数值类型的,使用aotu_increment 可以来完成值得自动增长。

用法举例:

1. 在创建表时,添加主键约束,并且完成主键自动增长。

Create table stu(
  Id int primary key auto_increment, -- 给id添加主键约束
  Name varchar(20)
);

2.删除自动增长

 ALTER TABLE stu MODIFY id INT ;

3.添加自动增长

ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;

 

外键约束:foreign key

作用:

让表与表产生关系,从而保证数据的正确性。

 

用法举例:

1.在创建表时,可以添加外键

语法:create table 表名(
          ….
          外键列
          Constraint 外键名称 foreign key 外键列名称 references 主表名称(主表列名称)
    );

2.删除外键

 ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

3.创建表之后,添加外键

ALTER  TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称);

 

级联操作

1.添加级联的操作

语法:
-- 添加外键
ALTER  TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称) ON UPDATE CASCADE ON DELETE CASCADE ;

2.分类

1.级联更新:ON UPDATE CASCADE
2.级联删除:ON DELETE CASCADE
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>