回顾数据库的主键
主键一般与auto_increment一起使用:
mysql> alter table t1 add id int primary key auto_increment first;
外键:foreign key
插入记录时,字段值在另一个表字段值范围内选择
使用规则:表储存引擎必须是innodb,字段类型要一直要一致,被参照字段必须要是索引类型的一种(parimary key)
外键的标志是mul,限制字段赋值
创建外键的命令:
create table 表名(
字段名,foreign key(字段名) references 表名(字段名) //指定外键
on update cascade //同步更新
on delete cascade //同步删除
)engine=innodb; //指定储存引擎
mysql> create table t1 yg(yg_id int primary key auto_increment,yg_name char(10))enegine=innodb;
mysql> insert into t1.yg(yg_name) values("tom"),("haha"),("bob");
mysql> create table gz(gz_id int,gz float(7,2),foreign key(gz_id) references yg(yg_id) on update cascade on delete cascade)engine=innodb;
mysql> show create table gz\G;
mysql> insert into gz values(1,12000),(2,13000),(3,14000);
_____________________________________________________________________
ps:delete 是删除表记录,drop删除的是表结构
_____________________________________________________________________
删除外键
mysql> show create talbe gz\G;
alter table gz drop foreign key gz_ibfk_1;