创建测试主表. ID 是主键.
创新互联专注于龙岩企业网站建设,自适应网站建设,商城网站建设。龙岩网站建设公司,为龙岩等地区提供建站服务。全流程按需定制制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
CREATE TABLE test_main (
id INT,
value VARCHAR(10),
PRIMARY KEY(id)
);
-- 创建测试子表.
CREATE TABLE test_sub (
id INT,
main_id INT,
value VARCHAR(10),
PRIMARY KEY(id)
);
-- 插入测试主表数据.
INSERT INTO test_main(id, value) VALUES (1, 'ONE');
INSERT INTO test_main(id, value) VALUES (2, 'TWO');
-- 插入测试子表数据.
INSERT INTO test_sub(id, main_id, value) VALUES (1, 1, 'ONEONE');
INSERT INTO test_sub(id, main_id, value) VALUES (2, 2, 'TWOTWO');
比如又2张表 student ,score;
student(sid,name,class,etc);
score(id,sid,score,subject);
这里面 学生和成绩 是一对多
一个表中如果有一个字段,存储另外一个表的主键,这个字段就是外键,又称外码
sid和id分别是两个表的主键,所以score表里的sid就是外码;
mysql里创建约束
就是 constraint关键字+约束名字(你定义的)+约束类型(主键 外键 唯一性等)+(约束的列名)
CONSTRAINT constraint_name
constraint_type [CLUSTERED | NONCLUSTERED]
(column_name1[, column_name2,…,column_name16])
看这里吧 很详细
1.外键的作用,主要有两个:
一个是让数据库自己通过外键来保证数据的完整性和一致性
一个就是能够增加ER图的可读性
2.外键的配置
1)先创建一个主表,代码如下:
#创建表student,并添加各种约束
create table student
(
id int primary key , #主键约束
name varchar(20) , #唯一约束
age int NOT NULL, #非空约束
sex varchar(2) ,
address varchar(20) default '重庆' #默认约束
) ;
再通过一个外键,创建一个分数表,这样的话,就可以方便查询。代码如下:
#创建分数表
create table score
(
id int primary key ,
sid int ,
china int ,
history int,
english int,
constraint FK_sid foreign key(sid) references student(id) #通过外键创建链接
) ;
创建外键的方法有很多,其中最常见创建外键的格式是:constraint FK_*** foreign key(**) references 链接的外表
删除外键:
alter table drop foreign key '外键名'.
注意:
只有在定义外键时,用constraint 外键名 foreign key .... 方便进行外键的删除