数据库基础回顾-约束

 1、非空约束:not null,某一列的值不能为空

CREATE TABLE stu(
    id INT,
    NAME VARCHAR(20) NOT NULL -- name 为非空
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 删除name 的非空约束
ALTER TABLE stu MODIFY NAME VARCHAR(20);

-- 创建表之后 ,添加非空约束
ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;

SELECT * FROM stu;

2.唯一约束:unique,约束某一列的值不能重复

-- 创建表时,条件唯一约束
CREATE TABLE stu(
    id INT,
    phone_number VARCHAR(20) UNIQUE -- 手机号
)ENGINE = INNODB DEFAULT CHARSET = utf8;

-- 添加表完成之后,添加唯一约束 ,如果表里数据有重复项,需要删除之后再操作
ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;
-- 删除唯一约束
ALTER TABLE stu  DROP INDEX phone_number;

SELECT * FROM stu;

3.主键约束:primary key

  * 1、含义:非空且唯一

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

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

CREATE TABLE stu(
    id INT PRIMARY KEY,-- 给ID添加主键,
    NAME VARCHAR(20) 
)ENGINE = INNODB DEFAULT CHARSET = utf8;

-- 添加表完成之后,添加唯一约束
ALTER TABLE stu MODIFY id INT PRIMARY KEY;
-- 删除唯一约束
ALTER TABLE stu  DROP PRIMARY KEY;

SELECT * FROM stu;

4.外键:foreign key ,让表与表产生联系,保证数据的正确性

-- 在创建表时,添加外键

CREATE TABLE 表名(
....
外键列
constraint 外键名称 foreign key(外键列名称) reference 主表名称(主表列名称)    
);

-- 删除外键 
alter table 表名 drop foreign key 外键名称

-- 创建表之后 添加外键,设置级联更新,级联删除
alter table 表名 add constraint 外键名称 foreign key(外键字段名称) reference 主表名称(主表列名称)on update cascade on delete cascade;

猜你喜欢

转载自www.cnblogs.com/woaiacfun/p/12960826.html