非空约束和唯一约束

非空约束:not null

1.创建表时进行约束
指定name不能为空

CREATE TABLE stu(
id int,
name varchar(20) NOT NULL -- name为非空
);

SELECT * FROM stu;

当name设置了非空,如果我们新添加记录的时候没有为name复制就会提示
1364 -Field 'name'doesn't have a default value
image
意思就是:字段名没有默认值

删除name的非空约束

ALTER TABLE stu MODIFY name varchar(20);

image

创建表后添加非空约束

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

image

唯一约束


DROP table stu;
-- 创建表的时候添加唯一约束
CREATE TABLE stu(
id INT,
phone_number VARCHAR(20) UNIQUE -- 添加了唯一约束
);

-- 注意mysql中,唯一约束限定的列的值可以有多个null

-- 删除唯一约束
ALTER TABLE stu MODIFY phone_number VARCHAR(20);

SELECT * FROM stu;

如果添加了唯一约束那么该列就不可以出现重复元素
image

posted @ 2022-07-25 10:12  我滴妈老弟  阅读(98)  评论(0编辑  收藏  举报