我是靠谱客的博主 知性飞机,最近开发中收集的这篇文章主要介绍mysql 视图开启授权,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

mysql 视图相关操作

操作指令代码
创建视图CREATE VIEW 视图名(列1,列2…) AS SELECT (列1,列2…) FROM …;
使用视图和普通表一样操作
修改视图CREATE OR REPLACE VIEW 视图名 AS SELECT […] FROM […];
删除视图DROP VIEW 视图名
查看数据库已有视图SHOW TABLES [like…];(可以使用模糊查找)
查看视图详情DESC 视图名或者SHOW FIELDS FROM 视图名
视图条件限制[WITH CHECK OPTION]

操作指令代码
创建登录账户CREATE USER ‘用户名’ @‘IP/localhost’ IDENTIFIED BY ‘密码’;
授权GRANT 权限 ON 数据库名.表 TO ‘用户名’ @‘IP/localhost’;
查看所有账户SELECT USER,HOST FROM mysql.USER
查看账户权限SHOW GRANTS FOR ‘用户名’ @‘IP/localhost’
  • 创建视图
CREATE VIEW v_em ( emp_no, first_name, birth_date, last_name, gender, hire_date, dept_no, dept_name, from_date, to_date ) AS SELECT
e.emp_no,
e.first_name,
e.birth_date,
e.last_name,
e.gender,
e.hire_date,
d.dept_no,
d.dept_name,
de.from_date,
de.to_date
FROM
employees e
LEFT JOIN dept_emp de ON de.emp_no = e.emp_no
LEFT JOIN departments d ON d.dept_no = de.dept_no;
  • 使用视图
SELECT
*
FROM
v_em ve
WHERE
ve.emp_no = 10002
  • 修改视图
CREATE
OR REPLACE VIEW v_em AS SELECT
emp_no
FROM
employees;
  • 删除视图
DROP VIEW v_dept
  • 查看数据库已有视图
SHOW TABLES LIKE '%em%';
  • 查看视图详情
DESC v_em;
SHOW FIELDS FROM v_em;
  • 视图条件限制
CREATE VIEW v_dept AS SELECT
*
FROM
departments
WHERE
dept_no >= 1000 WITH CHECK OPTION;
INSERT INTO v_dept(dept_no,dept_name) VALUES(100,"测试");
> CHECK OPTION failed 'testmysql.v_dept'
  • 视图开启权限
创建登录账户:
CREATE USER 'test'@'localhost' IDENTIFIED by 'test';
查看所有账户:
SELECT USER,HOST FROM mysql.USER
授权(只读):
GRANT SELECT ON testmysql.v_em TO 'test' @'localhost';
刷新(授权后需要刷新后生效):
FLUSH PRIVILEGES;
查看账户权限:
SHOW GRANTS FOR test @localhost
删除账户:
DROP USER 'test' @'%'

最后

以上就是知性飞机为你收集整理的mysql 视图开启授权的全部内容,希望文章能够帮你解决mysql 视图开启授权所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部