mysql表单建立案例_MySQL表格建立的简单实例

表格的图样

表格的参数可以自己取,也可以去网上搜索一个练习(如果和博主一样是一个取名困难者),本文中的表格的参数是搜索的一个模板。

class

cid

caption

1

三年二班

2

一年三班

3

三年一班

student

sid

sname

gender

class_id

1

钢蛋

1

2

铁锤

1

3

山炮

2

course

cid

cname

teacher_id

1

生物

1

2

体育

1

3

物理

2

teacher

tid

tname

1

波多

2

苍空

3

饭岛

score

sid

student_id

course_id

number

1

1

1

60

2

1

2

59

3

2

2

100

以上就是全部的表格。

思路分析及代码

首先浏览5个表格,在其中寻找之间的联系,我们可以发现class表和teacher表最简单,没有受到其他表格的影响,也就是没有外键,所以优先建立这两个表格。

CREATE TABLE `class`(

#将cid设为主键并自增

`cid` INT PRIMARY KEY AUTO_INCREMENT,

`caption` VARCHAR(80) NOT NULL UNIQUE

);

CREATE TABLE `teacher`(

#将tid设为主键并自增

`tid` INT PRIMARY KEY AUTO_INCREMENT,

`tname` VARCHAR(80) NOT NULL

);

将两个表格建立好后,浏览剩下的三个表格,发现student表和course表都只涉及一个外键,分别和class表的编号与teacher表的编号有关联,跟随这两个参数变化,说明各自涉及一个外键。

CREATE TABLE `student`(

#将sid设为主键,自增

`sid` INT PRIMARY KEY AUTO_INCREMENT,

`sname` VARCHAR(80) NOT NULL,

`gender` ENUM('男','女') DEFAULT'男',

`class_id` INT,

#根据表的列,将各自的列设置好后,再添加外键

FOREIGN KEY (`class_id`) REFERENCES `class`(`cid`)

);

与上表同理:

CREATE TABLE `course`(

`cid` INT PRIMARY KEY AUTO_INCREMENT,

`cname` VARCHAR(80) NOT NULL UNIQUE,

`teacher_id` INT,

FOREIGN KEY (`teacher_id`) REFERENCES `teacher`(`tid`)

);

最后只有一个表了:

CREATE TABLE `score`(

`sid` INT PRIMARY KEY AUTO_INCREMENT,

`student_id` INT,

`course_id` INT,

`number` INT UNSIGNED,

#将两个外键添加

FOREIGN KEY (`student_id`) REFERENCES `student` (`sid`),

FOREIGN KEY (`course_id`) REFERENCES `course` (cid)

);

#添加数据

INSERT `class` (`caption`) VALUES ('三年二班');

INSERT `class` (`caption`) VALUES ('一年三班');

INSERT `class` (`caption`) VALUES ('三年一班');

INSERT `student` (`sname`,`gender`,`class_id`) VALUES ('钢蛋','女',1);

INSERT `student` (`sname`,`gender`,`class_id`) VALUES ('铁锤','女',1);

INSERT `student` (`sname`,`gender`,`class_id`) VALUES ('山炮','男',2);

INSERT `teacher` (`tname`) VALUES ('波多');

INSERT `teacher` (`tname`) VALUES ('苍空');

INSERT `teacher` (`tname`) VALUES ('饭岛');

INSERT `course` (`cname`,`teacher_id`) VALUES ('生物',1);

INSERT `course` (`cname`,`teacher_id`) VALUES ('体育',1);

INSERT `course` (`cname`,`teacher_id`) VALUES ('物理',2);

INSERT `score` (`student_id`,`course_id`,`number`) VALUES (1,1,60);

INSERT `score` (`student_id`,`course_id`,`number`) VALUES (1,2,59);

INSERT `score` (`student_id`,`course_id`,`number`) VALUES (2,2,100);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值