【数据库sql语句大全】在日常的数据库操作中,SQL(Structured Query Language)是与数据库交互的核心语言。无论是数据查询、插入、更新还是删除,掌握常见的SQL语句是提高工作效率的关键。以下是对常用SQL语句的总结,涵盖基础查询、条件筛选、数据排序、聚合函数、表连接、数据修改等常见操作。
一、SQL语句分类总结
| 类别 | SQL语句示例 | 功能说明 |
| 基础查询 | `SELECT FROM table_name;` | 查询表中所有记录 |
| 条件筛选 | `SELECT FROM table_name WHERE condition;` | 根据条件筛选数据 |
| 排序 | `SELECT FROM table_name ORDER BY column ASC/DESC;` | 对结果进行升序或降序排列 |
| 聚合函数 | `SELECT COUNT(), AVG(column), SUM(column) FROM table_name;` | 进行计数、平均值、求和等统计操作 |
| 分组 | `SELECT column, COUNT() FROM table_name GROUP BY column;` | 按列分组并统计信息 |
| 子查询 | `SELECT FROM table_name WHERE column IN (SELECT column FROM another_table);` | 在一个查询中嵌套另一个查询 |
| 表连接 | `SELECT t1.column, t2.column FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id;` | 合并多个表的数据 |
| 数据插入 | `INSERT INTO table_name (column1, column2) VALUES (value1, value2);` | 插入新数据到表中 |
| 数据更新 | `UPDATE table_name SET column = value WHERE condition;` | 修改现有数据 |
| 数据删除 | `DELETE FROM table_name WHERE condition;` | 删除符合条件的数据 |
| 索引创建 | `CREATE INDEX index_name ON table_name (column);` | 提高查询效率 |
| 表结构修改 | `ALTER TABLE table_name ADD column datatype;` | 修改表结构 |
二、常见SQL语句详解
1. SELECT 语句
用于从数据库中检索数据。
```sql
SELECT column1, column2 FROM table_name;
```
- `` 表示所有列。
- 可以使用别名:`SELECT column AS alias FROM table_name;`
2. WHERE 子句
用于过滤记录。
```sql
SELECT FROM employees WHERE salary > 5000;
```
- 支持逻辑运算符:`AND`, `OR`, `NOT`
- 支持比较运算符:`=`, `>`, `<`, `>=`, `<=`, `<>`
3. ORDER BY 子句
用于对结果集进行排序。
```sql
SELECT FROM products ORDER BY price DESC;
```
- `ASC` 是默认排序方式(升序)
- 可多字段排序:`ORDER BY column1 ASC, column2 DESC`
4. GROUP BY 和 HAVING
用于对数据进行分组,并结合聚合函数使用。
```sql
SELECT department, AVG(salary) FROM employees GROUP BY department;
```
- `HAVING` 用于对分组后的结果进行过滤:
```sql
SELECT department, COUNT() FROM employees GROUP BY department HAVING COUNT() > 5;
```
5. JOIN 操作
用于合并两个或多个表的数据。
- INNER JOIN:返回两个表中匹配的记录
- LEFT JOIN:返回左表所有记录,右表无匹配时为NULL
- RIGHT JOIN:返回右表所有记录,左表无匹配时为NULL
- FULL JOIN:返回两个表的所有记录(部分数据库支持)
```sql
SELECT orders.order_id, customers.name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.id;
```
6. 子查询
在一个查询中嵌套另一个查询。
```sql
SELECT name, salary FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
```
7. INSERT 语句
用于向表中添加新记录。
```sql
INSERT INTO users (name, email) VALUES ('John', 'john@example.com');
```
- 可一次性插入多条数据:
```sql
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com'), ('Bob', 'bob@example.com');
```
8. UPDATE 语句
用于修改表中的现有数据。
```sql
UPDATE employees SET salary = 6000 WHERE id = 1;
```
- 可同时更新多个字段:
```sql
UPDATE employees SET salary = 6000, department = 'HR' WHERE id = 1;
```
9. DELETE 语句
用于删除表中的记录。
```sql
DELETE FROM employees WHERE id = 1;
```
- 删除所有记录:
```sql
DELETE FROM employees;
```
> 注意:`DELETE` 操作不可逆,建议先备份数据。
10. 索引与优化
合理使用索引可以显著提升查询性能。
```sql
CREATE INDEX idx_name ON employees (name);
```
- 删除索引:
```sql
DROP INDEX idx_name ON employees;
```
三、总结
SQL 是数据库操作的核心语言,熟练掌握其基本语法和常用操作是数据库开发和管理的基础。通过本文的总结,你可以快速了解各类SQL语句的用法和适用场景。在实际工作中,应根据业务需求灵活组合这些语句,以实现高效的数据处理与分析。
如需进一步学习复杂查询、事务控制、存储过程等内容,可参考数据库厂商提供的官方文档或相关技术书籍。


