zoukankan      html  css  js  c++  java
  • MySQL 约束

    空值与非空: NULL #字段值为空, NOT NULL #字段值非空.

    自动编号: AUTO_INCREMENT

    1)、必须与主键组合使用.

    2)、默认情况下,起始值为1,增量为1.

    主键: PRIMARY KEY

    1)、主键约束

    2)、每张数据表只能存在一个主键

    3)、主键保证记录的唯一性

    4)、主键自动为NOT NULL

    唯一: UNIQUE KEY

    1)、唯一约束

    2)、唯一约束可以保证记录的唯一性

    3)、唯一约束的字段可以为空值(NULL)

    4)、每张数据表可以存在多个唯一约束

    默认值:DEFAULT

    1)、默认值

    2)、当插入记录时,如果没有明确为字段赋值,则自动赋予默认值

    约束

    1)、约束保证数据的完整性和一致性

    2)、约束分为表级数据和列级约束

    3)、约束类型包括: NOT NULL(非空约束)   PRIMARY KEY(主键约束)  UNIQUE KEY(唯一约束)  DEFAULT(默认约束)  FOREIGN KEY(外键约束)

    外键: FOREIGN KEY

    1)、保证数据一致性,完整性

    2)、实现一对一或一对多关系

    外键约束的要求

    1)、父表和子表必须使用相同的存储引擎,而禁止使用临时表

    2)、数据表的存储引擎只能为InnoDB(因为其他引擎不支持)

    3)、外键列和参照列必须具有相似的数据类型,其中数字的长度或是有符号必须相同(无符号:UNSIGNED),而字符的长度则可以不同

    4)、外键列和参照列必须创建索引,如果外键列不存在索引,MySQL将自动创建索引

    外键约束的参照操作

    1)、CASCADE: 从父表删除或更新且自动删除或更新子表中匹配的行

    2)、SET NULL: 从父表删除或更新行,并设置子表中的外键列为NULL,如果使用该选项,必须保证子表列中没有指定为NOT NULL

    3)、RESTRICT: 拒绝对父表的删除或更新操作

    4)、NO ACTION: 标准SQL关键字,在MySQL中与RESTRICT相同

    表级约束与列级约束

    1)、对一个数据列建立的约束,称为列级约束

    2)、对多个数据列建立的约束,称为表级约束

    3)、列级约束既可以在列定义时声明,也可以在列定义后声明

    4)、表级约束只能在列定义后声明

     

    复制请注明出处,在世界中挣扎的灰太狼
  • 相关阅读:
    pycharm安装,svn使用,远程开发调试,接口测试,连接服务器
    scrapy回调函数传递参数
    python发送邮件
    python开发部署时新增数据库中表的方法
    python更新数据库脚本三种方法
    python中json.loads,dumps,jsonify使用
    chmod 命令
    find
    find 命令
    locate 命令
  • 原文地址:https://www.cnblogs.com/XingXiaoMeng/p/6863725.html
Copyright © 2011-2022 走看看