上一篇
SQL是用于操作数据库的结构化查询语言,通过特定命令执行数据操作,主要命令包括SELECT查询数据、INSERT插入新记录、UPDATE修改数据、DELETE删除记录以及CREATE创建表/库等。
### 什么是 SQL 命令?
SQL(Structured Query Language)是用于管理和操作关系型数据库的标准编程语言,通过 SQL 命令,用户可以执行以下核心操作:
- **创建/修改数据库结构**(如表、索引)
- **增删改查数据**
- **控制数据访问权限**
- **确保数据完整性与安全**
以下是常用 SQL 命令分类及详细用法示例:
---
### 一、数据定义语言(DDL)
用于定义数据库结构:
```sql
-- 创建表
CREATE TABLE Users (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE
);
-- 修改表结构
ALTER TABLE Users ADD COLUMN age INT;
-- 删除表
DROP TABLE Users;
数据操作语言(DML)
管理表中的数据记录:
-- 插入数据 INSERT INTO Users (id, name, email) VALUES (1, '张三', 'zhangsan@example.com'); -- 更新数据 UPDATE Users SET email = 'new_email@example.com' WHERE id = 1; -- 删除数据 DELETE FROM Users WHERE name = '张三';
数据查询语言(DQL)
检索数据库中的数据:
-- 基础查询 SELECT name, email FROM Users; -- 条件筛选 + 排序 SELECT * FROM Users WHERE age > 18 ORDER BY name DESC; -- 多表关联查询 SELECT Users.name, Orders.product FROM Users JOIN Orders ON Users.id = Orders.user_id;
数据控制语言(DCL)
管理数据库权限:

-- 授予用户权限 GRANT SELECT, INSERT ON Users TO user1; -- 撤销权限 REVOKE DELETE ON Users FROM user1;
事务控制命令
确保数据操作的原子性:
BEGIN TRANSACTION; UPDATE Accounts SET balance = balance - 100 WHERE id = 1; UPDATE Accounts SET balance = balance + 100 WHERE id = 2; COMMIT; -- 确认执行 -- ROLLBACK; -- 出错时回滚
关键注意事项
-
大小写敏感
SQL 关键字不区分大小写(如SELECT与select等效),但表名和列名在部分数据库(如 PostgreSQL)中区分大小写。
-
安全防护
使用参数化查询防止 SQL 注入:-- 错误做法(不安全) SELECT * FROM Users WHERE name = '" + userInput + "'"; -- 正确做法(参数化) SELECT * FROM Users WHERE name = ?;
-
性能优化

- 频繁查询的字段添加索引:
CREATE INDEX idx_name ON Users(name); - 避免
SELECT *,明确指定所需列。
- 频繁查询的字段添加索引:
掌握 SQL 命令是数据库操作的基石,实际应用时需结合具体数据库系统(如 MySQL、SQL Server)的语法差异,建议通过以下方式深化学习:
- 使用在线沙盒实践(如 SQL Fiddle)
- 阅读官方文档(如 MySQL 8.0 Reference)
- 遵循数据安全规范
引用说明 参考自关系型数据库通用标准 ANSI SQL,并兼容主流数据库实现(MySQL、PostgreSQL),示例基于 SQL:2016 语法规范,权威来源包括:
- Oracle 官方 SQL 指南
- Microsoft SQL Server 文档
- 《SQL 必知必会》(Ben Forta 著)
