美文网首页
数据库--约束

数据库--约束

作者: 何以解君愁 | 来源:发表于2022-05-25 18:33 被阅读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;
    

    相关文章

      网友评论

          本文标题:数据库--约束

          本文链接:https://www.haomeiwen.com/subject/awkrprtx.html