mysql视图概念、创建、查询、删除和修改
阅读数:98 评论数:0
跳转到新版页面分类
数据库
正文
一、视图的概述
视图上是众一个或多个表中导出来的表,是一种虚拟存在的表。
二、创建视图
虽然视图可以被看成是一种虚拟表,但是其物理上是不存在的,即mysql并没有专门的位置为视图存储数据。根据视图的概念可以发现其数据源于查询语句,因此创建视图的基本语法为:
CREATE[OR REPLACE] VIEW viewname[(columnlist)]
AS SELECT statement
create表示创建视图
replace表示替换已经创建的视图
columnlist表示可以显示的指出视图中有哪些列(必须和select语句对应)
创建视图需要登陆用户有相应的权限,查看方法
select user,Select_priv,Create_view_priv from mysql.user;
视图本身相当于一个窗口,通过这个窗口我们也可以修改数据
update view_student set name='小王王' where name='小王';
create view view_student_teacher
as select class.id as teacher_id,teacher,class,student.id,student.name,sex
from class
left join student on class.id=student.class_id;
三、查看视图
1、查看视图基本信息
DESCRIBE | DESC viewname;
2、查看视图创建信息
SHOW CREATE TABLE|VIEW viewname;
四、更新视图数据
1、当视图中包含sum()、count()、max()和min()等函数时,不能更新视图。
2、视图中包含union、union all、distinct、group by和having等关键字时,不能更新视图
3、视图对应表存在没有默认值的列,而且该列没有包含在视图里,不能更新视图
4、包含子查询的视图,不能更新视图。
五、修改视图
ALTER VIEW viewname[columnlist]
AS SELECT statement
六、删除视图
用户必须拥有drop权限。
DROP VIEW viewname [,viewname ];
可以同时删除多个视图。
相关推荐
Centos7的yum源中没有mysql,为了解决这个问题,我们需要先下载mysql的repo源。
一、下载mysql的repo源并安装
wget http://repo.mysql.com/mysq
如果主库已经投入使用了,此时如果需要主从同步,需要导出所表结构和数据,然后导入到从库中。这时需要注意修改/var/lib/mysql/auto.cnf中uuid。
master配
一、事务的ACID
1、Atomicity原子性
Transactions are often composed of multiple statements. Atomicity guarantee
一、登录mysql
mysql --version
-查看Mysql版本
mysql -h hostname -u username -p
-h:运行mysql服务器的机器,如果正在该机器上运行此命令
一、语法
select [optioins] items
[into file_details]
from tables
[where conditions]
[group by gr
一、语法
update [low_priority] [ignore] tablename
set column1=expression1,...
[where condition]
[order b