写点什么

SQL 是什么?它能做什么?

作者:乌龟哥哥
  • 2022 年 9 月 24 日
    上海
  • 本文字数:1661 字

    阅读完需:约 5 分钟

对数据库进行查询和修改操作的语言叫做 SQL(Structured Query Language,结构化查询语言)。SQL 语言是目前广泛使用的关系数据库标准语言,是各种数据库交互方式的基础。

著名的大型商用数据库 Oracle、DB2、Sybase、SQL Server,开源的数据库 PostgreSQL、MySQL,甚至一些小型的数据库 Access 等都支持 SQL。近些年蓬勃发展的 NoSQL 系统最初是宣称不再需要 SQL 的,后来也不得不修正为 Not Only SQL,来拥抱 SQL。

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


SQL 具有如下优点。

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

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

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

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

SQL 包含以下 4 部分:

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

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

  • DROP:删除数据库和表等对象

  • CREATE:创建数据库和表等对象

  • ALTER:修改数据库和表等对象的结构

2)数据操作语言(Data Manipulation Language,DML)

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

  • SELECT:查询表中的数据

  • INSERT:向表中插入新数据

  • UPDATE:更新表中的数据

  • DELETE:删除表中的数据

3)数据查询语言(Data Query Language,DQL)

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

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

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

  • GRANT:赋予用户操作权限

  • REVOKE:取消用户的操作权限

  • COMMIT:确认对数据库中的数据进行的变更

  • ROLLBACK:取消对数据库中的数据进行的变更

下面是一条 SQL 语句的例子,该语句声明创建一个名叫 students 的表:

CREATE TABLE students (    student_id INT UNSIGNED,    name VARCHAR(30) ,    sex CHAR(1),    birth DATE,    PRIMARY KEY(student_id));
复制代码

该表包含 4 个字段,分别为 student_id、name、sex、birth,其中 student_id 定义为表的主键。


现在只是定义了一张表格,但并没有任何数据,接下来这条 SQL 声明语句,将在 students 表中插入一条数据记录:

INSERT INTO students (student_id, name, sex, birth)VALUES (41048101, 'C语言中文网MySQL教程', '1', '2013-02-14');
复制代码

执行完该 SQL 语句之后,students 表中就会增加一行新记录,该记录中字段 student_id 的值为“41048101”,name 字段的值为“C语言中文网MySQL教程”。sex 字段值为“1”,birth 字段值为“2013-02-14”。


再使用 SELECT 查询语句获取刚才插入的数据,如下:

SELECT name FROM students WHERE student_id=41048101;+--------------+| name         |+--------------+|C语言中文网MySQL教程|+--------------+
复制代码

上面简单列举了常用的数据库操作语句,在这里留下一个印象即可,后面我们会详细介绍这些知识。

注意:SQL 语句不区分大小写,许多 SQL 开发人员习惯对 SQL 本身的关键字进行大写,而对表或者列的名称使用小写,这样可以提高代码的可阅读性和可维护性。本教程也按照这种方式组织 SQL 语句。大多数数据库都支持通用的 SQL 语句,同时不同的数据库具有各自特有的 SQL 语言特性。

拓展

标准 SQL 是指符合国际标准的 SQL,而非某个数据库厂商的 SQL 语法(如:Microsoft SQL Server 的 T-SQL,Oracle 的 PL/SQL,MySQL)。


标准 SQL 可以在任何数据库中使用,而数据库厂商的 SQL 只适合它们对应的数据库,如 T-SQL 只适合 Microsoft SQL Server。

发布于: 刚刚阅读数: 3
用户头像

乌龟哥哥

关注

正在努力寻找offer的大四小菜鸟 2021.03.16 加入

擅长 Hbuilder、VS Code、MyEclipse、AppServ、PS 等软件的安装与卸载 精通 Html、CSS、JavaScript、jQuery、Java 等单词的拼写 熟悉 Windows、Linux、 等系统的开关机 看–时间过得多快,不说了,去搬砖了

评论

发布
暂无评论
SQL是什么?它能做什么?_9月月更_乌龟哥哥_InfoQ写作社区