# 结构化查询语言（Structured Query Language）

### 缩写：SQL

### 简述

关系型数据库中声明式访问与定义数据的标准语言：查询（SELECT）、修改（INSERT/UPDATE/DELETE）、模式定义（DDL）与权限控制等。声明「要什么结果」，优化器决定「怎么做」。

### 为何出现

需要跨产品的统一数据语言，把物理访问细节从业务逻辑中抽离。

### 使用场景

业务读写、报表、数据修复、迁移脚本、权限授予；面试与协作中的通用表达。

### 在体系中的位置

应用/ORM → SQL → 解析器/优化器 → 执行引擎 → 存储。

### 实践与应用

```sql
SELECT ... FROM ... WHERE ...;

```

### 注意事项

• 标准 SQL 与厂商方言有差异。
• 字符串拼接 SQL 易注入，应用层必须参数化。
• ORM 生成的 SQL 仍需会读、会优化。

### 对比与易混

SQL 是语言；NoSQL 产品多用各自 API/查询语言。存储过程是库内可执行程序，常含 SQL。

### 信号与度量

慢查询占比、全表扫描次数、执行计划稳定性、注入扫描结果。

### 关联术语

• 表 / 视图：查询对象
• 事务：多语句原子边界
• 执行计划：优化器输出
• ORM：对象与表的映射层
