MySQL中SQL与MySQL的关系
SQL是结构化查询语言,MySQL是关系型数据库管理系统,两者是语言与实现的关系。
SQL语言概述
SQL(Structured Query Language)是用于管理关系型数据库的标准语言。
SQL发展历史
| 时间 | 事件 |
|---|---|
| 1970年 | E.F.Codd提出关系模型 |
| 1974年 | IBM开发SQL原型 |
| 1986年 | ANSI发布SQL标准 |
| 1992年 | SQL-92标准发布 |
| 1999年 | SQL:1999标准发布 |
SQL语言特点
- 声明式语言,描述"做什么"而非"怎么做"
- 接近自然语言,易学易用
- 标准化程度高,跨数据库通用
SQL语言分类
| 类别 | 说明 | 常用语句 |
|---|---|---|
| DDL | 数据定义语言 | CREATE, ALTER, DROP |
| DML | 数据操作语言 | INSERT, UPDATE, DELETE |
| DQL | 数据查询语言 | SELECT |
| DCL | 数据控制语言 | GRANT, REVOKE |
| TCL | 事务控制语言 | COMMIT, ROLLBACK |
MySQL概述
MySQL是最流行的开源关系型数据库管理系统。
MySQL特点
| 特点 | 说明 |
|---|---|
| 开源免费 | GPL协议,社区版免费使用 |
| 跨平台 | 支持Windows、Linux、macOS |
| 高性能 | 优化的存储引擎,支持高并发 |
| 易用性 | 安装简单,管理工具丰富 |
MySQL版本
| 版本 | 说明 |
|---|---|
| 5.7 | 长期稳定版本,广泛使用 |
| 8.0 | 最新版本,性能提升明显 |
| MariaDB | MySQL分支,完全兼容 |
SQL与MySQL的关系
SQL
┌─────────────────────────────────────┐
│ SQL标准语言 │
│ (通用语法,跨数据库使用) │
└─────────────────────────────────────┘
↓
┌─────────────────────────────────────┐
│ MySQL数据库 │
│ (实现SQL标准 + 扩展功能) │
└─────────────────────────────────────┘
关系本质
| 维度 | SQL | MySQL |
|---|---|---|
| 性质 | 语言标准 | 数据库软件 |
| 作用 | 定义操作规范 | 实现数据存储 |
| 通用性 | 跨数据库 | 特定产品 |
| 类比 | 编程语言语法 | 编译器/解释器 |
MySQL对SQL的扩展
MySQL在标准SQL基础上增加了特有的功能扩展。
MySQL特有语法
text
-- LIMIT分页(MySQL特有)
SELECT * FROM users LIMIT 10 OFFSET 20;
-- 反引号标识符(MySQL特有)
SELECT `name` FROM `user`;
-- AUTO_INCREMENT(MySQL特有)
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY
);
-- 存储引擎指定
CREATE TABLE users (
id INT
) ENGINE=InnoDB;
与标准SQL的差异
| 特性 | MySQL | 标准SQL |
|---|---|---|
| 字符串连接 | CONCAT() | || |
| 分页语法 | LIMIT | FETCH FIRST |
| 自增 | AUTO_INCREMENT | IDENTITY |
| 注释 | # -- | -- |
学习SQL时要区分标准语法和MySQL特有语法,便于迁移到其他数据库。
要点总结
- SQL是标准化的数据库操作语言
- MySQL是实现SQL标准的关系型数据库管理系统
- SQL是语言规范,MySQL是具体实现
- MySQL在标准SQL基础上有扩展和差异
- 掌握标准SQL语法,了解MySQL特性
📝 发现内容有误?点击此处直接编辑