📜  什么是 SQL?(1)

📅  最后修改于: 2023-12-03 15:06:25.101000             🧑  作者: Mango

什么是 SQL?

SQL(Structured Query Language),是一种用于管理关系型数据库的标准语言。它被广泛应用于企业应用程序和互联网应用程序领域,能够管理、查询、修改和删除关系型数据库中的数据。

SQL 的起源

SQL 诞生于上世纪 70 年代,最早由 IBM 的一组研究人员开发出来,作为关系型数据库系统的查询语言。它参考了 CODASYL 数据库系统语言和 IBM 的 SQL/DS 和 System R 研究项目,经过不断的发展和改进,SQL 成为了一个标准语言,被 ANSI 和 ISO 组织制定为国际标准。

SQL 基本语法

SQL 是一种声明式语言,它与编程语言不同,不需要指定具体的执行过程,而是通过描述要实现的目标和条件,让数据库管理系统自己去优化和执行查询。

SQL 的语法分为以下几个部分:

数据查询语言(DQL)

数据查询语言(Data Query Language,DQL)是 SQL 中用来查询数据库中的数据的语言,通常使用 SELECT 语句来执行查询操作。SELECT 语句用来指定查询的列、表和条件,并可选地进行排序和分组。

例如,下面的 SQL 语句查询名字为 John 的员工在职期间的薪水:

SELECT salary FROM employees WHERE name = 'John';
数据操作语言(DML)

数据操作语言(Data Manipulation Language,DML)是 SQL 中用来操作数据库中的数据的语言,通常包括 INSERT、UPDATE 和 DELETE 语句。

例如,下面的 SQL 语句将一条新的员工记录插入到 employees 表中:

INSERT INTO employees (name, title, salary) VALUES ('Jane', 'Engineer', 80000);
数据定义语言(DDL)

数据定义语言(Data Definition Language,DDL)是 SQL 中用来定义和管理数据库中的对象的语言,通常包括 CREATE、ALTER 和 DROP 语句。DDL 用于创建和修改表、索引、视图等数据库对象。

例如,下面的 SQL 语句创建一个具有 id、name、title 和 salary 字段的 employees 表:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    title VARCHAR(50),
    salary FLOAT
);
数据控制语言(DCL)

数据控制语言(Data Control Language,DCL)是 SQL 中用来管理数据库的访问权限的语言,包括 GRANT 和 REVOKE 语句。

例如,下面的 SQL 语句授予一个名为 dbuser 的用户对 employees 表的 SELECT 权限:

GRANT SELECT ON employees TO dbuser;
常见的 SQL 数据类型

SQL 支持多种数据类型,可以根据需要选择不同的类型。

整数类型
  • INT:整数类型,一般占四个字节,范围为 -2147483648 到 2147483647。
  • SMALLINT:小整数类型,一般占两个字节,范围为 -32768 到 32767。
  • BIGINT:大整数类型,一般占八个字节,范围为 -9223372036854775808 到 9223372036854775807。
浮点数类型
  • FLOAT:浮点数类型,一般占四个字节,范围为 -3.40282347E+38 到 3.40282347E+38。
  • DOUBLE:双精度浮点数类型,一般占八个字节,范围为 -1.7976931348623157E+308 到 1.7976931348623157E+308。
字符串类型
  • CHAR:定长字符串类型,最大长度为 255 个字符。
  • VARCHAR:变长字符串类型,最大长度为 65535 个字符。
  • TEXT:用于存储长文本数据的类型,最大长度为 2 的 32 次方个字节。
SQL 数据库管理系统

SQL 语言本身并不是数据库,而是一种用于管理数据库的语言。为了执行 SQL 语句,您需要使用数据库管理系统(Database Management System,DBMS)。

常见的数据库管理系统包括:

  • MySQL
  • PostgreSQL
  • Oracle Database
  • Microsoft SQL Server
  • SQLite
总结

SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言,它可以管理、查询、修改和删除关系型数据库中的数据。SQL 语法包括数据查询语言(DQL)、数据操作语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。常见的 SQL 数据类型包括整数类型、浮点数类型和字符串类型。为了执行 SQL 语句,您需要使用数据库管理系统(DBMS)。