一:外键
- 概念:外键是为了加强两个表数据之间联系而引入的一种约束。把一张A表的一列字段或多列字段作B表的主键,那么该字段就称为A表的外键。
- 外键实现:键的作用是维护两表之间数据的完整性,但是如果要目标表中的字段在源表中显示要用到多表的连接.
二:简单实例
--student表--
create table `stu` (
`stu_id` int(11) not null auto_increment,
`name` varchar(10) not null,
`id` int(11) default null,
primary key (`id`),
key `stu_id` (`stu_id`),
constraint `stu_ibfk_1` foreign key (`stu_id`) references `mark` (`id`)
) engine=innodb auto_increment=13 default charset=utf8;
--分数mark表--
create table `mark` (
`id` int(11) not null auto_increment,
`grade` int(11) default null,
primary key (`id`)
) engine=innodb auto_increment=4 default charset=utf8;
--插入数据--
insert into `stu` values (20170101, 'xiaomig', 1);
insert into `stu` values (20170102, 'xiaonig', 2);
insert into `stu` values (20170103, 'xiaoli', 3);
insert into `mark` values (1, 81);
insert into `mark` values (2, 82);
insert into `mark` values (3, 90);
/**测试**/
select stu_id,name from stu inner join mark where stu.id=mark.id;
/**输出
+----------+---------+
| stu_id | name |
+----------+---------+
| 20170101 | xiaomig |
| 20170102 | xiaonig |
| 20170103 | xiaoli |
+----------+---------
**//