mysql 建立表之间关系 练习 2
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql 建立表之间关系 练习 2,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3115字,纯文字阅读大概需要5分钟。
内容图文
![mysql 建立表之间关系 练习 2](/upload/InfoBanner/zyjiaocheng/1071/e7af4dab02244e7c9a2d3fa33e92fe5d.jpg)
创建数据库db6
create database db6 charset=utf8;
user db6;
# 创建班级表
mysql>createtable class(cid intprimarykey auto_increment,caption varchar(50) notnullunique); Query OK, 0 rows affected (0.15 sec) mysql>select*from class; Empty set (0.00 sec) mysql>insertinto class(caption) values(‘三年二班‘),(‘一年三班‘),(‘三年一班‘); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql>select*from class; +-----+--------------+| cid | caption |+-----+--------------+|2| 一年三班 ||3| 三年一班 ||1| 三年二班 |+-----+--------------+3 rows inset (0.00 sec)
# 创建老师表
mysql>createtable teacher(tid intprimarykey auto_increment,tname varchar(50) notnull); Query OK, 0 rows affected (0.11 sec) mysql>insertinto teacher(tname) values(‘李老师‘),(‘吴老师‘),(‘陈老师‘); Query OK, 3 rows affected (0.12 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql>select*from teacher; +-----+-----------+| tid | tname |+-----+-----------+|1| 李老师 ||2| 吴老师 ||3| 陈老师 |+-----+-----------+3 rows inset (0.00 sec)
多对一关系建表
# 学生表与班级表建立关系
创建学生表
mysql>createtable student( sid intprimarykey auto_increment, sname varchar(20) notnull, gender enum(‘男‘,‘女‘) notnull, class_id intnotnull, foreignkey(class_id) references class(cid) ondeletecascadeonupdatecascade); Query OK, 0 rows affected (0.06 sec)
mysql>insertinto student(sname,gender,class_id) values(‘小红‘,‘女‘,1),(‘小李‘,‘女‘,1),(‘小刚‘,‘男‘,2); Query OK, 3 rows affected (0.36 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql>select*from student; +-----+--------+--------+----------+| sid | sname | gender | class_id |+-----+--------+--------+----------+|1| 小红 | 女 |1||2| 小李 | 女 |1||3| 小刚 | 男 |2|+-----+--------+--------+----------+3 rows inset (0.00 sec)
# 老师表和课程表建立关系
创建课程表
mysql>createtable course( cid intprimarykey auto_increment, cname varchar(20) notnull, tearch_id intnotnull,
foreignkey(tearch_id) references teacher(tid)
ondeletecascadeonupdatecascade); Query OK, 0 rows affected (0.12 sec
插入记录 并查询
mysql>insertinto course(cname,tearch_id) values(‘生物‘,1),(‘体育‘,1),(‘物理‘,2); Query OK, 3 rows affected (0.11 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql>select*from course; +-----+--------+-----------+| cid | cname | tearch_id |+-----+--------+-----------+|1| 生物 |1||2| 体育 |1||3| 物理 |2|+-----+--------+-----------+3 rows inset (0.00 sec)
建立多对多关系
# 建立一张score表 与 学生表 课程表建立关系
mysql>createtable score( sid intnotnullunique auto_increment, student_id intnotnull, corse_id intnotnull, numberchar(16) notnull, foreignkey(student_id) references student(sid) ondeletecascadeonupdatecascade, foreignkey(corse_id) references course(cid) ondeletecascadeonupdatecascade, primarykey(student_id,corse_id)
);
插入记录
mysql>insertinto score(student_id,corse_id,number) values(1,1,‘60‘),(1,2,‘59‘),(2,2,‘100‘); Query OK, 3 rows affected (0.70 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql>select*from score; +-----+------------+----------+--------+| sid | student_id | corse_id |number|+-----+------------+----------+--------+|1|1|1|60||2|1|2|59||3|2|2|100|+-----+------------+----------+--------+3 rows inset (0.00 sec)
原文:https://www.cnblogs.com/mingerlcm/p/9868437.html
内容总结
以上是互联网集市为您收集整理的mysql 建立表之间关系 练习 2全部内容,希望文章能够帮你解决mysql 建立表之间关系 练习 2所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。