美文网首页mysqlMySQL数据库
MySql数据库·字段基本约束

MySql数据库·字段基本约束

作者: 技术老男孩 | 来源:发表于2023-02-03 12:30 被阅读0次

    一、约束定义:

    • 设置在表头上,用来限制字段赋值。
    • 每种约束都有各自的功能。

    二、常用基础约束条件:

    关键词 名称 说明
    NOT NULL 设置字段非空 用于保证表头的值不能为空
    DEFAULT 设置字段默认值 不给表头赋值时,保证表头有值
    UNIQUE 设置字段唯一索引 用于保证表头的值具有唯一性,可以为空
    Key字段标志为:UNI

    三、语法格式:

    CREATE TABLE 库名.表名(
    字段名1 数据类型 约束条件1,约束条件2,约束条件3..
    字段名2 数据类型 约束条件1,约束条件2,约束条件3..
    ...
    );

    四、使用示例:

    • 建表时给表头设置默认和不允许赋null值
    mysql> create table db1.t31(
      name char(10) not null, 
      class char(7) default "nsd",
      爱好 set("money","game","film","music") not null default "film,music"
    ) default charset utf8;
    
    # 查看表头,观察Null列,Default列
    mysql> desc db1.t31;
    +-------+---------------------------------------+------+-----+------------+-------+
    | Field | Type                                  | Null | Key | Default    | Extra |
    +-------+---------------------------------------+------+-----+------------+-------+
    | name  | char(10)                              | NO   |     | NULL       |       |
    | class | char(7)                               | YES  |     | nsd2107    |       |
    | 爱好  | set('money','game','film','music')    | NO   |     | film,music |       |
    +-------+---------------------------------------+------+-----+------------+-------+
    3 rows in set (0.00 sec)
    
    • 唯一索引 (unique) 表头值唯一 , 但可以赋null 值
    mysql> create table DB1.t43(
      姓名 char(10) ,  
      护照 char(18) unique  # 设置唯一
    ) default charset utf8;
    
    # 查看表头,观察Key列
    mysql> desc DB1.t43 ;
    +-------+----------+------+-----+---------+-------+
    | Field | Type     | Null | Key | Default | Extra |
    +-------+----------+------+-----+---------+-------+
    | 姓名   | char(10) | YES  |     | NULL    |       |
    | 护照   | char(18) | YES  | UNI | NULL    |       |
    +--------+----------+------+-----+---------+-------+
    2 rows in set (0.00 sec)
    

    相关文章

      网友评论

        本文标题:MySql数据库·字段基本约束

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