mysql 创建视图
1.单表创建视图
例如:创建一个选择语句,选出学生的编号,姓名和考号
//创建一个视图名字为stu_view1选择 来自数据表student中的id,name 和kn 中的数据
create view stu_view1 as select id as '编号',name as'姓名',kn as '考号' from student;
例如:创建一个选择语句,选出学生id和总成绩
create view score_view1 as select id as '编号',sc.math+sc.chinese +sc.english+sc.mul as
'总成绩' from score as sc;
2.多表创建视图
例如:创建一个选择语句,选出学生姓名和总成绩
select s.name as '学生姓名' , sc.math +sc.chinese+sc.english+sc.mul as '总成绩'from
student as s,score as sc where s.id=sc.s_id ;
创建多表视图
//创建一个对表视图名字为s_sc_view2 选择来自数据表student 中学生的姓名和选择来自数据表score 中所有学科成绩相加的总成绩 ,两张数据表中的数据要相对应(where s.id = sc.s_id)
a. create or replace view s_sc_view2 as select s.name as '学生姓名' , sc.math +sc.chinese+sc.english+sc.mul as '总成绩'from student as s,
score as sc where s.id=sc.s_id ;
b. create or replace view s_sc_view3 (学生姓名,总成绩) AS select s.name ,
sc.math +sc.chinese +sc.english+sc.mul from student as s ,score as sc where s.id =sc.s_id;
create 表示创建。
or replace 表示视图已经存在,就替换
view_name 视图名字
as 后面是选择的字段(一个表或者多个表中)
3.查看视图中的数据
select * from s_sc_view2;//s_sc_view2是视图名
4.查看视图结构
desc view_name;
5.查看视图创建语句
show create view s_sc_view2;
6.查看视图信息
show table status like 'stu_view';(虚拟表为NULL)
7.查看数据表信息
show table status like 'score';(真实表不为空)
8.视图修改
在视图stu_view5的基础长增加city(城市字段):
a.通过or replace 覆盖的方式修改视图
create or replace view stu_view5 (姓名,考号,城市) as select name,kn,city from student;
b.通过alter 关键子的方式修改视图
alter view stu_view (姓名,考号,城市) as select name,kn,city from student;
9.视图更新(内容)
创建一个视图内容有:学生编号、总分、综合、主科目
create or replace view score_view2 (学生编号,总分,综合,主科目)as select sc.s_id ,
sc.math + sc.chinese +sc.english +sc.mul,sc.mul,
sc.math+sc.english +sc.chinese from score as sc;
a.使用update 语句(修改数据内容)
update score_view2 set 综合=156 where 学生编号=1003;
b.使用delete 语句(删除数据)
delete from score_view2 where 学生编号=1005;
通过上面视图上面的更新(修改)和删除会影响到真实表(数据表)中的数据;
10.视图的删除
drop view if exists score_view1;
mysql 创建视图的更多相关文章
- mysql创建视图和存储过程,变量
创建视图 sql>create view 视图名 as select语句; 修改视图并添加别名 sql>create or replace view empvu10 (employee_n ...
- mysql创建视图
CREATE ALGORI`sync_user`CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER V ...
- MySQL创建视图和Union all的使用案例
CREATE VIEW netcheck.cpu_mp AS (SELECT cpu.ID AS id, cpu.chanel_name AS chanel_name, cpu.first ...
- MySQL使用Union创建视图报错
mysql> select * from test_main; +----+-------+ | id | value | +----+-------+ | 1 | ONE | | 2 ...
- 转: mysql create view 创建视图
以下的文章主要是对MySQL视图的描述,其中包括MySQ视图L概述,以及创建MySQL视图-create view与修改MySQL视图--alter view等相关内容的具体描述,以下就是文章的具体内 ...
- MySQL的视图view,视图创建后,会随着表的改变而自动改变数据
首先是创建视图 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `new_view` A ...
- MySQL/Oracle视图的创建与使用
1.什么是视图? 视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成. 2.视图的特点. 视图中的数据并不属于视图本身,而是属于基本的表,对视 ...
- MySQL视图的优缺点以及如何创建视图
视图,虚拟表,从一个表或多个表中导出来的表,作用和真实表一样,包含一系列带有行和列的数据 视图中,用户可以使用SELECT语句查询数据,也可以使用INSERT,UPDATE,DELETE修改记录,视图 ...
- MySQL笔记---视图,存储过程, 触发器的使用入门
大二学数据库的时候,只是隐约听到老师提起过视图啊,存储过程啊,触发器啊什么的,但只是淡淡的记住了名字,后来自己做些小项目,小程序,也没有用上过,都只是简单的建表,关联表之类的,导致我对这些东西的理解只 ...
随机推荐
- 自测之Lesson4:gdb
题目:列出gdb过程中常用的命令. 常用命令: 命令 作用 使用示例1 使用示例2 list 列出代码 list 行号 list 函数名 break 设置断点 break 行号 b 行号 run 运行 ...
- Ubuntu 配置 ftp freemind adb
. 1. 配置apt-get源 配置过程 : sudo vim /etc/profile 命令, 在后面添加下面的内容; 刷新配置文件 : source /etc/profie 命令; 刷新源 : s ...
- Word Ladder Problem (DFS + BFS)
Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest t ...
- iOS-根据两个经纬度计算相距距离
CLLocation *orig=[[[CLLocation alloc] initWithLatitude:[mainDelegate.latitude_self doubleValue] long ...
- 使用协程(gevent)实现请求
协程,又称微线程.英文名Coroutine. 协程最大的优势就是协程极高的执行效率.因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就 ...
- vim 删除文件全部内容
很多时候我们需要删除脚本文件全部内容, 重新再写入新的内容,进行其他的操作: 很多时候我们对应用程序的排错需要查看日志文件,然而日志中通常有许多我们以前的应用程序产生的日志,其他的日志过多的时候,有时 ...
- MySQL优化之profile
分析SQL执行带来的开销是优化SQL的重要手段.在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析.该参数可以在全局和session级别来设置.对于全局级别则作用于整个MySQL ...
- [剑指Offer] 45.扑克牌顺子
题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决 ...
- SQL SERVER 存储过程中SELECT 返回值如何赋值给变量
今天在处理一个问题时,使用到一个存储过程,是用于更新并获取最新ID的.在使用过程中,需要获取到这个ID并赋值给变量,结果用EXEC @ID = 存储过程的方式获取失败了.具体情况如下: 为了还原整个情 ...
- asp.net MVC4在Action间跳转 RedirectToAction 传值参数问题
return RedirectToAction("Test", new { cw = cw, firstdirectoryid = firstdirectoryid }); 上式中 ...