这篇文章与博主产生了羁绊,将会长期更新(Long Term Update)

写在前面

SQL(Structured Query Language) 即结构化查询语言,是一种应用广泛的数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL 是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

数据库的基本操作无非就是增删查改,但是因为 SQL 的灵活性,我们就有了更多的方式来完成大多数复杂的操作。

请注意本文基于 MSSQL 编写,大多数语句和操作与其他数据库相同,但可能存在细微的差异

SQL 分类

分类简写 分类 常用语句
DDL 数据定义语言 CREATE,ALTER,DROP,DECLARE
DML 数据操纵语言 SELECT,DELETE,UPDATE,INSERT
DCL 数据控制语言 GRANT,REVOKE,COMMIT,ROLLBACK

SQL 语句

依照 SQL 分类规则 对常用语句的整理

本文行内元素示例

格式 特征 含义
col_name 由下划线分割 自定义字段名称
[NOT NULL] 由方括号包裹 可选内置关键字

本文使用到的英文术语词汇

英文 翻译
condition 条件(表达式)

DDL

CREATE

创建数据库

1
CREATE DATABSE db_name

创建表

1
CREATE TABLE table_name(col_name col_type [NOT NULL] [PRIMARY KEY], col_name1 col_type1 [NOT NULL], ...)

根据现有表创建新表

1
CREATE TABLE table_name_new LIKE table_name_old

创建索引

索引无法更改,需更改必须删除重建

1
CREATE [UNIQUEE] INDEX index_name ON table_name(col_name)

创建视图

1
CREATE VIEW view_name AS SELECT table_name

删除数据库 内链

删除数据表 内链

删除索引 内链

删除视图 内链

ALTER

为数据表增加一列

列增加后将无法被删除,唯一能改变的是增加 VARCHAR 类型的长度

1
ALTER TABLE table_name ADD COLUMN col_name col_type

添加主键

1
ALTER TABLE table_name ADD PRIMARY KEY(col_name)

删除主键

1
ALTER TABLE table_name DROP PRIMARY KEY(col_name)

DROP

删除数据库

1
DROP DATABASE db_name

删除数据表

1
DROP TABLE table_name

删除索引

1
DROP INDEX index_name

删除视图

1
DROP VIEW view_name

DECLARE

DML

INSERT

DELETE

SELECT

UPDATE

DCL

GRANT

REVOKE

COMMIT

ROLLBACK