用户、角色、权限表的设计(mysql)

在这里插入图片描述

1、查询某用户的拥有的角色信息

SELECT
	* 
FROM
	USER AS u
	LEFT JOIN user_role ur ON ur.uid = u.id
	LEFT JOIN role r ON ur.id = r.id
WHERE
	u.id =2

在这里插入图片描述

3、查询某个角色有什么权限

SELECT *
FROM
	permission p
	LEFT JOIN role_permission rp ON rp.pid = p.id
	LEFT JOIN role r ON rp.rid = r.id 
WHERE
	p.NAME LIKE '%管理员'

在这里插入图片描述
3、查询某用户拥有的权限。

SELECT *,rp.id
FROM
	permission p
	LEFT JOIN role_permission rp ON rp.pid = p.id
	LEFT JOIN role r ON rp.rid = r.id 
	WHERE r.id = (SELECT id FROM user WHERE id = 1)

在这里插入图片描述

  • 8
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MySQL设计角色权限是为了实现数据库的访问控制和权限管理。一个用户可以拥有一个或多个角色,每个角色都对应着一组权限。 常见的角色包括管理员、开发人员、普通用户等。管理员一般具有最高权限,可以对数据库进行任意操作;开发人员具有较高的权限,可以对数据库进行增删改查等操作;普通用户则只能进行部分操作,例如查询数据。 为了实现角色权限的管理,可以设计两张角色权限角色包含角色的基本信息,例如角色ID、角色名称等。每个角色会被赋予一组权限,可以通过外键关联到权限中的权限ID。除此之外,角色还可以包含其他的角色属性,例如角色描述等。 权限包含权限的详细信息,例如权限ID、权限名称等。每个权限可以用来描述数据库的具体操作,例如SELECT、INSERT、UPDATE、DELETE等。权限还可以包含其他的权限属性,例如权限描述、权限类型等。 通过在用户中关联角色ID,可以实现用户角色的关联。当用户登录数据库时,系统会根据用户所属的角色来判断用户是否具有执行特定操作的权限。管理员可以通过修改角色权限来调整用户权限。 综上所述,通过设计角色权限,可以实现MySQL数据库的访问控制和权限管理,确保数据库的安全性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值