SQL学习指南第二篇
Posted 暮雪&&如霜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL学习指南第二篇相关的知识,希望对你有一定的参考价值。
使用集合
SQL语言包含3个集合操作符,且每个集合操作符可以有两种修饰符:一个表示包含重复项,另一个表示去除重复项。
union操作符
union与union all操作符可以连接多个数据集,它们的区别在于union对连接后的集合排序并去除重复项,而union all 得到的最终数据集的行数总是等于所要连接的各集合的行数之和。
intersect操作符
ANSI的SQL规范中定义了intersect操作符来执行集合交操作,但mysql还未实现intersect操作符。
except操作符
ANSI SQL规范定义了except操作符以执行集合差操作,但MySQL还未实现except操作符。
数据生成,转换和操作
使用字符串数据
MySQL中有以下字符数据类型:
- CHAR 固定长度,不足部分用空格填充
- VARCHAR 变长字符串
- TEXT 容纳大长度的变长字符串
生成字符串
当我们向表中插入的字符串数据长度超过字符列的最大长度时,服务器会抛出异常,而在早先的服务器版本中,默认方式是截断字符串并发出一个警告。如果希望数据库引擎采取后一种方式,可以将之修改为ANSI模式。
SET sql_mode = 'ansi';
SELECT @@session..sql_mode;
SHOW WARNINGS;
所以我们可以将列长度的上限设置为足够大,以处理可能存储在列中的最长字符串(由于服务器是在存储字符串时按需分配空间,因此不会因为将varchar列的上限值设置得比较大而浪费资源)。
内建函数quote()会用单引号将整个字符串包含起来,并为字符串本身的单引号/撇号增加转义符。例如:SELECT quote(text_fld) FROM string_tbl;
操作字符串
length()函数返回字符串的字符数。concat()函数可以根据多个独立的数据片段来构建返回字符串。
使用时间数据
以上是关于SQL学习指南第二篇的主要内容,如果未能解决你的问题,请参考以下文章
(转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)