计算机四级考试数据库技术(8)
计算机四级考试数据库技术(8)
#
第8章 关系数据库操作语言SQL
8.1 SQL支持的数据类型 #
8.1.1 数值型 #
1、 准确型 #
2、 近似型
#
8.1.2 字符串型
1、 普通编码字符串类型;
2、 统一编码字符串类型—Unicode编码; #
3、 二进制字符串类型;
#
8.1.3 日期时间类型
#
8.1.4 货币类型 #
8.2 定义和维护关系表
8.2.1 关系表的定义与删除
1、定义表
CREATE TABLE 《表名》 (《列名》《数据类型》[列级完整性约束定义]{, 《列名》《数据类型》[列级完整性约束定义]…}[,表级完整性约束定义]) #
1、 列级完整性约束: #
(1) NOT NULL:取值非空; #
(2) DEFAULT:指定列的默认值,形式:DEFAULT 常量; #
(3) UNIQUE:列取值不重复; #
(4) CHECK:列的取值范围,形式:CHECK(约束表达式);
#
(5) PRIMARY KEY:指定本列为主码; #
(6) FOREIGN KEY:定义本列为引用其他表的外码;
2、 删除表
#
DROP TABLE 《表名》
#
8.2.2 修改表结构 #
ALTER TABLE 《表名》 #
8.3 数据操作语言 #
8.3.1 数据查询
#
1、查询语句的基本结构: #
SELECT 《目标列名序列》 FROM 《数据源》 {WHERE , GROUP BY , HAVING , ORGER BY} #
(1) 比较:SELECT A,B,C FROM TABLE_A WHERE A》30;
(2) 确定范围:WHERE A (NOT)BETWEEN 初始值 AND 结束值;
(3) 确定集合:WHERE A (NOT)IN (‘A1’,‘A2’…。‘A3’);
(4) 字符串匹配:WHERE A LIKE 《匹配符》; #
(5) 四种《匹配符》:
(A)_(下划线):匹配任意一个字符; #
(B)%(百分号):匹配0个或多个字符;
#
(C)[ ]:匹配[ ]中的任意一个字符; #
(D)[^]:不匹配[ ]中的任意一个字符; #
(6) 涉及空值的查询:WHERE A IS (NOT)NULL;
#
(7) 多重条件查询:AND(条件必须全部为TRUE,结果才为TRUE),OR(任一条件为TRUE,结果即为TRUE); #
(8) 对查询结果进行排序:ORDER BY A [ASC(顺序) | DESC(逆序)]; #
(9) 列别名:列名 AS 新列名; #
(10) 消除取值相同的行:SELECT DISTINCT A FROM TABLE_A; #
(11) 使用聚合函数统计数据:SQL的聚合函数:
#
(A) COUNT(*):统计表中元组的个数;
(B) COUNT([ALL (全部)| DISTINCT(无重复)] 《列名》):统计本列非空列值的个数;
(C) SUM(列名):计算列值的总和(必须是数值型列);
(D) AVG(列名):计算列值平均值(必须是数值型列); #
(E) MAX(列名):求列最大值; #
(F) MIN(列名):求列最小值; #
(12) 对查询结果进行分组计算:
#
(A) 使用GROUP BY; #
(B) 使用HAVING子句; #
3、 连接查询
(1) 内连接:FROM 表1 JOIN 表2 ON (连接条件);
#
(2) 自连接:一种特殊的内连接,相互连接的表在物理上是同一张表,但通过为表取别名的方法,在逻辑上分为两张表;
#
(3) 外连接:输出不满足连接条件的元组,格式: #
FROM 表1 LEFT|RIGHT OUTER JOIN 表2 ON (连接条件)
#