当前位置:网站首页>视图(view)
视图(view)
2022-07-06 15:32:00 【汤键.TJ】
目录
介绍
- 是一种虚拟存在的数据表
- 这个虚拟表并不在数据库中实际存在
作用:
- 将一些较为复杂的查询语句的结果,封装到一个虚拟表中
- 后期再有相同需求时,直接查询该虚拟表即可
例子:
- 分别有city表和country表2张表
- 2者是一对多的关系
- cid是外键列,指向country表中的主键id
- 需求:查询城市信息和所属国家信息
- select c1.id,c1.name,c2.name from city c1, country c2 where c1.cid=c2.id
- 这条SQL语句若会经常使用到,反复编写就比较麻烦
- 可以把这个语句查询出来的结果保存到另一数据表里
- 有了这张数据表后,后期再有这个查询的需求,就可以查询这个数据表即可
- 视图的作用就凸显出来了
视图的创建和查询
数据准备



-- 创建country表 CREATE TABLE country( id INT PRIMARY KEY auto_increment, -- 国家id name VARCHAR(20) -- 国家名称 ); -- 添加数据 INSERT INTO country VALUES (NULL,'中国'),(NULL,'美国'),(NULL,'俄罗斯'); -- 创建city表 CREATE TABLE city( id INT PRIMARY KEY auto_increment, -- 城市id name VARCHAR(20), -- 城市名称 cid INT, -- 外键列。关联country表的主键列id CONSTRAINT k1 FOREIGN KEY (cid) REFERENCES country(id) -- 添加外键约束 ); -- 添加数据 INSERT INTO city VALUES (NULL,'北京',1),(NULL,'上海',1),(NULL,'纽约',2),(NULL,'莫斯科',3);实例操作
- 创建视图


-- 创建city_country视图,保存城市和国家的信息(使用指定列名) CREATE VIEW city_country (city_id,city_name,country_name) AS SELECT c1.id, c1.name, c2.name FROM city c1, country c2 WHERE c1.cid=c2.id;- 查询视图

-- 查询视图 SELECT * FROM city_country;视图的修改和删除
语法
- 修改视图数据语法
- update 视图名称 set 列名=值 where 条件;
- 修改视图结构语法
- alter view 视图名称 (列名列表) as 查询语句;
- 删除视图语法
- drop view [if exists] 视图名称;
实例操作


-- 修改视图数据,将北京改为深圳 (注意:修改视图数据后,源表中的数据也会随之修改) UPDATE city_country SET city_name='深圳' WHERE city_name='北京'; -- 修改视图结构,将视图中的country_name修改为name ALTER VIEW city_country (city_id,city_name,name) as SELECT c1.id, c1.name, c2.name FROM city c1, country c2 WHERE c1.cid=c2.id;
-- 删除city_country视图 DROP VIEW IF EXISTS city_country;
边栏推荐
猜你喜欢

C# 三种方式实现Socket数据接收

Self made j-flash burning tool -- QT calls jlinkarm DLL mode

0 basic learning C language - interrupt

The nearest common ancestor of binary (search) tree ●●
The SQL response is slow. What are your troubleshooting ideas?

Web APIs DOM 时间对象

树的先序中序后序遍历

NPDP认证|产品经理如何跨职能/跨团队沟通?

Chapter 4: talk about class loader again

Export MySQL table data in pure mode
随机推荐
Notes de développement du matériel (10): flux de base du développement du matériel, fabrication d'un module USB à RS232 (9): création de la Bibliothèque d'emballage ch340g / max232 SOP - 16 et Associa
2022-07-04 the high-performance database engine stonedb of MySQL is compiled and run in centos7.9
Pit encountered by handwritten ABA
Config:invalid signature solution and troubleshooting details
重磅新闻 | Softing FG-200获得中国3C防爆认证 为客户现场测试提供安全保障
每日一题:力扣:225:用队列实现栈
SQL server generates auto increment sequence number
sizeof关键字
pytorch_YOLOX剪枝【附代码】
Data storage (1)
0 basic learning C language - interrupt
ThreadLocal详解
Puppeteer连接已有Chrome浏览器
如何用程序确认当前系统的存储模式?
Unity3d minigame-unity-webgl-transform插件转换微信小游戏报错To use dlopen, you need to use Emscripten‘s...问题
做国外LEAD2022年下半年几点建议
case 关键字后面的值有什么要求吗?
机试刷题1
Inno Setup 打包及签名指南
Web APIs DOM 时间对象








