创建数据库db6

create database db6 charset=utf8;

user db6;

# 创建班级表

mysql> create table class(cid int primary key auto_increment,caption varchar(50) not null unique);
Query OK, 0 rows affected (0.15 sec) mysql> select * from class;
Empty set (0.00 sec) mysql> insert into 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 in set (0.00 sec)

# 创建老师表

mysql> create table teacher(tid int primary key auto_increment,tname varchar(50) not null);
Query OK, 0 rows affected (0.11 sec) mysql> insert into 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 in set (0.00 sec)

多对一关系建表

# 学生表与班级表建立关系

创建学生表

mysql> create table student(
sid int primary key auto_increment,
sname varchar(20) not null,
gender enum('男','女') not null,
class_id int not null,
foreign key(class_id) references class(cid)
on delete cascade
on update cascade);
Query OK, 0 rows affected (0.06 sec)
mysql> insert into 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 in set (0.00 sec)

# 老师表和课程表建立关系

创建课程表

mysql> create table course(
cid int primary key auto_increment,
cname varchar(20) not null,
tearch_id int not null,
foreign key(tearch_id) references teacher(tid)
on delete cascade
on update cascade);
Query OK, 0 rows affected (0.12 sec

插入记录 并查询

mysql> insert into 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 in set (0.00 sec)

建立多对多关系

# 建立一张score表 与 学生表 课程表建立关系

mysql> create table score(
sid int not null unique auto_increment,
student_id int not null,
corse_id int not null,
number char(16) not null,
foreign key(student_id) references student(sid)
on delete cascade
on update cascade,
foreign key(corse_id) references course(cid)
on delete cascade
on update cascade,
primary key(student_id,corse_id)
);

插入记录

mysql> insert into score(student_id,corse_id,number) values(1,1,''),(1,2,''),(2,2,'');
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 in set (0.00 sec)

mysql 建立表之间关系 练习 2的更多相关文章

  1. mysql 建立表之间关系 练习 1

    练习:账号信息表,用户组,主机表,主机组 #用户表 mysql> create table user( id int not null unique auto_increment, userna ...

  2. mysql 建立表之间关系 一对一 练习1

    创建db5数据库 create database db5 charset=utf8; use db5; 例一:一个用户只有一个博客 用户表: id name 1 mike 2 alex 3 jack ...

  3. mysql 建立表之间关系 一对一 练习2

    创建db5数据库 create database db5 charset=utf8; use db5; 例二:一个管理员唯一对应一个用户 用户表: id user password 1 egon xx ...

  4. Django数据库的查看、删除,创建多张表并建立表之间关系

    配置以下两处,可以方便我们直接右键运行tests.py一个文件,实现对数据库操作语句的调试: settings里面的设置: #可以将Django对数据库的操作语法,能输出对应的的sql语句 LOGGI ...

  5. 【转】Oracle - 数据库的实例、表空间、用户、表之间关系

    [转]Oracle - 数据库的实例.表空间.用户.表之间关系 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机 ...

  6. Hibernate_day03--课程安排_表之间关系_一对多操作

    Hibernate_day03 上节内容 今天内容 表与表之间关系回顾(重点) Hibernate的一对多操作(重点) 一对多映射配置(重点) 一对多级联操作 一对多级联保存 一对多级联删除 一对多修 ...

  7. 阶段3 1.Mybatis_09.Mybatis的多表操作_1 mybatis表之间关系分析

    4.mybatis中的多表查询     表之间的关系有几种:         一对多         多对一         一对一         多对多     举例:         用户和订单 ...

  8. Oracle - 数据库的实例、表空间、用户、表之间关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

  9. [转]Oracle - 数据库的实例、表空间、用户、表之间关系

    本文转自:http://www.cnblogs.com/adforce/p/3312252.html 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物 ...

随机推荐

  1. html-loldemo

    百度版lol百科小样 <!DOCTYPE html> <html lang="en"> <head> <title>英雄联盟百科&l ...

  2. Linux编程之判断磁盘空间大小

    一.引言 在开发过程中,经常会碰到这样的情况,在往指定目录下拷贝文件时,需要考虑到磁盘空间的大小是否足够来决定什么时候暂停自己的程序 二.用的函数 <sys/statfs.h> int s ...

  3. 通过ip查看主机名和端口占用情况

      1. 知道对方ip查看对方的计算机名 方法:开始->运行->cmd->net view 对方ip 或者 开始->运行->cmd->nbtstat -a 对方ip ...

  4. 编写可维护的JavaScript----笔记(一)

    1.缩进层级 建议使用4个空格为一个缩进层级,避免使用制表符进行缩进,可以通过配置文本编辑器来改变 缩进层级表示的内容. 2.语句末尾 有赖于分析器的自动分号插入机制(ASI),JavaScript可 ...

  5. 请写出一个超链接,点击链接后可以向zhangsan@d-heaven.com发送电子邮件。

    请写出一个超链接,点击链接后可以向zhangsan@d-heaven.com发送电子邮件. <a href=”mailto: zhangsan@d-heaven.com”>发邮件</ ...

  6. 请写出一段表单提交的HTML代码,表单名称为form1,提交方式为post,提交地址为submit.asp

    请写出一段表单提交的HTML代码,表单名称为form1,提交方式为post,提交地址为submit.asp 解答: <form name=”form1” method=”post” action ...

  7. XV Open Cup named after E.V. Pankratiev Stage 6, Grand Prix of Japan Problem J. Hyperrectangle

    题目大意: 给出一个$d$维矩形,第i维的范围是$[0, l_i]$. 求满足$x_1 + x_2 + ...x_d \leq s$ 的点构成的单纯形体积. $d, l_i \leq 300$ 题解: ...

  8. windows连接远程打印机

    windows连接hp的远程打印机时,自动装不了驱动.. 需打开驱动程序(驱动程序安装需接设备),然后windows就过下载驱动这步了..

  9. uGUI动态加载控件位置错误

    最近在使用uGUI时遇到了一个问题,在此记录一下.在Canvas的Render Mode设置为Screen Space-Overlay模式时,动态加载控件是不会发生问题的.但是在Screen Spac ...

  10. ObjectTools反射实例

    ObjectTools反射实例 package com.shitou.deposit.chinapnr.utils; import org.apache.commons.logging.Log; im ...