文章目录
多表之间的关系
![](https://i-blog.csdnimg.cn/blog_migrate/9ec91471dc167dee2fc3528c9c2363b0.png)
#多表关系的案例
--路线分类(与‘所有旅游路线’是多对1)
create table tap_category(
cid int primary key AUTO_INCREMENT,
cname varchar(100) not null unique
);
--所有旅游路线
create table tap_route(
rid int primary key AUTO_INCREMENT,
rname varchar(100) not null unique,
rdate date,
cid int,
foreign key (cid) references tap_category (cid)
);
--用户表(与‘所有旅游路线’是多对多)
create table tap_user(
uid int primary key AUTO_INCREMENT,
username varchar(100) not null unique,
password varchar(30) not null,
name varchar(100),
birthday date,
sex char(1) default '男',
telephone varchar(11),
email varchar(100)
);
--创建中间表
create table tab_favorite(
rid int,
date datetime,
uid int,
primary key(rid,uid),
foreign key (rid) references tap_route (rid),
foreign key (uid) references tap_user (uid)
);
数据库范式
原子项(1),部份依赖(1-2),传递依赖(2-3)
数据库的还原与备份
备份数据库
还原数据库
多表查询
内连接查询(仅需要两个表的交集信息)
外连接查询(需要一个表的所有信息和另一个表的交集信息)
子查询
三张表的查询:
事务:
(开启两个线程检验一下:)
事务隔离级别:
查询隔离级别新版的:
最高级别的隔离状态:(开启两个线程)
1.未提交
(表被锁):
提交后:
DCL:(管理用户,授权)
管理用户:
mysql忘记登陆密码的操作:
权限管理: