1. SQL 是什么?
SQL(Structured Query Language)是一种用于管理关系型数据的编程语言。它是在20世纪70年代初由 IBM 的 Edgar F. Codd 首次提出,目的是为了改进传统的关系数据库管理系统(RDBMS)。
现在,SQL 已经成为了事实上的关系型数据库标准语言。通过 SQL 命令,用户可以在关系型数据中进行各种操作,包括添加、删除、修改和查询等。
SQL 的语法比较简单,易于学习和使用,可以运行在任何的操作系统上,因此被广泛应用于企业级应用和各种数据库系统中。
2. SQL 的历史
2.1 SQL 的起源
SQL 最初是在20世纪70年代由 IBM 的 Edgar F. Codd 提出的。
在那个时候,关系数据库已经诞生多年了,但是没有一个标准的语言来管理它们。Codd 意识到这一点,他提出了一个名为 SEQUEL(Structured English Query Language)的语言,作为数据管理和检索的标准手段。
不过由于名字有版权问题,后来改成了 SQL。
2.2 SQL 的发展
1986年,美国国家标准局 (ANSI)成立了一个委员会,负责标准化 SQL。委员会在1986年发布了第一个标准化的 SQL 标准,被命名为 SQL-86。
之后,标准不断发展,SQL-89、SQL-92、SQL:1999、SQL:2003、SQL:2008 等版本相继发布,每一个版本都增加了新的功能和语法。
虽然各个厂商的数据库系统略有不同,但是都支持 SQL 语言的基本语法和操作,因此 SQL 成为了事实上的关系型数据库标准语言。
3. SQL 的基本语法
SQL 的基本语法有以下几个部分:
3.1. 数据定义语言(Data Definition Language,DDL)
DDL 主要用于定义数据库对象,例如:表、索引、约束等等。
-- 创建一个新的表
CREATE TABLE my_table (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT
);
3.2. 数据操作语言(Data Manipulation Language,DML)
DML 主要用于插入、更新和删除数据。
-- 插入一条记录
INSERT INTO my_table (id, name, age) VALUES (1, '小明', 20);
-- 更新记录
UPDATE my_table SET age = 21 WHERE name = '小明';
-- 删除记录
DELETE FROM my_table WHERE id = 1;
3.3. 数据查询语言(Data Query Language,DQL)
DQL 用于查询数据库中的数据。
-- 查询所有记录
SELECT * FROM my_table;
-- 查询指定条件的记录
SELECT name, age FROM my_table WHERE age > 18;
4. SQL 的应用
为了更好的理解 SQL 的应用,下面我们来看一个简单的例子。
假设我们有一个存储著名电影信息的数据库,其中包含了电影的名称、导演姓名、上映日期等等。我们可以通过 SQL 来查询这个数据库,以查找一些感兴趣的电影。
-- 查询所有电影的名称和导演名称
SELECT title, director FROM movies;
-- 查询由某个导演所执导的所有电影
SELECT title FROM movies WHERE director = 'Steven Spielberg';
-- 查询某个时间范围内的电影
SELECT title, release_date FROM movies WHERE release_date BETWEEN '2010-01-01' AND '2020-12-31';
-- 按电影名称排序
SELECT title FROM movies ORDER BY title ASC;
上面的例子只是 SQL 的应用中的冰山一角,SQL 的功能远远不止于此,可以根据不同的需求进行不同的组合。
5. 总结
本文主要介绍了 SQL 的起源、历史、基本语法以及应用。SQL 的出现改变了数据管理和检索的方式,成为了关系型数据库标准语言。SQL 的语法简单易学,功能强大,可以通过其操作关系型数据库,进行各种增、删、改、查的操作。