-- not null 非空约束
-- 只能能用列级约束不能用表级约束
CREATE DATABASE q;
use q;
-- 在 CREATE TABLE 时添加约束
CREATE TABLE test1(
id int not null,
last_name VARCHAR(15) not null,
email VARCHAR(25),
salary int
);
desc test1;
insert into test1
(id,last_name,email,salary)
values
(null,'nb','nb@163.com',6000)
SELECT * from test1
UPDATE test1
set email=null
where id=1;
UPDATE test1
set salary=6000
where id=1;
-- 在 ALTER TABLE 时添加约束
ALTER TABLE test1
MODIFY email VARCHAR(25) not null
desc test1;
-- 在 ALTER TABLE 时删除约束
ALTER TABLE test1
MODIFY last_name VARCHAR(10) null
-- UNIQUE 唯一性约束
-- 在 CREATE TABLE 时添加约束
CREATE TABLE b3(
id int UNIQUE,#列级约束
last_name VARCHAR(25),
email VARCHAR(25),
salary int,
-- 表级约束
CONSTRAINT uk_b2_email UNIQUE(email)
);
desc b3
SELECT * from b2
SELECT * from b3
insert into b3
(id,last_name,email,salary)
values
(1,'sam','sam@163.com',8000)
-- 在 ALTER TABLE 时添加约束
-- 方式1
DESC b3;
ALTER TABLE b3
add CONSTRAINT uk_b3_sal UNIQUE(salary)
-- 方式2
ALTER TABLE b3
MODIFY last_name VARCHAR