上一篇
使用 SQL 语句可操作数据库:
SELECT 查询数据、
INSERT 添加记录、
UPDATE 修改记录、
DELETE 删除记录、
CREATE 建库/表、
ALTER 修改结构,通过编写这些命令管理数据库内容与结构。
SQL数据库语句使用详解
SQL(结构化查询语言)是操作关系型数据库的标准工具,掌握其核心语句能高效管理数据,以下是系统化的SQL使用指南:
SQL基础语句分类
| 语句类型 | 核心命令 | 功能描述 | 使用频率 |
|---|---|---|---|
| 数据查询 | SELECT | 从数据库检索数据 | |
| 数据操作 | INSERT | 向表添加新记录 | |
| UPDATE | 修改现有记录 | ||
| DELETE | 删除记录 | ||
| 数据定义 | CREATE | 创建数据库/表/索引 | |
| ALTER | 修改表结构 | ||
| DROP | 删除数据库对象 | ||
| 权限控制 | GRANT | 授予用户权限 | |
| REVOKE | 撤销用户权限 |
核心语句详解及示例
数据查询语句 (SELECT)
-- 基本查询 SELECT name, email FROM users WHERE age > 25; -- 多表连接查询 SELECT orders.id, users.name, orders.amount FROM orders JOIN users ON orders.user_id = users.id WHERE orders.date > '2025-01-01'; -- 聚合统计 SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department HAVING AVG(salary) > 5000;
数据操作语句
-- 插入数据
INSERT INTO products (name, price, category)
VALUES ('Wireless Mouse', 129.9, 'Electronics');
-- 更新数据
UPDATE employees
SET salary = salary * 1.1
WHERE performance_rating >= 90;
-- 删除数据
DELETE FROM logs
WHERE created_at < '2022-01-01';
表结构管理语句

-- 创建新表
CREATE TABLE customers (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
join_date DATE DEFAULT CURRENT_DATE
);
-- 修改表结构
ALTER TABLE products
ADD COLUMN stock_count INT DEFAULT 0;
-- 创建索引(提升查询速度)
CREATE INDEX idx_user_email ON users(email);
高级查询技巧
多表连接实战
SELECT
students.name,
courses.title,
grades.score
FROM grades
INNER JOIN students ON grades.student_id = students.id
INNER JOIN courses ON grades.course_id = courses.id
WHERE courses.department = 'Computer Science';
子查询应用
SELECT name, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);
窗口函数分析

SELECT
employee_id,
department,
salary,
RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS dept_rank
FROM employees;
SQL优化黄金法则
-
索引策略
- WHERE/JOIN字段建立索引
- 避免对索引列使用函数(如
WHERE YEAR(date) = 2025) - 组合索引遵循最左前缀原则
-
避免性能陷阱
- 使用
EXISTS替代IN处理大量数据 SELECT *改为明确字段列表- 批量操作时启用事务(减少日志开销)
- 使用
-
安全规范
-- 使用参数化查询防止SQL注入(Python示例) cursor.execute("SELECT * FROM users WHERE email = %s", (user_email,))
学习路径建议
- 基础精通:掌握SELECT/INSERT/UPDATE/DELETE
- 进阶提升:学习JOIN/GROUP BY/子查询
- 高阶应用:深入窗口函数/CTE表达式
- 实战优化:理解执行计划与索引机制
权威参考:
- Microsoft SQL文档
- MySQL 8.0官方手册
- ANSI SQL标准文档
通过系统练习和实战应用,您将逐步掌握SQL的强大能力,建议在开发过程中使用可视化工具(如MySQL Workbench)辅助编写语句,并通过EXPLAIN命令持续优化查询性能。
掌握SQL不仅是技术需求,更是数据驱动决策的核心能力,从基础语句开始,逐步构建复杂查询,您将解锁数据管理的全新维度!

