sql语句大全

sql语句大全

当然,SQL(Structured Query Language)是用于管理和操作关系数据库的标准编程语言。以下是一个全面的SQL语句分类和示例大全,旨在帮助您理解和使用各种常见的SQL语句。

一、数据定义语言 (DDL)

DDL 语句用于定义和管理数据库结构或模式。

  1. 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;
  2. 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;
  3. DROP

    • 删除数据库:DROP DATABASE database_name;
    • 删除表:DROP TABLE table_name;
    • 删除索引:DROP INDEX index_name;
    • 删除视图:DROP VIEW view_name;
  4. TRUNCATE

    • 清空表数据但保留表结构:TRUNCATE TABLE table_name;

二、数据操作语言 (DML)

DML 语句用于查询和操作数据库中的数据。

  1. 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;
  2. INSERT

    • 向表中插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
  3. UPDATE

    • 更新表中的现有数据:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
  4. DELETE

    • 从表中删除数据:DELETE FROM table_name WHERE condition;

三、数据控制语言 (DCL)

DCL 语句用于设置或更改数据库用户权限。

  1. GRANT

    • 授予权限:GRANT SELECT, INSERT, UPDATE ON table_name TO user_name;
  2. REVOKE

    • 撤销权限:REVOKE SELECT, INSERT, UPDATE ON table_name FROM user_name;

四、事务控制语言 (TCL)

TCL 语句用于管理数据库中的事务。

  1. COMMIT

    • 提交事务:COMMIT;
  2. ROLLBACK

    • 回滚事务:ROLLBACK;
  3. SAVEPOINT

    • 设置保存点:SAVEPOINT savepoint_name;
    • 回滚到保存点:ROLLBACK TO SAVEPOINT savepoint_name;
    • 释放保存点:RELEASE SAVEPOINT savepoint_name;

五、其他常用语句

  1. 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;
  2. UNION

    • 合并两个或多个 SELECT 结果集:SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2;
  3. SUBQUERY

    • 子查询:SELECT * FROM table_name WHERE column_name IN (SELECT column_name FROM another_table WHERE condition);
  4. EXISTS

    • 检查子查询是否返回任何行:SELECT * FROM table_name WHERE EXISTS (SELECT 1 FROM another_table WHERE condition);
  5. CASE

    • 条件表达式:`SELECT CASE WHEN condition THEN