zoukankan      html  css  js  c++  java
  • SQL笔记-第六章,索引与约束

    一.索引

    CREATE INDEX 索引名 ON 表名(字段1, 字段2,……字段n)

    CREATE INDEX idx_person_nameage ON T_Person(FName,FAge)

    DROP INDEX 索引名ON 表名

    DROP INDEX idx_person_nameage ON T_Person;

    二.约束

    数据库系统中主要提供了如下几种约束:

    非空约束;唯一约束; CHECK 约束;主键约束;外键约束

    1.非空约束

    CREATE TABLE T_Person

    (FNumber VARCHAR(20) NOT NULL ,

    FName VARCHAR(20),

    FAge INT)

    2.唯一约束

    CREATE TABLE T_Person (FNumber VARCHAR(20) UNIQUE, FName VARCHAR(20),FAge INT)

    复合唯一约束

    CONSTRAINT 约束名UNIQUE(字段1,字段2……字段n)

    CREATE TABLE T_Person (FNumber VARCHAR(20),
    FDepartmentNumber VARCHAR(20),
    FName VARCHAR(20),FAge INT,
    CONSTRAINT unic_1 UNIQUE(FNumber,FDepartmentNumber) ,
    CONSTRAINT unic_2 UNIQUE(FDepartmentNumber, FName))

    ALTER TABLE T_Person DROP CONSTRAINT unic_1;
    ALTER TABLE T_Person DROP CONSTRAINT unic_2;
    ALTER TABLE T_Person DROP CONSTRAINT unic_3;

    3.CHECK约束

    CREATE TABLE T_Person (
    FNumber VARCHAR(20),
    FName VARCHAR(20),
    FAge INT CHECK(FAge >0),
    FWorkYear INT CHECK(FWorkYear>0))

    ALTER TABLE T_Person
    ADD CONSTRAINT ck_2 CHECK(FAge>14)

    4.主键约束

    在字段定义后添加 PRIMARY KEY 关键字即可

    追加

    ALTER TABLE T_Person
    ADD CONSTRAINT pk_1 PRIMARY KEY(FNumber,FName)

     外键约束

    CREATE TABLE T_AUTHOR
    (
    FId VARCHAR(20) PRIMARY KEY,
    FName VARCHAR(100),
    FAge INT,
    FEmail VARCHAR(20)
    );
    CREATE TABLE T_Book
    (
    FId VARCHAR(20) PRIMARY KEY,
    FName VARCHAR(100),
    FPageCount INT,
    FAuthorId VARCHAR(20) ,
    FOREIGN KEY (FAuthorId) REFERENCES T_AUTHOR(FId)
    );

    删除

    DELETE FROM T_Book WHERE FAuthorId =5;

    DELETE FROM T_AUTHOR WHERE FName=’badboy’

    追加

    ALTER TABLE T_Book
    ADD CONSTRAINT fk_book_author
    FOREIGN KEY (FAuthorId) REFERENCES T_AUTHOR(FId)

  • 相关阅读:
    Trie图
    Bestcoder Round#45
    Codeforces Round#308
    bestcoder44#1002
    LCA最近公共祖先 Tarjan离线算法
    HYSBZ 1269文本编辑器 splay
    NOI2005维修数列 splay
    hdu3487 伸展树(区间搬移 区间旋转)
    poj3580 伸展树(区间翻转 区间搬移 删除结点 加入结点 成段更新)
    hdu1890 伸展树(区间反转)
  • 原文地址:https://www.cnblogs.com/xieqianli/p/4245470.html
Copyright © 2011-2022 走看看