本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql
1、如何创建视图
基本语法如下:
CREATE VIEW <视图名称>(<列名1>,<列名2>,...) AS <SELECT语句>
其中SELECT 语句需要书写在 AS 关键字之后。 SELECT 语句中列的排列顺序和视图中列的排列顺序相同, SELECT 语句中的第 1 列就是视图中的第 1 列, SELECT 语句中的第 2 列就是视图中的第 2 列,以此类推。而且视图的列名是在视图名称之后的列表中定义的。
需要注意的是视图名在数据库中需要是唯一的,不能与其他视图和表重名。在一般的DBMS中定义视图时不能使用ORDER BY语句。因为数据行没有顺序。
2、如何修改视图结构
修改视图结构的基本语法如下:
ALTER VIEW <视图名> AS <SELECT语句>
其中视图名在数据库中需要是唯一的,不能与其他视图和表重名。
也可以通过将当前视图删除然后重新创建的方式达到修改的效果。
3、如何更新视图内容
视图是一个虚拟表,所以对视图的操作就是对底层基础表的操作,所以在修改时只有满足底层基本表的定义才能成功修改。
对于一个视图来说,如果包含以下结构的任意一种都是不可以被更新的:
(1)聚合函数 SUM()、MIN()、MAX()、COUNT() 等。
(2)DISTINCT 关键字。
(3)GROUP BY 子句。
(4)HAVING 子句。
(5)UNION 或 UNION ALL 运算符。
(6)FROM 子句中包含多个表。
视图归根结底还是从表派生出来的,因此,如果原表可以更新,那么 视图中的数据也可以更新。反之亦然,如果视图发生了改变,而原表没有进行相应更新的话,就无法保证数据的一致性了。
4、如何删除视图
删除视图的基本语法如下:
DROP VIEW <视图名1> [ , <视图名2> …]
注意:需要有相应的权限才能成功删除。
5、各种函数
函数大致分为如下几类:
算术函数 (用来进行数值计算的函数):+ - * /;ABS-求绝对值;MOD-求余数;ROUND-四舍五入。
字符串函数 (用来进行字符串操作的函数):CONCAT-拼接;LENGHT-长度;LOWER-小写转换;REPLACE-字符串的替换;SUBSTRING-字符串的截取;SUBSTRING—INDEX-字符串按索引截取。
日期函数 (用来进行日期操作的函数):CURRENT—DATE-获取当前日期;CURRENE—TIME-当前时间;URRENET—TIMESTAMP-当前日期和时间;EXTRACT-截取日期元素。
转换函数 (用来转换数据类型和值的函数):CAST-转换类型;COALESCE-将NULL转换为其他值。
聚合函数 (用来进行数据聚合的函数)