-
表级约束:针对两个或者两个以上的字段来使用
列级约束:只针对某一个字段来使用
外键约束:保持数据一致性,完整性,实现一对多或者多对一的关系
查看全部 -
1、外键约束的参照操作
(1)cascade:从父表删除或更新且自动删除或更新字表中匹配的行;
(2)set null:从父表删除或更新行,并设置子表中的外键列为null。如果使用该选项,必须保证子表列没有指定not null;
(3)restrict:拒绝对父表的删除或更新操作;
(4)no action :标准sql的关键字,在mysql中与restrict相同。
2、
create table users(
id smallint unsigned primary key auto_increment,
username varchar(20) not full,
pid smallint unsgined,
foregin key(pid) references provinces(id) on delete cascade);
4、先在父表中插入记录,再在字表中插入记录。
insert provinces(pname) values('A'),('B'),('C');
insert users1(username,pid) values('TOM',3),('jack',2)【超出3则会报错】
当删除父表中的id=3的记录时,字表中的pid=3的记录也会被删除【cascade】
delete from provinces where id =3;
5、在实际操作过程中,很少使用物理外键约束,而常用逻辑外键约束。因为只有 INNODB数据库支持物理的外键约束
查看全部 -
。。。。。
查看全部 -
存储引擎的特点
查看全部 -
事务的特性:ACID
查看全部 -
事务是数据库区别于文件系统的重要特征之一
查看全部 -
1、外键约束的要求
(1)父表和子表必须使用相同的存储引擎,而且禁止使用临时表;
(2)数据表的存储引擎只能为InnoDB;
(3)外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同;
(4)外键列和参照列必须创建索引。
2、创建外键约束
(1)create table provinces(
id smallint unsigned primary key auto_increment,
pname varchar(20) not null)
(2)show create table provinces:查看存储引擎
(3)create table users(
id smallint unsigned primary key auto_increment,
username varchar(20) not full,
pid smallint unsgined,
foregin key(pid) references provinces(id)
3、必须创建索引
(1)主键创建的同时会自动创建索引
show indexes from provinces\G;
show indexes from users\G
users表存在两个索引,其中id为主键,系统自动创建了索引,pid为外键,系统也创建了索引
查看全部 -
共享锁(读锁)与排他锁(写锁)
查看全部 -
1、添加默认约束:
sex enum('1','2','3') default '3'
2、insert example1() values();
其中第一个字段id自动编号,第二个字段sex默认值为3
查看全部 -
自定义函数与存储过程
查看全部 -
HHHHHH
查看全部 -
record查看全部
-
UNIQUE KEY 可以为null
查看全部 -
mysql储存过程语法结构解析
查看全部 -
IN 调用时指定,且不可改变返回
OUT 调用过程中可以改变返回
INOUT 调用时必须指定,而且过程中可以改变返回
查看全部
举报