数据库--约束

2022-05-25  本文已影响0人  何以解君愁

约束是作用于表中列上的规则,用于限制加入表的数据,它的存在保证了数据库的正确性、有效性、完整性

约束的分类:
    非空约束:保证列中的所有数据不能有null值               NOT NULL
    唯一约束:保证列中的所有数据各不相同                   UNIQUE
    主键约束:逐渐是一行数据的唯一标识,要求非空且唯一      PRIMARY KEY(非空且唯一)
    检查约束:保证列中的值满足某一条件                   CHECK (MySQL不支持检查约束)
    默认约束:保存数据时,未指定值则采取默认值          DEFAULT
    外键约束:外键用于让两表建立链接,保证数据一致性、完整性 FOREIGN KEY
(主键自增长时,不添加或者添加NULL上面数据递增)
DROP TABLE IF EXISTS emp;

CREATE TABLE emp(
    id INT PRIMARY KEY auto_increment,                              -- 员工id,主键自增长
    ename VARCHAR(50) NOT NULL UNIQUE,              -- 员工姓名,非空且唯一
    joindate DATE NOT NULL,                     -- 入职日期,非空
    salary DOUBLE(7,2) NOT NULL,                    -- 工资,非空
    bonus DOUBLE(7,2) DEFAULT 0                 -- 奖金,默认0
);


INSERT INTO 
emp(id,ename,joindate,salary,bonus) 
VALUES 
(1,'关银屏','195-11-4',10000,20000);

INSERT INTO 
emp(ename,joindate,salary,bonus) 
VALUES 
('张星彩','195-11-4',10600,20600);

INSERT INTO 
emp(id,ename,joindate,salary,bonus) 
VALUES 
(NULL,'黄月英','195-11-4',10200,20800);

SELECT id,ename,joindate,salary,bonus FROM emp;
非空约束:
建完表后添加:
ALTER TABLE emp MODIFY id INT NOT NULL;
删除约束:
ALTER TABLE emp MODIFY id INT;

唯一约束:
建完表后添加:
ALTER TABLE emp MODIFY id INT UNIQUE;
删除约束:
ALTER TABLE emp DROP INDEX id;

主键约束:
建完表后添加:
ALTER TABLE emp ADD PRIMARY KEY;
删除约束:
ALTER TABLE emp DROP PRIMARY KEY;

默认约束:
建完表后添加:
ALTER TABLE emp ALTER id SET DEFAULT 0;
删除约束:
ALTER TABLE emp ALTER id DROP DEFAULT;
上一篇 下一篇

猜你喜欢

热点阅读