美文网首页
part8. 高级SQL特性

part8. 高级SQL特性

作者: katelin | 来源:发表于2019-01-07 17:33 被阅读0次

    第22课 高级SQL特性

    约束

    1.约束:管理如何插入或管理数据库数据的规则
    DBMS通过在数据库表上施加约束来实施引用完整性

    1. 主键:
    • 任意两行的主键值都不相同
    • 每行都具有一个主键值,列中不允许NULL值
    • 包含主键值的列从不修改或更新
    • 主键值不能重用
    CREATE TABLE Vendors
    (
        vend_id  CHAR(10)  NOT NULL  PRIMARY KEY,
        vend_name  CHAR(50)  NOT NULL,
    ...
    )
    
    ALTER TABLE Vendors
    ADD CONSTRAINT PRIMARY KEY (vend_id);
    
    1. 外键:
    ALTER TABLE Orders
    ADD CONSTRAINT
    FOREIGN KEY(cust_id) REFERENCES Customers(cust_id);
    
    1. 唯一约束UNIQUE
      表可包含多个唯一约束,唯一约束列可包含NULL值,可修改或更新,可重复使用,不能用来定义外键

    2. 检查约束

    quantity  INTEGER  NOT NULL  CHECK (quantity>0)
    
    ADD CONSTRAINT CHECK (gender LIKE '[MF]')
    

    索引

    CREATE INDEX prod_name_ind
    ON Products (prod_name);
    

    触发器

    CREATE TRIGGER customer_state
    ON Customers
    FOR INSERT, UPDATE
    AS
    UPDATE Customers
    SET cust_state=UPPER(cust_state)
    WHERE Customers.cust_id=inserted.cust_id;
    

    相关文章

      网友评论

          本文标题:part8. 高级SQL特性

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