布局化盘诘措辞(Structured Query Language,SQL)
SQL 的组成部分
SQL 是一种用来定义和操纵数据库工具的措辞。利用 SQL 定义数据库表、将数据拔出表中、点窜表中的数据和从表中检索数据。与统统措辞一样,SQL 也定义了语法和一套措辞元素。
大多半 SQL 语句包括一个或多个以下措辞元素:
- 单字节的字符 可所以字母(A-Z、a-z、$、# 和 @,或某个扩展字符集的成员)、数字(0-9)或额外字符(网罗逗号、星号、加号、百分号、与标记等等)。
- 标记(token) 是包括一个或多个字符的序列。它不能包括空白字符,除非它是被限界的标识符(由双引号获救的一个或多个字符)或字符串常量。
- SQL 标识符 是用来组成称号的标记。
- 值的数据类型 抉择 DB2 怎样诠释这个值。DB2 支撑许多内置的数据类型,还支撑用户定义的类型(UDT)。
- 常量 指定一个值。它们分为字符、图形或十六进制字符串常量,以及整数、小数或浮点数字常量。
- 额外存放器 是数据库经管法度为一个利用法度过程定义的一个存储区域,用来存储可以在 SQL 语句中援用的信息。额外存放器的示例是
CURRENT DATE
、CURRENT DBPARTITIONNUM
和CURRENT SCHEMA
。 - 例程 可所以函数、编制或过程。
- 函数 施展阐发一个或多个输入数据值与一个或多个效果值之间的关连。数据库函数可所以内置的或用户定义的。
列(即聚合)函数 对一个列中的一组值阻止操纵,前往单一值。比方:
SUM(sales)
前往 Sales 列中值的总和。AVG(sales)
前往 Sales 列中值的匀称值(即总和除以值的数量)MIN(sales)
前往 Sales 列中的最小值。MAX(sales)
前往 Sales 列中的最大值。COUNT(sales)
前往 Sales 列中非空值的数量。
标量函数 对单一值阻止操纵,前往另一个单一值。比方:
ABS(-5)
前往 -5 的相对值,即 5。HEX(69)
前往数字 69 的十六进制施展阐发,即 45000000。LENGTH('Pierre')
前往字符串 “Pierre” 中的字节数量,即 6。关于 GRAPHIC 字符串,LENGTH 函数前往双字节字符的数量。YEAR('03/14/2002')
提取 03/14/2002 的年份部分,即 2002。MONTH('03/14/2002')
提取 03/14/2002 的月份部分,即 3。DAY('03/14/2002')
提取 03/14/2002 的日部分,即 14。LCASE('SHAMAN')
或LOWER('SHAMAN')
前往已经转换为全小写字符的字符串,即 ‘shaman’。UCASE('shaman')
或UPPER('shaman')
前往已经转换为全大写字符的字符串,即 ‘SHAMAN’。
用户定义的函数利用
CREATE FUNCTION
语句注册到数据库的体系编目中(可以经过SYSCAT.ROUTINES
编目视图造访)。 - 编制 也是一组输入数据值和一组效果值之间的关连。可是,数据库编制是作为用户定义的布局化类型的一部分隐式或显式地定义的。比方,一个称为 CITY 的编制(类型为 ADDRESS)承受
VARCHAR
类型的输入值,效果是 ADDRESS 的一个子类型。用户定义的编制利用CREATE METHOD
语句注册到数据库的体系编目中(可以经过SYSCAT.ROUTINES
编目视图造访)。关于布局化类型的更多信息,请参考 DB2 根柢内幕底子: 布局化数据类型和类型化表简介 。 - 过程 是一个可以经过实行
CALL
语句来启动的利用法度。过程的参数是不合类型的标量值,可以用来将值通报进过程中、承受过程的前往值或许同时有这两种作用。用户定义的过程利用CREATE PROCEDURE
语句注册到数据库的体系编目中(可以经过SYSCAT.ROUTINES
编目视图造访)。
- 函数 施展阐发一个或多个输入数据值与一个或多个效果值之间的关连。数据库函数可所以内置的或用户定义的。
- 表达式 指定一个值。有字符串表达式、算术表达式和情况表达式,情况表达式可以用来根据对一个或多个前提的比赛争论来指定某一效果。
- 谓词(predicate) 指定关于给定的行或组的一个前提,效果可所以真、假或未知。谓词有几个子类型:
- 底子谓词 对两个值阻止比力(比方,x > y)。
BETWEEN
谓词将一个值与一个值领域阻止比力。EXISTS
谓词测试某些行可否存在。IN
谓词鉴别一个或多个值可否在一个值荟萃中。LIKE
谓词搜刮具有某一方式的字符串。NULL
谓词测试空值。
版权声明: 原创作品,容许转载,转载时请务必以超链接方式标明文章 原始情由 、作者信息和本声明。否则将清查功令责任。