【sql语句大全】在日常的数据库操作中,SQL(Structured Query Language)是与数据库进行交互的核心工具。无论是数据查询、插入、更新还是删除,掌握常见的SQL语句对于开发人员和数据库管理员来说至关重要。以下是对常用SQL语句的总结,便于查阅和使用。
一、SQL语句分类
SQL语句主要可以分为以下几类:
| 分类 | 说明 |
| DDL(数据定义语言) | 用于定义或修改数据库结构,如创建、删除、修改表等 |
| DML(数据操作语言) | 用于对数据库中的数据进行增删改查操作 |
| DCL(数据控制语言) | 用于管理数据库访问权限,如授权、撤销权限等 |
| TCL(事务控制语言) | 用于管理事务,如提交、回滚事务等 |
二、常见SQL语句汇总
1. DDL(数据定义语言)
| 语句 | 用途 | 示例 |
| `CREATE TABLE` | 创建新表 | `CREATE TABLE users (id INT, name VARCHAR(50));` |
| `ALTER TABLE` | 修改现有表结构 | `ALTER TABLE users ADD COLUMN age INT;` |
| `DROP TABLE` | 删除表 | `DROP TABLE users;` |
| `CREATE INDEX` | 创建索引 | `CREATE INDEX idx_name ON users(name);` |
| `DROP INDEX` | 删除索引 | `DROP INDEX idx_name ON users;` |
2. DML(数据操作语言)
| 语句 | 用途 | 示例 |
| `SELECT` | 查询数据 | `SELECT FROM users;` |
| `INSERT INTO` | 插入数据 | `INSERT INTO users (name, age) VALUES ('Tom', 25);` |
| `UPDATE` | 更新数据 | `UPDATE users SET age = 30 WHERE id = 1;` |
| `DELETE FROM` | 删除数据 | `DELETE FROM users WHERE id = 1;` |
| `TRUNCATE TABLE` | 清空表数据 | `TRUNCATE TABLE users;` |
3. DCL(数据控制语言)
| 语句 | 用途 | 示例 |
| `GRANT` | 授权 | `GRANT SELECT ON users TO user1;` |
| `REVOKE` | 撤销权限 | `REVOKE INSERT ON users FROM user1;` |
| `COMMIT` | 提交事务 | `COMMIT;` |
| `ROLLBACK` | 回滚事务 | `ROLLBACK;` |
4. TCL(事务控制语言)
| 语句 | 用途 | 示例 |
| `BEGIN TRANSACTION` | 开始事务 | `BEGIN TRANSACTION;` |
| `COMMIT` | 提交事务 | `COMMIT;` |
| `ROLLBACK` | 回滚事务 | `ROLLBACK;` |
三、常用查询语句示例
| 功能 | SQL语句 | 说明 |
| 查询所有列 | `SELECT FROM table_name;` | 获取表中所有数据 |
| 查询指定列 | `SELECT id, name FROM users;` | 只获取部分字段 |
| 条件查询 | `SELECT FROM users WHERE age > 20;` | 根据条件筛选数据 |
| 去重查询 | `SELECT DISTINCT name FROM users;` | 去除重复值 |
| 排序查询 | `SELECT FROM users ORDER BY age DESC;` | 按年龄降序排列 |
| 聚合函数 | `SELECT COUNT() FROM users;` | 统计记录数 |
| 分组查询 | `SELECT department, COUNT() FROM employees GROUP BY department;` | 按部门分组统计 |
| 连接查询 | `SELECT users.name, orders.order_id FROM users JOIN orders ON users.id = orders.user_id;` | 多表关联查询 |
四、小结
SQL语句是数据库操作的基础,掌握常用的语法和结构有助于提高工作效率和系统稳定性。以上内容涵盖了DDL、DML、DCL和TCL的主要语句,并附有实际应用示例,适合初学者和有一定经验的开发者参考。在实际开发中,建议结合具体业务场景灵活运用,同时注意SQL注入等问题,确保数据安全和程序健壮性。


