第二章 mysql_完整性约束条件.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
静态列级约束:是对一个列的取值的说明 对数据类型的约束:数据的类型、长度、单位、精度等; Mysql支持数据类型的名称后面指定该类型的显示宽度;虽设置显示宽度,但仍然可以插入大于显示宽度的值。 varchar() 存储一个字符,使用2字节表示实际数据长度,一共需要3bytes物理存储空间。 VARCHAR(N)中,N指的是字符的长度 对数据格式的约束:YYYY-MM-DD 对于日期格式可以以字符串直接insert . 字段约束: NULL和NOT NULL修饰符;mysql默认情况下指定字段为NULL修饰符。 default修饰符 可以使用DEFAULT修饰符为字段设定一个默认值。当插入记录时MySQL会自动为您设置上该字段的默认值。 如果指定字段可以为NULL,则mysql为其设置默认值NULL。如果NOT NULL,则,MySQL对于数值类型插入 从主键(primary key )、外键(foreign key)、唯一性约束(unique): 设置段主键 作用 唯一标识一行; 作为一个可以被外键所有效引用的对象(非空); 保证数据的完整性; 创建表的时候加上primary key 1、 2、 但如果建立表后已经输入记录,表中的记录要设为主键的字段出现相同的,则此时不能设置主键成功。 设置多个字段的主键; 1、创建表的时候设置 此时的主键是由多个属性组合而成,设置时应该统一设置。 下面不能成功创建主键:(这样就与主键的唯一性相矛盾) 表已经创建好 A在创建好的表中已有一个主键,此时再创建主键(主键的唯一性) 则不会成功。 B创建好的表中没有设置主键 会成功创建主键。 外键:通过外键字段将父表与子表建立关联关系 作用:1、外键约束主要维护两个表之间的数据的一致性 表的外键就是另一个表的主键,外键将两个表联系起来。 一般情况下,要删除一张表中的主键必须首先确保其他表中没有相同的外键 设置外键的原则:必须依赖与数据库中已经存在的父表的主键;外键可以为空值。 “FOREIGN 约束” 外键定义满足的条件: 相关联的所有表必须是innoDB型引擎; 外键字段是索引类型中的一种(外建索引); 相关联的字段必须采用类似的数据结构。 比如父表的字段是TINYINT类型,则子表只能采用TINYINT、SMALLINT、INT、BIGINT等几种类型。 查询建立的表的状态信息: 一、相关联的所有表必须是innoDB型引擎: 创建表时设置外键(example3是子表,example2是父表.example3表中的stu_id和course_id依赖于父表的主键stu_id和course_id) 注意:插入(insert into)数据时,应先将父表中的数据插入,才能向子表中插入数据,并且插入子表中的数据要一致。 注意:删除时,先删除子表中的行(一条记录),才可以删除父表中对应的记录。否则不能删除。 创建好后进行设置外键 Stu_info 是父表,study是子表。 注意:父表中的主键创建先于子表中的外键 创建表时并指定表为innoDB型的引擎 create table 表名(字段列表)engine=存储引擎名; 注:在指定之前需要用showengine;查看所支持的引擎,Support列为是否支持! 创建完后修改表的搜索引擎为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约束; 创建表后添加unique约束 alter table tb_simple_vote add unique(outer_id,outer_type); 主键(primary key)与唯一性(

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档