muhamadsuharto/sql-cheatsheet
GitHub: muhamadsuharto/sql-cheatsheet
Stars: 0 | Forks: 2
# SQL 速查表 📊
欢迎使用 SQL 速查表仓库!这是一份实用的 SQL 指南,涵盖数据定义、查询、操作、控制和事务。无论你是初学者还是经验丰富的开发者,这份速查表都旨在简化你的 SQL 学习之旅。
[](https://github.com/muhamadsuharto/sql-cheatsheet/releases)
## 目录
- [简介](#introduction)
- [入门指南](#getting-started)
- [SQL 基础](#sql-basics)
- [数据定义语言 (DDL)](#data-definition-language-ddl)
- [数据操作语言 (DML)](#data-manipulation-language-dml)
- [数据查询语言 (DQL)](#data-query-language-dql)
- [数据控制语言 (DCL)](#data-control-language-dcl)
- [事务控制语言 (TCL)](#transaction-control-language-tcl)
- [进阶主题](#advanced-topics)
- [示例](#examples)
- [贡献](#contributing)
- [许可证](#license)
## 简介
SQL (Structured Query Language) 是用于管理和操作数据库的标准语言。本仓库提供了必要的 SQL 命令和概念的简明概述。你可以[在这里](https://github.com/muhamadsuharto/sql-cheatsheet/releases)找到最新的更新和发布版本。
## 入门指南
要开始使用此速查表,请从上面的链接下载最新版本。该版本包含所有必要的文件,可帮助你有效地理解和练习 SQL 命令。
## SQL 基础
### 数据定义语言 (DDL)
DDL 用于定义和管理所有数据库对象。以下是一些常见的 DDL 命令:
- **CREATE**:用于创建新的表或数据库。
- **ALTER**:用于修改现有的数据库对象。
- **DROP**:用于删除表或数据库。
**示例**:
```
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
position VARCHAR(50)
);
```
### 数据操作语言 (DML)
DML 用于操作表中的数据。常见的 DML 命令包括:
- **INSERT**:向表中添加新记录。
- **UPDATE**:修改现有记录。
- **DELETE**:从表中删除记录。
**示例**:
```
INSERT INTO employees (id, name, position) VALUES (1, 'Alice', 'Manager');
```
### 数据查询语言 (DQL)
DQL 主要与查询数据有关。主要命令是:
- **SELECT**:从一个或多个表中检索数据。
**示例**:
```
SELECT * FROM employees WHERE position = 'Manager';
```
### 数据控制语言 (DCL)
DCL 用于控制对数据库中数据的访问。常见的 DCL 命令包括:
- **GRANT**:授予用户对数据库对象的访问权限。
- **REVOKE**:撤销访问权限。
**示例**:
```
GRANT SELECT ON employees TO user1;
```
### 事务控制语言 (TCL)
TCL 管理数据库中的事务。关键命令包括:
- **COMMIT**:保存在当前事务中所做的所有更改。
- **ROLLBACK**:撤销在当前事务中所做的更改。
**示例**:
```
BEGIN;
UPDATE employees SET position = 'Senior Manager' WHERE id = 1;
COMMIT;
```
## 进阶主题
### 连接 (Joins)
Joins 允许你根据相关的列组合两个或多个表中的行。常见的连接类型包括:
- **INNER JOIN**:返回两个表中具有匹配值的记录。
- **LEFT JOIN**:返回左表中的所有记录以及右表中的匹配记录。
- **RIGHT JOIN**:返回右表中的所有记录以及左表中的匹配记录。
- **FULL OUTER JOIN**:只要左表或右表记录中有匹配项,就返回记录。
**示例**:
```
SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
```
### 索引 (Indexes)
Indexes 可提高数据库表上数据检索操作的速度。可以在一个或多个列上创建它们。
**示例**:
```
CREATE INDEX idx_employee_name ON employees (name);
```
### 视图 (Views)
视图是基于 SQL 语句结果集的虚拟表。它可以简化复杂的查询。
**示例**:
```
CREATE VIEW manager_view AS
SELECT * FROM employees WHERE position = 'Manager';
```
### 存储过程 (Stored Procedures)
Stored procedures 是一组可以存储在数据库服务器上并执行的 SQL 语句。
**示例**:
```
CREATE PROCEDURE GetEmployeeById (IN emp_id INT)
BEGIN
SELECT * FROM employees WHERE id = emp_id;
END;
```
## 示例
以下是一些说明 SQL 命令的实际示例:
### 创建表
```
CREATE TABLE products (
product_id INT PRIMARY KEY,
product_name VARCHAR(100),
price DECIMAL(10, 2)
);
```
### 插入数据
```
INSERT INTO products (product_id, product_name, price)
VALUES (1, 'Laptop', 999.99);
```
### 更新数据
```
UPDATE products
SET price = 899.99
WHERE product_id = 1;
```
### 删除数据
```
DELETE FROM products
WHERE product_id = 1;
```
## 贡献
欢迎各种贡献!如果你有建议或改进意见,请创建 pull request。你也可以报告问题或请求新功能。
## 许可证
本项目采用 MIT 许可证授权。有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
有关更多资源和更新,请访问我们的 [Releases](https://github.com/muhamadsuharto/sql-cheatsheet/releases) 部分。祝你编码愉快!
标签:DCL, DDL, DML, DNS解析, DQL, SQL, SQL速查表, TCL, 事务控制, 后端开发, 多线程, 学习资料, 开发手册, 开源项目, 技术文档, 数据定义, 数据库, 数据库管理, 数据操作, 数据查询, 程序员必备, 系统审计, 编程教程, 防御加固