当前位置: 主页 > 其他类 > 计算机等级 > 四级考试 >

2017年计算机等级考试四级数据库工程师复习(8)

帮考网  [ 2017-02-17 18:23 ]  【
  第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 (连接条件)

  4、 查询语句的扩展:

  (1) 合并多个结果集:SELECT 语句1 UNION SELECT 语句2……,使用UNION的两个基本规则:

  (A) 所有查询语句中列的个数和列的顺序必须相同;

  (B) 所有查询语句中对应的数据类型必须兼容;

  (2) 将查询结果保存到新表中:SELECT 查询列表序列 INTO 新表名 FROM 数据源;

  (3) 使用TOP限制结果集行数:TOP n [percent] [WITH TIES]

  (A) TOP n :表示取查询结果的前n行;

  (B) TOP n percent:表示取查询结果的前n%行;

  (C) WITH TIES:表示包括并列的结果;

  (4) 使用CASE表达式:

  (A) 简单CASE表达式:

  (B) 搜索CASE表达式;

  5、子查询:如果一个SELECT语句是嵌套在一个SELECT、INSERT、UPDATE或DELETE语句中,则称为子查询或内层查询,包含子查询的语句称为主查询或外层查询;

  (1) 使用子查询进行基于集合的测试,形式:WHERE 表达式 [NOT] IN (子查询);

  (2) 使用子查询进行比较测试,形式:WHERE 表达式 比较运算符 (子查询);

  (3) 使用子查询进行存在性测试,形式:WHERE [NOT] EXISTS (子查询);

  8.3.2 数据修改

  1、 添加数据:INSERT [INTO] 表名 VALUE 值列表;使用插入单行语句时要注意:

  (1) 值列表中的值与列名表中的列按位置顺序对应,要求它们的数据类型必须一致;

  (2) 如果[表名]后边没有指明列名,则值列表中的值的顺序必须与表中列的顺序一致,且每一列均有值;

  2、 更新数据:形式 UPDATE 表名 SET [列名=表达式] [WHERE 更新条件];

  3、 删除数据::形式DELETE [FROM] 表名 [WHERE 删除条件];

  8.4 索引

  1、 创建索引:CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED]

  INDEX 索引名 ON 表名

  (1) UNIQUE:表示要创建的索引是唯一索引;

  (2) CLUSTERED:表示要创建的索引是聚集索引;

  (3) NONCLUSTERED:表示要创建的索引是非聚集索引;

  2、 删除索引:DROP INDEX 索引名;

  8.5 视图

  8.5.1 定义视图

  1、 语法格式:CREATE VIEW 视图名 AS SELECT 语句 [WITH CHECK OPTION]

  2、 需要注意下列几点:

相关推荐

报考指南