多表查询 : 连接查询-子查询
MySQL基础操作链接 ; 工具: SQLyog
MySQL语法顺序:
select[distinct]
from
join(left join/right join)
on
where
group by
having
union
order by
limit
1. 表结构
用户,角色,权限三张表(主表)及三者之间的关系通过两张 “第三张外键表”维护。“外键表”中的两个字段分别使用外键指向主表的主键。(一个用户可以有多个角色,一个角色可以有多个权限;正常来看是是一对多的关系,但是反过来 某个权限可以有多个角色拥有。 所以三者关系必须理解为多对多的关系,所以需要 “第三张外键表”去维护两张表之间的关系,同时保证实体表与实体表之间互相独立)。
表名:
用户信息表 user
用户角色表 user_role
字段
类型
描述
字段
类型
描述
id
int(11) NOT NULL
主键,自增
uid
int(11) NOT NULL
外键:user id
name
varchar(255) NOT NULL
名称
rid
int(11) NOT NULL
外键:role id
password
varchar(255) NOT NULL
密码
age
int(11) NOT NULL
年龄
gender
char(1) NOT NULL
性别
角色信息表 role
角色权限表 role_permisson
字段
类型
描述
字段
类型
描述
id
int(11) NOT NULL
主键,自增
rid
int(11) NOT NULL
外键:role id
rolename
varchar(255) NOT NULL
名称
pid
int(11) NOT NULL
外键:permission id
权限信息表 permission
字段
类型
描述
id
int(11) NOT NULL
主键,自增
name
varchar(255) NOT NULL
权限
具体建表语句:
创建用户表:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '