MySQL视图创建和给予用户视图权限
创建基于单表的视图
在 checkrecord 表上创建一个名为 v_checkrecord 的视图 只映射id,username,nickname字段
CREATE VIEW v_checkrecord (s_id,s_username,s_nickname) AS SELECT id,username,nickname FROM checkrecord
通过这个视图可以很好地保护基本表中的数据。
查询视图
SELECT * FROM v_checkrecord
修改视图
ALTER VIEW v_checkrecord (s_id,s_username,s_nickname,s_one) AS SELECT id,username,nickname,one FROM checkrecord
删除视图
DROP VIEW IF EXISTS v_checkrecord
创建用户
使用 CREATE USER 创建一个用户,用户名是 test1,密码是 test1,主机名是 localhost。SQL 语句和执行过程如下。
CREATE USER test1@localhost IDENTIFIED BY test1;
修改用户
使用 RENAME USER 语句将用户名 test1 修改为 testUser1,主机是 localhost。SQL 语句和执行过程如下。
RENAME USER test1@localhost TO testUser1@localhost;
删除用户
DROP USER testUser1@localhost;
查看用户权限
使用 SHOW GRANTS FOR 语句查看权限。其语法格式如下:
SHOW GRANTS FOR test1@localhost;
其中,test1表示用户名,localhost表示主机名或主机 IP。
授权
使用 GRANT 语句创建一个新的用户 testUser,密码为 testPwd。用户 testUser 对所有的数据有查询、插入权限,并授予 GRANT 权限。SQL 语句和执行过程如下。
GRANT SELECT,INSERT ON *.* TO testUser@localhost IDENTIFIED BY testPwd WITH GRANT OPTION;
授权某个视图的查询权限 授权一个视图的查询权限
GRANT SELECT ON v_checkrecord TO testUser@localhost IDENTIFIED BY testPwd WITH GRANT OPTION;