
当然,SQL(Structured Query Language)是用于管理和操作关系数据库的标准编程语言。以下是一个全面的SQL语句分类和示例大全,旨在帮助您理解和使用各种常见的SQL语句。
一、数据定义语言 (DDL)
DDL 语句用于定义和管理数据库结构或模式。
CREATE
- 创建数据库:CREATE DATABASE database_name;
- 创建表:CREATE TABLE table_name (column1 datatype, column2 datatype, ...);
- 创建索引:CREATE INDEX index_name ON table_name (column1, column2, ...);
- 创建视图:CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;
ALTER
- 修改表结构:ALTER TABLE table_name ADD column_name datatype; 或 ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;
- 重命名表:ALTER TABLE old_table_name RENAME TO new_table_name;
DROP
- 删除数据库:DROP DATABASE database_name;
- 删除表:DROP TABLE table_name;
- 删除索引:DROP INDEX index_name;
- 删除视图:DROP VIEW view_name;
TRUNCATE
- 清空表数据但保留表结构:TRUNCATE TABLE table_name;
二、数据操作语言 (DML)
DML 语句用于查询和操作数据库中的数据。
SELECT
- 查询数据:SELECT column1, column2, ... FROM table_name WHERE condition;
- 使用聚合函数:SELECT COUNT(*), AVG(column_name), SUM(column_name), MAX(column_name), MIN(column_name) FROM table_name;
INSERT
- 向表中插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
UPDATE
- 更新表中的现有数据:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
DELETE
- 从表中删除数据:DELETE FROM table_name WHERE condition;
三、数据控制语言 (DCL)
DCL 语句用于设置或更改数据库用户权限。
GRANT
- 授予权限:GRANT SELECT, INSERT, UPDATE ON table_name TO user_name;
REVOKE
- 撤销权限:REVOKE SELECT, INSERT, UPDATE ON table_name FROM user_name;
四、事务控制语言 (TCL)
TCL 语句用于管理数据库中的事务。
COMMIT
- 提交事务:COMMIT;
ROLLBACK
- 回滚事务:ROLLBACK;
SAVEPOINT
- 设置保存点:SAVEPOINT savepoint_name;
- 回滚到保存点:ROLLBACK TO SAVEPOINT savepoint_name;
- 释放保存点:RELEASE SAVEPOINT savepoint_name;
五、其他常用语句
JOIN
- 内连接:SELECT a.*, b.* FROM table1 a INNER JOIN table2 b ON a.common_field = b.common_field;
- 左外连接:SELECT a.*, b.* FROM table1 a LEFT JOIN table2 b ON a.common_field = b.common_field;
- 右外连接:SELECT a.*, b.* FROM table1 a RIGHT JOIN table2 b ON a.common_field = b.common_field;
- 全连接:SELECT a.*, b.* FROM table1 a FULL OUTER JOIN table2 b ON a.common_field = b.common_field;
UNION
- 合并两个或多个 SELECT 结果集:SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2;
SUBQUERY
- 子查询:SELECT * FROM table_name WHERE column_name IN (SELECT column_name FROM another_table WHERE condition);
EXISTS
- 检查子查询是否返回任何行:SELECT * FROM table_name WHERE EXISTS (SELECT 1 FROM another_table WHERE condition);
CASE
- 条件表达式:`SELECT CASE WHEN condition THEN
