muhamadsuharto/sql-cheatsheet

GitHub: muhamadsuharto/sql-cheatsheet

Stars: 0 | Forks: 2

# SQL 速查表 📊 欢迎使用 SQL 速查表仓库!这是一份实用的 SQL 指南,涵盖数据定义、查询、操作、控制和事务。无论你是初学者还是经验丰富的开发者,这份速查表都旨在简化你的 SQL 学习之旅。 [![下载发布版](https://img.shields.io/badge/Download%20Releases-blue?style=for-the-badge&logo=github)](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, 事务控制, 后端开发, 多线程, 学习资料, 开发手册, 开源项目, 技术文档, 数据定义, 数据库, 数据库管理, 数据操作, 数据查询, 程序员必备, 系统审计, 编程教程, 防御加固