mysql_完整性约束条件_第1页
mysql_完整性约束条件_第2页
mysql_完整性约束条件_第3页
mysql_完整性约束条件_第4页
mysql_完整性约束条件_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

静态列级约束 是对一个列的取值的说明 对数据类型的约束 数据的类型 长度 单位 精度等 Mysql 支持数据类型的名称后面指定该类型的显示宽度 虽设置显 示宽度 但仍然可以插入大于显示宽度的值 varchar 存储一个字符 使用 2 字节表示实际数据长度 一共需要 3bytes 物理存储空间 VARCHAR N 中 N 指的是字符的长度 对数据格式的约束 YYYY MM DD 对于日期格式可以以字符串直接 insert 字段约束 字段约束 1 NULL 和 NOT NULL 修饰符 mysql 默认情况下指定字段为 NULL 修饰符 2 default 修饰符 可以使用 DEFAULT 修饰符为字段设定一个默认值 当插入记录时 忘记传该字段的值 MySQL 会自动为您设置上该字段的默认值 虽能创建成 但有警告 如果指定字段可以为 NULL 则 mysql 为其设置默认值 NULL 如 果 NOT NULL 则 MySQL 对于数值类型插入 0 3 auto increment 修饰符 只适用于 int 字段 表明自动为该字段 生成一个数 每次在上一次生成的数值上加 1 在插入记录时 默认情况第一条记录的值从 1 开始自增自增 因此 该 字段不可能出现相同的值 注意 通常情况下 auto increment 作为 id 字段的约束条件 并将 id 字段作为表的主键 不加 primary key 则创建不成功 从主键 primary key 外键 foreign key 唯一性约束 unique 1 设置段主键 作用 1 唯一标识一行 2 作为一个可以被外键所有效引用的对象 非空 3 保证数据的完整性 创建表的时候加上 primary key 1 2 但如果建立表后已经输入记录 表中的记录要设为主键的字段出现 相同的 则此时不能设置主键成功 2 设置多个字段的主键 1 创建表的时候设置 此时的主键是由多个属性组合而成 设置时应该统一设置 下面不能成功创建主键 这样就与主键的唯一性相矛盾 2 表已经创建好 A 在创建好的表中已有一个主键 此时再创建主键 主键的唯一性 则不会成功 B 创建好的表中没有设置主键 会成功创建主键 外键外键 通过外键字段将父表与子表建立关联关系 作用 1 外键约束主要维护两个表之间的数据的一致性 2 表的外键就是另一个表的主键 外键将两个表联系起来 一般情况下 要删除一张表中的主键必须首先确保其他表中没有相 同的外键 设置外键的原则 必须依赖与数据库中已经存在的父表的主键 外 键可以为空值 FOREIGN 约束 外键定义满足的条件 相关联的所有表必须是 innoDB 型引擎 外键字段是索引类型中的一种 外建索引 相关联的字段必须采用类似的数据结构 比如父表的字段是 TINYINT 类型 则子表只能采用 TINYINT SMALLINT INT BIGINT 等几种类型 查询建立的表的状态信息 一 相关联的所有表必须是 innoDB 型引擎 1 创建表时设置外键 example3 是子表 example2 是父表 example3 表中的 stu id 和 course id 依赖于父表的主键 stu id 和 course id 注意 插入 insert into 数据时 应先将父表中的数据插入 才能 向子表中插入数据 并且插入子表中的数据要一致 注意 删除时 先删除子表中的行 一条记录 才可以删除父表 中对应的记录 否则不能删除 2 创建好后进行设置外键 Stu info 是父表 study 是子表 注意 父表中的主键创建先于子表中的外键 2 创建表时并指定表为 innoDB 型的引擎 create table 表名 字段列表 engine 存储引擎名 注 在指定之前需要用 showengine 查看所支持的引擎 Support 列为是否支持 3 创建完后修改表的搜索引擎为 innoDB 型 alter table 表名 engine 存储引擎名 级联 级联 delete 删除时 结果 级联 update 结果 查看外键 show create table 表名 删除外键 alter table 表名 drop foreign key 外键名 cascade 表示父表在更新或删除时 更新或删除子表对应记录 set null 表示父表在更新或删除时 子表对应字段被设置为 NULL RESTRICT 相当于 no action 既不进行任何操作 拒绝父表 update 外键关联列 delete 记录 注意 若 delete from orders where 条件 此时只是将在 orders 子表 满足条件的条件的记录删除 对于父 表并未影响 若 delete from users where 条件 此时将父表与子表满足条件的记录都删除 区别于未使用级联 删除时 若先删除父表中的记录就会出错 表的唯一性约束 unique 唯一性约束将保证所有的记录中该字段的值不能重复出现 可以为 一个或多个字段定义 unique 约束 1 创建表时并添加 unique 约束 2 创建表后添加 unique 约束 alter table tb simple vote add unique outer id outer type 主键 primary key 与唯一性 unique 的不同点 1 唯一性约束所在的列允许空值 但主键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论