mysql完整性约束条件.docVIP

  • 3
  • 0
  • 约2.34千字
  • 约 12页
  • 2019-10-15 发布于山西
  • 举报
静态列级约束:是对一个列的取值的说明 对数据类型的约束:数据的类型、长度、单位、精度等; 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对于数值类型插入0。 auto_increment修饰符(只适用于int字段,表明自动为该字段生成一个数(每次在上一次生成的数值上加1)) 在插入记录时,默认情况第一条记录的值从1开始自增。因此,该字段不可能出现相同的值。 注意:通常情况下,auto_increment 作为id字段的约束条件,并将id字段作为表的主键 不加primary key ,则创建不成功 从主键(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 (条件); //此时将父表与子表满足条件的记录都删除 ;(区别于未使用级联删除时

文档评论(0)

1亿VIP精品文档

相关文档