MySQL如何创建视图和用户
目录
一.视图
1.1 概念
1.2 使用
1.3 视图的规则和限制
二.用户管理
2.1 用户
2.1.1 用户信息
2.1.2 创建用户
2.1.3 删除用户
2.1.4 修改密码
2.2 数据库权限
2.2.1 给用户授权
2.2.2 回收权限
一.视图
1.1 概念
视图时一个虚拟表,其内容有查询来定义。同真实表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表数据变化也会影响到视图。
简单来说,一个表的中的数据太大了,通过查询条件来建立一张子表。修改子表的数据会影响主表,修改主表的数据会影响到子表。
1.2 使用
- 创建视图
在当前数据库中形成一个新的表结构。
语法:create view 视图名 as select .....
案例:
在当下数据库形成新的表结构:
- 修改视图
修改视图,基表也会发生变化。
- 修改基表
修改基表,视图也会发生变化。
- 删除视图
语法:drop view 视图名;
1.3 视图的规则和限制
和表一样,必须唯一命名。
创建视图数无限制,但要考虑复杂查询创建为视图之后的性能影响。
视图不能添加索引,页不能有关联的触发器或者默认值。
视图可以提高安全性,必须有足够的访问权限。
order by用在视图中。
视图可以和表一起使用。
二.用户管理
我们现在使用的是root用户,root用户权限太大。可以操作所有的库,由于权限大,导致风险过大。如果进行了误操作,导致损失严重。
于是就需要使用MySQL的用户管理。一个用户只能操作特定的库,并且也只具有特定的权限。
2.1 用户
2.1.1 用户信息
MySQL中的用户都保存在系统数据库MySQL的user表中。
字段解释:
- host:表示这个用户可以重哪个主机登录。localhost,表示只能从本机登录。%表示从任意远端登录。
- user:用户名
- authentication_string:用户密码,通过password函数加密的
- *_priv:用户拥有的权限。
2.1.2 创建用户
注意:创建用户需要root来做。
语法:create user '用户名'@'登录主机/ip' identified by '密码';
案例:
2.1.3 删除用户
语法:drop user '用户名'@'主机名';
案例:
2.1.4 修改密码
- 自己改自己的密码
语法:set password=password('新的密码');(该语法在MySQL8.0以上已经不适用)
- root用户指修改指定用户密码
语法:set password for '用户名'@'主机名'=password('新的密码');(该语法在MySQL8.0以上已经不适用)。
- root修改指定用户密码(8.0版本以上)
语法:alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
2.2 数据库权限
root用户拥有所有的权限。
2.2.1 给用户授权
刚创建好的用户没有任何权限。需要给root用户授权。
语法:grant 权限列表 on 库.对象名(表名) to '用户名'@'主机名 ' [identified by '密码'];
说明:
- 权限列表,多个权限用逗号隔开。
grant select on ......
grant select,delete, create on......
grant all [privileges] on...... --表示赋予该用户在该对象上的所有权限
- *.*:表示本系统中的所有数据库的所有对象(表)。
- 库.*:表示某个数据库中的所有数据对象。
- identified by 可选。如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户。
案例:
- 授权
- 使用权限
- 查看用户现有的权限
注意:如果发现赋权后没有生效,执行如下命令:
flush privileges;
2.2.2 回收权限
语法:revoke 权限列表 on 库名.对象 from '用户名'@'主机号';
MySQL如何创建视图和用户相关推荐
- mysql 无法创建视图_mysql无法创建视图怎么办
mysql无法创建视图的解决办法: 基本语法 可以使用 CREATE VIEW 语句来创建视图. 语法格式如下: CREATE VIEW AS 语法说明如下. :指定视图的名称.该名称在数据库中必须是 ...
- 在MySQL中创建视图的X种方式
在本教程中,您将学习如何使用CREATE VIEW语句在MySQL中创建视图. CREATE VIEW语句简介 要在MySQL中创建新视图,请使用CREATE VIEW语句. 在MySQL中创建视图的 ...
- mysql oracle创建视图索引吗_Oracle视图,索引,序列
什么是视图[View] (1)视图是一种虚表 (2)视图建立在已有表的基础上, 视图赖以建立的这些表称为基表 (3)向视图提供数据内容的语句为 SELECT 语句,可以将视图理解为存储起来的 SELE ...
- mysql中创建视图、索引
数据库的三级模式两级映射: 存储文件------>基本表----->视图 内模式 ------->模式 ------>外模式 一.视图 1.什么是视图: 视图是从一个或 ...
- 如何在MySQL中创建视图
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS ...
- 详解MySQL information_schema数据库常用的表信息以及各表对应的字段信息;以及如何登录mysql和创建视图
详解information_schema数据库 登录mysql 查询information_schema信息 information_schema常用数据表 TABLES 查询tables table ...
- MySQL中创建视图并授权
开发过程中,会涉及到将数据库表给第三方公司使用,基于这样的场景,使用视图是较合理的,一方面可以控制显示字段,同时也是可以设置权限. 创建用户 create user `用户名`@`%` identif ...
- mysql. Oracle创建视图,Navicat 教程:Oracle 视图
Navicat for Oracle 视图用于访问一组关联(表),就像一个单一的表,并限制访问.视图也可以用来限制访问行(一个特定表的子集).点击"视图"按钮即可打开视图对象列表. ...
- mysql创建视图sql_SQL视图介绍-如何在SQL和MySQL中创建视图
mysql创建视图sql 什么是SQL视图? (What is a View in SQL?) A View is a database object that presents data exist ...
- mysql中创建视图语法错误_mysql - 使用过程MySQL创建视图时出错 - 堆栈内存溢出
尝试使用过程创建视图时出现问题. 我必须这样做,因为我需要在MySQL中发挥作用,将表的行转换为另一个表的列. 该查询效果很好,但是当我将其放在" CREATE VIEW"语句中时 ...
最新文章
- GT Transceiver的总体架构梳理
- SharePoint判断页面(或WebPart)是否处于编辑模式.
- 在centos6.5安装MariaDB(mysql)
- 径向基函数插值(2)一维数据的插值
- 关于5G技术和5G技术即将面临的各项挑战
- spring boot配置logback日志
- json web token没有哪个成分_SpringBoot 2.1.4集成JWT实现token验证
- Python 计算文件夹大小、文件大小
- UI素材模板|数据可视化APP界面
- oracle 后台进程管理,Oracle background processes后台进程
- Python多线程及其使用方法
- 【293天】我爱刷题系列052(2017.11.25)
- 微擎后台报错,关闭错误信息
- java输入其他字符提示_Eclipse输入任意字母或指定字符出现提示框
- CS231n李飞飞计算机视觉 迁移学习之物体定位与检测上
- 批量复制文件夹的批处理.bat命令
- oracle期末试题及答案,oracle期末考试试题及答案
- 腾讯地图获取全国行政区划检索列表Demo
- linux系统优化步骤,优化Linux系统的12个步骤
- 9个offer,12家公司,35场面试,计算机应届毕业生求职之路
热门文章
- 关于解决“无法定位程序输入点于动态链接库”问题的思路
- 字节(B)、千字节(KB)、兆字节(MB)、积 (GB)字节之间的换算
- 20145322 Exp5 MS08_067漏洞测试
- 错误异常too many open files解决方法
- Source Insight4.0的在整个工程中查找内容
- win10插上耳机还外放(win10插上耳机还外放怎么设置)
- centos7安装python开发环境(python3,postgresql,sublime,supervisor)
- 大数据常用命令-超全
- 219-6-3Google浏览器书签备份
- 9种项目管理方法让工作变得简单:PM的完整指南