MySQL中的列约束

  • PRIMARY KEY: 主键约束

    • 语法: 列名 类型 PRIMARY KEY

    • 声明为主键的列上的值是唯一的,不能出现重复值,且不能为空(NULL),表中的记录会自动按照主键列上的值由小到大排序一个表中至多有一个列声明为主键列

  • UNIQUE:唯一约束

    • 语法:列名 类型 UNIQUE;

    • 声明为UNIQUE的列上不允许出现重复值,但可以出现NULL,且可以有多个NULL

  • NOT NULL: 非空约束

    • 语法:列名 类型 NOT NULL

    • 声明为 NOT NULL 的列上不允许出现空值

  • CHECK:检查约束

    • 语法:列名 类型 CHECK(条件)

    • 例如: socre DECIMAL(4,1) CHECK(score<=100 AND score>=0)

    • MySQL默认不支持检查约束

  • FOREIGN KEY :外键约束

    • 语法:列名 类型, FOREIGN KEY(列名) REFERENCES 另一张表(主键列)

    • 声明为外键上的列上出现的值必须在另一个表的主键列上存在!

    • 外键列上的值可以重复、也可以为空——有的项目设计师不喜欢用外键,因为它会降低INSERT/UPDATE语句的执行速度

  • DEFAULT:默认值约束

    • 语法:列名 类型 DEFAULT 值
    CREATE TABLE user(uid INT,sex CHAR(1) DEFAULT '男');
    INSERT INTO user VALUES(1,'男');     #1号用户性别为男
    INSERT INTO user VALUES(2,'女');     #2号用户性别为女
    INSERT INTO user VALUES(3,DEFAULT); #3号用户性别为男
    INSERT INTO user(uid) VALUSE(4);    #4号用户性别为男
    
    • 若某个列上为指定明确的值,将自动使用默认值

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×