欢迎来到天天文库
浏览记录
ID:20379769
大小:606.00 KB
页数:13页
时间:2018-10-13
《mysql_完整性约束条件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、静态列级约束:是对一个列的取值的说明对数据类型的约束:数据的类型、长度、单位、精度等;Mysql支持数据类型的名称后面指定该类型的显示宽度;虽设置显示宽度,但仍然可以插入大于显示宽度的值。varchar()存储一个字符,使用2字节表示实际数据长度,一共需要3bytes物理存储空间。VARCHAR(N)中,N指的是字符的长度对数据格式的约束:YYYY-MM-DD对于日期格式可以以字符串直接insert.字段约束:1、NULL和NOTNULL修饰符;mysql默认情况下指定字段为NULL修饰符。2、default修饰符可以使用DEFAULT修饰符为
2、字段设定一个默认值。当插入记录时,忘记传该字段的值,MySQL会自动为您设置上该字段的默认值。虽能创建成,但有警告。如果指定字段可以为NULL,则mysql为其设置默认值NULL。如果NOTNULL,则,MySQL对于数值类型插入0。1、auto_increment修饰符(只适用于int字段,表明自动为该字段生成一个数(每次在上一次生成的数值上加1))在插入记录时,默认情况第一条记录的值从1开始自增。因此,该字段不可能出现相同的值。注意:通常情况下,auto_increment作为id字段的约束条件,并将id字段作为表的主键不加primaryk
3、ey,则创建不成功从主键(primarykey)、外键(foreignkey)、唯一性约束(unique):1、设置段主键作用1、唯一标识一行;2、作为一个可以被外键所有效引用的对象(非空);3、保证数据的完整性;创建表的时候加上primarykey1、2、但如果建立表后已经输入记录,表中的记录要设为主键的字段出现相同的,则此时不能设置主键成功。2、设置多个字段的主键;1、创建表的时候设置此时的主键是由多个属性组合而成,设置时应该统一设置。下面不能成功创建主键:(这样就与主键的唯一性相矛盾)2、表已经创建好A在创建好的表中已有一个主键,此时再创
4、建主键(主键的唯一性)则不会成功。B创建好的表中没有设置主键会成功创建主键。外键:通过外键字段将父表与子表建立关联关系作用:1、外键约束主要维护两个表之间的数据的一致性2、表的外键就是另一个表的主键,外键将两个表联系起来。一般情况下,要删除一张表中的主键必须首先确保其他表中没有相同的外键设置外键的原则:必须依赖与数据库中已经存在的父表的主键;外键可以为空值。“FOREIGN约束”外键定义满足的条件:相关联的所有表必须是innoDB型引擎;外键字段是索引类型中的一种(外建索引);相关联的字段必须采用类似的数据结构。比如父表的字段是TINYINT类
5、型,则子表只能采用TINYINT、SMALLINT、INT、BIGINT等几种类型。查询建立的表的状态信息:一、相关联的所有表必须是innoDB型引擎:1、创建表时设置外键(example3是子表,example2是父表.example3表中的stu_id和course_id依赖于父表的主键stu_id和course_id)注意:插入(insertinto)数据时,应先将父表中的数据插入,才能向子表中插入数据,并且插入子表中的数据要一致。注意:删除时,先删除子表中的行(一条记录),才可以删除父表中对应的记录。否则不能删除。1、创建好后进行设置外
6、键Stu_info是父表,study是子表。注意:父表中的主键创建先于子表中的外键二、创建表时并指定表为innoDB型的引擎createtable表名(字段列表)engine=存储引擎名;注:在指定之前需要用showengine;查看所支持的引擎,Support列为是否支持!三、创建完后修改表的搜索引擎为innoDB型altertable表名engine=存储引擎名;级联:级联delete:删除时:结果:级联update:结果:查看外键:showcreatetable表名;删除外键:altertable表名dropforeignkey外键名;c
7、ascade表示父表在更新或删除时,更新或删除子表对应记录setnull表示父表在更新或删除时,子表对应字段被设置为NULL;RESTRICT相当于noaction既不进行任何操作,拒绝父表update外键关联列,delete记录。注意:若deletefromorderswhere(条件);//此时只是将在orders(子表)满足条件的条件的记录删除。对于父表并未影响;若deletefromuserswhere(条件);//此时将父表与子表满足条件的记录都删除;(区别于未使用级联删除时,若先删除父表中的记录就会出错)表的唯一性约束unique唯
8、一性约束将保证所有的记录中该字段的值不能重复出现。可以为一个或多个字段定义unique约束。1、创建表时并添加unique约束;2、创建表后添加uni
此文档下载收益归作者所有