天池sql学习笔记-task03

创建视图的基本语法如下:

CREATE VIEW <视图名称>(<列名1>,<列名2>,...) AS <SELECT语句>

修改视图结构的基本语法如下:

ALTER VIEW <视图名> AS <SELECT语句>

对于一个视图来说,如果包含以下结构的任意一种都是不可以被更新的:

  • 聚合函数 SUM()、MIN()、MAX()、COUNT() 等。
  • DISTINCT 关键字。
  • GROUP BY 子句。
  • HAVING 子句。
  • UNION 或 UNION ALL 运算符。
  • FROM 子句中包含多个表。

视图归根结底还是从表派生出来的,因此,如果原表可以更新,那么 视图中的数据也可以更新。反之亦然,如果视图发生了改变,而原表没有进行相应更新的话,就无法保证数据的一致性了。

  • 更新视图
UPDATE productsum
   SET sale_price = '5000'
 WHERE product_type = '办公用品';

 

删除视图的基本语法如下:

DROP VIEW <视图名1> [ , <视图名2> …]

注意:需要有相应的权限才能成功删除。

  • 删除视图

我们删除刚才创建的productSum视图

DROP VIEW productSum;

 

 

函数大致分为如下几类:

  • 算术函数 (用来进行数值计算的函数)
  • 字符串函数 (用来进行字符串操作的函数)
  • 日期函数 (用来进行日期操作的函数)
  • 转换函数 (用来转换数据类型和值的函数)
  • 聚合函数 (用来进行数据聚合的函数)

 

 

  • + - * /四则运算在之前的章节介绍过,此处不再赘述。
  • ABS – 绝对值
  • 语法:ABS( 数值 )

    ABS 函数用于计算一个数字的绝对值,表示一个数到原点的距离。

    当 ABS 函数的参数为NULL时,返回值也是NULL

  • MOD – 求余数
  • 语法:MOD( 被除数,除数 )

    MOD 是计算除法余数(求余)的函数,是 modulo 的缩写。小数没有余数的概念,只能对整数列求余数。

    注意:主流的 DBMS 都支持 MOD 函数,只有SQL Server 不支持该函数,其使用%符号来计算余数。

  • ROUND – 四舍五入
  • 语法:ROUND( 对象数值,保留小数的位数 )

    ROUND 函数用来进行四舍五入操作。

    注意:当参数 保留小数的位数 为变量时,可能会遇到错误,请谨慎使用变量。

  • CONCAT – 拼接
  • 语法:CONCAT(str1, str2, str3)

    MySQL中使用 CONCAT 函数进行拼接。

  • LENGTH – 字符串长度
  • 语法:LENGTH( 字符串 )

  • LOWER – 小写转换
  • LOWER 函数只能针对英文字母使用,它会将参数中的字符串全都转换为小写。该函数不适用于英文字母以外的场合,不影响原本就是小写的字符。

    类似的, UPPER 函数用于大写转换。

  • REPLACE – 字符串的替换
  • SUBSTRING – 字符串的截取
  • 语法:REPLACE( 对象字符串,替换前的字符串,替换后的字符串 )

  • CURRENT_DATE – 获取当前日期
  • CURRENT_TIME – 当前时间
  • CURRENT_TIMESTAMP – 当前日期和时间
  • EXTRACT – 截取日期元素
  • “转换”这个词的含义非常广泛,在 SQL 中主要有两层意思:一是数据类型的转换,简称为类型转换,在英语中称为cast;另一层意思是值的转换。

  • CAST – 类型转换
  • 语法:CAST(转换前的值 AS 想要转换的数据类型)

  • COALESCE – 将NULL转换为其他值
  • 语法:COALESCE(数据1,数据2,数据3……)

  • 谓词主要有以下几个:

  • LIKE
  • BETWEEN
  • IS NULL、IS NOT NULL
  • IN
  • EXISTS

  • 当待转换列为数字时,可以使用SUM AVG MAX MIN等聚合函数;
  • 当待转换列为文本时,可以使用MAX MIN等聚合函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值