数据库系统概论:数据库查询语言 SQL

发布于:2024-07-22 ⋅ 阅读:(70) ⋅ 点赞:(0)

SQL (Structured Query Language)起源于1970年代,由 Chamberlin 和 Boyce 在 IBM 开发的 SEQUEL 演化而来,逐渐发展成为标准化的数据查询语言,用于管理关系型数据库。

SQL 概述

SQL (Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 与其他程序设计语言(如 C语言、Java 等)不同的是,SQL 由很少的关键字组成,每个 SQL 语句通过一个或多个关键字构成。

SQL 具有如下优点。

  1. 一体化:SQL 集数据定义、数据操作和数据控制于一体,可以完成数据库中的全部工作。

  2. 使用方式灵活:SQL 具有两种使用方式,可以直接以命令方式交互使用;也可以嵌入使用,嵌入C、C++、Fortran、COBOL、Java 等语言中使用。

  3. 非过程化:只提操作要求,不必描述操作步骤,也不需要导航。使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”,存储路径的选择和操作的执行由数据库管理系统自动完成。

  4. 语言简洁、语法简单:该语言的语句都是由描述性很强的英语单词组成,而且这些单词的数目不多。

SQL组成部分

SQL 包含以下 4 部分:

DDL 数据定义语言(Data Definition Language)

用来创建或删除数据库以及表等对象,主要包含以下几种命令:

  • DROP:删除数据库和表等对象
  • CREATE:创建数据库和表等对象
  • ALTER:修改数据库和表等对象的结构
DML 数据操作语言(Data Manipulation Language)

用来变更表中的记录,主要包含以下几种命令:

  • INSERT:向表中插入新数据
  • UPDATE:更新表中的数据
  • DELETE:删除表中的数据
DQL 数据查询语言(Data Query Language)

用来查询表中的记录,主要包含 SELECT 命令,来查询表中的数据。

DCL 数据控制语言(Data Control Language)

用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对数据库中的用户设定权限。主要包含以下几种命令:

  • GRANT:赋予用户操作权限
  • REVOKE:取消用户的操作权限
  • COMMIT:确认对数据库中的数据进行的变更
  • ROLLBACK:取消对数据库中的数据进行的变更

SQL的高级特性

  • 子查询:嵌套SELECT语句,用于更复杂的查询逻辑。

  • 连接(JOIN):INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN等不同类型的连接操作。

  • 视图(VIEW):虚拟表,用于简化复杂的查询和提供数据抽象层。

  • 存储过程和函数:预编译的SQL代码块,可以接受输入参数,返回输出参数或执行一系列操作。

  • 触发器(TRIGGER):在特定数据库事件发生时自动执行的代码。

  • 事务和锁:确保数据完整性和并发控制的机制。