数据库原理-第三章-PPT整理

SQL语言初步知识点与考点归纳

一、SQL概述

  1. SQL简介
    • 定义:结构化查询语言(Structured Query Language),用于管理关系型数据库的标准语言。
    • 历史与标准化
      • 1970年,E.F.Codd提出关系模型;1974年由Boyce和Chamberlin设计初版(SEQUEL)。
      • 1986年ANSI发布首个标准(SQL-86),后续版本包括SQL-92 正在使用的标准(SQL2)、SQL:1999(支持面向对象)、SQL:2003(支持XML)等。
    • 特点
      • 一体化:集DDL、DML、DCL于一体。
      • 非过程化:用户只需说明“做什么”,无需指定“怎么做”。
      • 面向集合:操作对象是数据集合而非单条记录。
      • 两种使用方式:自含式语言(独立使用)和嵌入式语言(嵌入其他编程语言)。
  1. SQL语言分类
类别 功能 关键语句
DDL 数据定义 CREATE, ALTER, DROP
DML 数据操作 SELECT, INSERT, UPDATE, DELETE
DCL 数据控制 GRANT, REVOKE

二、数据定义语言(DDL

  1. 基本表操作
    • 创建表
  • CREATETABLE表名 (
    列名1 数据类型 [约束],
    列名2 数据类型 [约束],

    [PRIMARY KEY (列名),]
    [FOREIGN KEY (列名) REFERENCES 父表名(列名),]
    [CHECK (条件),]
    );
      • 示例
  • CREATETABLE Student (
    sno CHAR(8) NOT NULL,
    sname VARCHAR(20) NOT NULL,
    sage NUMERIC(3,0),
    ssex CHAR(2),
    clno CHAR(6),
    PRIMARY KEY (sno)
    );
    • 修改表
      • 添加列:ALTER TABLE 表名 ADD 列名 数据类型 [约束];
      • 删除列:ALTER TABLE 表名 DROP COLUMN 列名;
      • 修改列类型:ALTER TABLE 表名 ALTER COLUMN 列名 新数据类型;
    • 删除表:DROP TABLE 表名;(删除表结构及数据,不可逆)。
  1. 索引操作
    • 创建索引
  • CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX索引名
    ON 表名 (列名 [ASC|DESC], …);
      • 聚集索引:数据行物理存储顺序与索引顺序一致(每表仅一个)。
      • 非聚集索引:独立于数据存储的B树结构(默认类型)。
    • 删除索引:DROP INDEX 表名.索引名;

三、数据操作语言(DML

  1. 插入数据
  • INSERTINTO表名 [(列名1, 列名2, …)]
    VALUES (值1, 值2, …);
    • 批量插入:INSERT INTO 表名 SELECT …(从其他表导入数据)。
  1. 更新数据
  • UPDATE表名
    SET 列名1 = 表达式1, 列名2 = 表达式2, …
    [WHERE 条件];
    • 示例:UPDATE Employee SET salary = salary * 1.1 WHERE dept = 'IT';
  1. 删除数据
  • DELETEFROM表名 [WHERE条件];
    • 清空表:TRUNCATE TABLE 表名;(删除所有数据,保留结构,效率高于DELETE)。

四、数据查询(SELECT

  1. 基础语法
  • SELECT [DISTINCT] 列名1, 列名2, …
    FROM 表名
    [WHERE 条件]
    [GROUP BY 分组列]
    [HAVING 分组条件]
    [ORDER BY 排序列];
    • 示例:SELECT sno, sname FROM Student WHERE ssex = '男';
  1. 子查询
    • 嵌套查询:在WHERE或HAVING子句中使用另一个SELECT语句。
    • 示例:查找年龄大于平均年龄的学生:
  • SELECT*FROM Student
    WHERE sage > (SELECT AVG(sage) FROM Student);

五、视图(View

  1. 定义与特点
    • 视图:虚拟表,基于SELECT查询结果生成,不存储数据。
    • 作用:简化复杂查询、增强安全性(限制数据访问)、逻辑数据独立性。
  1. 创建与删除
  • CREATEVIEW视图名 AS SELECT语句;
    DROP VIEW 视图名;
    • 示例:创建女生视图:
  • CREATEVIEW Girl_Student AS
    SELECT * FROM Student WHERE ssex = '女';

六、考点总结

  1. 高频考点
    • SQL语句分类:区分DDL、DML、DCL的语句。
    • 索引类型:聚集索引与非聚集索引的区别。
    • 约束类型:主键、外键、唯一性约束、检查约束的定义。
    • 子查询与连接:IN、EXISTS、JOIN的使用场景。
    • 数据类型选择:CHAR与VARCHAR、NUMERIC与FLOAT的适用场景。
  1. 易错点
    • DROP TABLE与DELETE的区别(结构 vs 数据)。
    • 修改表结构时,新增列必须允许NULL或设置默认值。
    • 索引的维护成本(过多索引影响写性能)。

 

One thought on “数据库原理-第三章-PPT整理”

Leave a Reply

Your email address will not be published. Required fields are marked *