MySQL基本操作-视图

  视图由数据库中的一个或多个表导出的虚拟表,用户可以不用看到整个数据库表中的数据而只关心对自己有用的数据,也保障了数据库系统的安全性。数据库只存放视图的定义,其数据来源于原来的表中。所以源表中数据改变,视图的数据也会改变。视图可以简化重复的查询操作,增加数据的安全性。

1.创建视图

create [algorithm={undefined|merge|temptable}] view 视图名 [(属性清单)] as select 语句 [with [cascaded|local] check option];

algorithm:可选参数,表示视图选择的算法。视图名:要创建视图的名称。select语句:一个完整的查询语句,并将满足条件的记录导入到视图中。cascaded:表示更新视图时要满足所有相关视图和表的条件。在使用create view 时最好加上with check option参数+cascaded,更新视图需要考虑其父视图的约束条件。这种方式比较严格,可以保证数据的安全性。

(1).查询是否具有CREATE VIEW权限

   SELECT  Select_priv,Create_view_priv FROM mysql.user WHERE user=‘root‘;

(2).在表test0上创建一个简单视图

create view test0_view1 as select id,name from test0;

  desc test0_view1;//查看视图

show table status like ‘视图名‘ \G; //查看视图基本信息,comment为view还是空是视图和普通表最直接的区别。

show create view 视图名 \G; //可以查看视图的详细定义。

2.在多表上创建视图

create algorithm=merge view woker_view1(name,department,sex,age,address) as select name,department.d_name,sex,2009-birthday,address from worker,department where worker.d_id=department.d_id with local check option;

3.修改视图

(1).create or replace

create or replace [algorithm={undefined|merge|temptable}] view 视图名  [(视图清单)] as select 语句 [with [cascaded|local]check option]

eg: create or replace algorithm=temptable view example_view2(id,use_id) as select id,use_id from example;

(2)alter view

eg:alter view example2_view1(stu_id,grade) as select stu_id,grade from example2;

4.更新视图:通过视图来insert ,update,delete表中的数据,对应的是源表数据。将视图作为查询数据的虚表而不要通过视图来更新数据。

(1). update 视图名 set 属性名1=新值1,属性名2=新值2;

a.不能更新视图情况:

1).视图中包含:sum(),count(),max(),min()等函数.

eg:create view worker_view4(name,sex,total) as select name,sex,count(name) from worker;

2).视图中包含union,union all,distinct,group by和havig等关键字.

eg:create view worker_view5(name,sex,address) as select name,sex from worker group by d_id;

5.删除视图

drop view [if exists] 视图名列表 [pestrict|cascade];

if exists:判断视图存在,如果存在则执行,不存在则不执行。

时间: 2025-01-11 23:26:40

MySQL基本操作-视图的相关文章

【mysql】mysql基本操作

mysql基本操作 1.mysql表复制 mysql 表结构的复制 create table t2 like t2 mysql 表数据的复制 insert into t2 select * from t1 2.mysql索引的操作 2.1索引的增加 alter table tb_name add index index_name (列名) alter table tb_name add unique(列名) alter table tb_name add primary key (列名) 2.2

SqlServer 与 MySQL 基本操作语句对比

继上篇 MySQL 基本操作语句 后,个人测试和补充了 SqlServer 与 MySQL 的 基本操作语句对比,主要是对比SQL命令的一些差异,不作更多说明. (由于mysql 没有系统学习过,欢迎大侠们拍砖~~)  SqlServer版本:SqlServer 2008 MySQL版本: MySQL 5.5 执行符号: MySQL :分号';' SqlServer :字符'GO' 自增列:MySQL必须要索引,不能设置增量: 默认值:MySQL默认值不用加括号:SqlServer可加或不加:

mysql基本操作和授权

mysql基本操作和授权:(介绍5.7的和5.6很多地方不一样哦)MySQL Server version: 5.7.23 本文的数据库test本文的表名test本文的用户名testshow databases; 命令查看已经创建了哪些数据库.show columns from test 或者desc test;获取表结构命令:shou tables 查看所有的表use database1; 切换数据库show grants; 查看当前用户的权限show grants for [email pr

mysql 查询表,视图,触发器,函数,存储过程

1. mysql查询所有表: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND  TABLE_TYPE ='BASE TABLE' mysql查询建表语句: show create table `表名` 2.mysql查询所有视图: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名'

第02章 mysql 基本操作

2015-10-24 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版)[M].北京:电子工业出版社,2013 [3] DuBois.MySQL Cookbook 中文版 第2版 [M].北京:电子工业出版社,2008 [4] DuBois.MySQL技术内幕(第4版)[M].北京:人民邮电出版社,2011 [5] 范德兰斯.MySQL开发者SQL权威指南 [M].北

mysql view(视图)

一,什么是视图 视图是存放数据的一个接口,也可以说是虚拟的表.这些数据可以是从一个或几个基本表(或视图)的数据.也可以是用户自已定义的数据.其实视图里面不存放数据的,数据还是放在基本表里面,基本表里面的数据发生变动时,视图里面的数据随之变动. 二,视图有什么用 1,视图可以让查询变得很清楚 如果您要找的数据存放在三张关系表里面,查看数据的时候,你就要写个联合查询了.换种方法,我把联合查询的数据放到视图里面,这样查询起来是不是更方便呢,通phpmyadmin看着是不是更清淅呢. 2,保护数据库的重

Linux下mysql基本操作

Linux下mysql基本操作                            作者:浩浩哥来了 对mysql进行初始密码的添加 方法(一) mysqladmin -uroot password 123 方法(二) 如果在添加初始密码是报错了可以进行我下面的方法修改密码. ERROR1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 在/etc/my.cnf文件中添加skip-grant-

第五章 MySQL事务,视图,索引,备份和恢复

第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行,要么都不执行. 事务是作为最小的控制单元来使用的,特别使用与多用户同时操作的数据库系统. 2.为什么需要事务 事务(transaction)是指将一系列数据操作捆绑成为一个整体进行统一管理,如果某一事务执行成功,则在该事务中进行的所有数据均会提交,成为数据库中永久的组成部分.如果事务执行遇到错误且

MySQL数据库视图

day05 MySQL数据库视图 一.视图概述: 视图是一个虚拟表,是从数据库中一个或多个表中导出来的表,内容是由查询定义的.数据库中只存在视图的定义,而没有相关的数据,这些数据四存放在原来的表中.因此,视图是依赖于原来的表中的数据,表中数据改变,视图中的数据也会改变. 视图的作用: 1.具有简单性. 2.具有安全性. 3.逻辑数据独立性. 二.视图: 1.创建视图:         create view 视图名 as select * from 表名;  注意事项: 1.运行创建视图的语句需