1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql可以用视图insert_MySql-视图操作

mysql可以用视图insert_MySql-视图操作

时间:2022-02-25 22:36:56

相关推荐

mysql可以用视图insert_MySql-视图操作

视图

视图本质上是一张表或多张表的查询结果构成的一张虚拟表。可以使用视图来避免多次编写sql的问题;也可以用不同的视图来查看表中的部分记录

创建视图

create [or replace] view 视图名[(column_list)] as 查询语句

# or replace:表示如果已经存在相同名字的视图,则替换原有视图

# column_list:指定哪些字段要出现在视图中

# 视图是一张虚拟表,所以在视图中的数据不会出现在硬盘上

查看视图

desc view_name; # 查看视图的数据结构

show create view view_name [\G]; # 查看创建视图语句

select * from view_name; # 查看视图内的数据,同查表数据一样

修改视图

alter view view_name as 查询语句;

删除视图

drop view view_name;

举例

# 数据准备

create database db02 charset utf8;

use db02

create table student(

s_id int(3),

name varchar(20),

math float,

chinese float

);

insert into student values(1,'tom',80,70),(2,'jack',80,80),(3,'rose',60,75);

create table stu_info(

s_id int(3),

class varchar(50),

addr varchar(100)

);

insert into stu_info values(1,'二班','安徽'),(2,'二班','湖南'),(3,'三班','黑龙江');

# 创建视图包含编号、学生的姓名和班级

create view stu_v(编号,姓名,班级) as select student.s_id,name,class from student join stu_info on student.s_id = stu_info.s_id;

# 修改视图

alter view stu_v(编号,姓名) as select student.s_id,name from student join stu_info on student.s_id = stu_info.s_id;

# 删除视图

drop view stu_v;

注意:对视图数据的insert update delete会同步到原表中,但由于视图可能是部分字段,很多时候会失败

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。