MySQL 基础语法详解:DDL、DML 与 DQL 核心命令

Elena
Elena
发布时间:2026-10-15 | 4人浏览过
原创

MySQL 基于标准 SQL 协议,将指令划分为 DDL、DML、DQL 和 DCL 四大类。本文聚焦前三个核心领域,详解如何通过建表修改结构、增删改查数据,并利用聚合与条件语句实现高效的数据统计与分析。

一、SQL 编写规范与前提

在执行任何操作前,需明确 SQL 的基本语法规则:

  1. 终止符:每条语句必须以分号 ; 结尾。
  2. 大小写:MySQL 对关键字不敏感,但建议将关键字(如 CREATE, SELECT)大写以提高可读性。
  3. 注释方式:
    • 单行注释:使用 -- 或 MySQL 特有的 #。
    • 多行注释:使用 /* ... */。
  4. 标识符保护:若字段名或表名与保留字冲突,需使用反引号 ` 包裹。

二、DDL 数据定义语言:结构管理

DDL(Data Definition Language)用于定义和管理数据库对象,核心动词为 CREATE、DROP 和 ALTER。

第1步:数据库级别的操作

目的:管理数据库容器。
动作:
- 查看所有库:SHOW DATABASES;
- 创建库:CREATE DATABASE 库名;
- 删除库:DROP DATABASE 库名;(注意:执行后不可恢复,请谨慎)
- 切换库:USE 库名;

第2步:数据表结构与操作

目的:在选定数据库中构建物理存储模型。
入口:CREATE TABLE
参数与格式:

-- 创建表格模板
CREATE TABLE tab_teacher(
    tea_name varchar(10),
    tea_sex char(1),
    tea_birthday datetime,
    tea_money decimal(20,1)
);
-- 查看表中已有记录
SELECT * FROM tab_teacher;
-- 查看表结构定义
DESC tab_teacher;
-- 查看完整建表语句
SHOW CREATE TABLE tab_teacher;

三、DML 数据操作语言:内容变更

DML(Data Manipulation Language)直接作用于表内数据,包含插入、更新和删除操作。

第1步:数据录入 INSERT

目的:向表中添加新记录。
动作:
- 指定字段插入(推荐):INSERT INTO 表名 (字段列表) VALUES (值列表);
- 全字段插入:INSERT INTO 表名 VALUES (值...);
- 批量插入:INSERT INTO 表名 VALUES (...), (...);
- 跨表拷贝:CREATE TABLE new_tab AS SELECT ... FROM old_tab;

第2步:数据修正 UPDATE

目的:根据条件修改现有记录。
动作:
必须配合 WHERE 子句以防全表误更新:
UPDATE table_name SET col1=val1 WHERE condition;
支持范围操作符如 BETWEEN 与逻辑运算符 AND/OR。

第3步:数据清理 DELETE & TRUNCATE

目的:移除冗余数据。
风险提示:DELETE 带 WHERE 可逐行删除并可回滚;TRUNCATE 瞬间清空整表且重置自增主键,通常不可逆。
动作:
- 逻辑删除:DELETE FROM 表名 WHERE condition;
- 物理清空:TRUNCATE TABLE 表名;

四、DQL 数据查询语言:信息检索

DQL(Data Query Language)即 SELECT,是数据获取的核心手段。

第1步:基础筛选与显示

目的:提取特定列、去重或过滤行。
动作:
- 指定别名:SELECT col_name AS alias FROM table;
- 去重:SELECT DISTINCT col FROM table;
- 条件判断:WHERE 支持 =, >, BETWEEN 等
- 模糊匹配:LIKE '%张%' (%表示任意字符,_表示单个字符)
- 空值处理:WHERE col IS NULL

第2步:统计汇总 GROUP BY

目的:按维度分组并应用聚合函数进行纵向计算。
动作:
SELECT classid, COUNT(sid) FROM student GROUP BY classid;

第3步:五大聚合函数

聚合函数忽略 NULL 值,适用于统计计算:
- 计数:COUNT(*) 或 COUNT(1)
- 数值:SUM(), AVG(), MAX(), MIN()

-- 综合统计示例
SELECT 
    COUNT(*) as total_rows,
    SUM(score) as total_score,
    AVG(score) as avg_score,
    MAX(score) as highest_score,
    MIN(score) as lowest_score
FROM sc;

五、结果验证

完成上述操作后,可通过执行对应的 SELECT 语句检查结果行数变化、字段类型约束以及统计数据是否符合预期逻辑。例如,执行完 TRUNCATE 后再次 SELECT 应返回空集。

六、简要总结

熟练掌握 DDL 的结构搭建能力、DML 的内容维护技巧以及 DQL 的统计分析手段,是 MySQL 数据库应用开发的基石。理解各命令的执行顺序与作用域,能有效避免数据丢失与性能瓶颈。

以上就是 MySQL DDL 和 DML 和 DQL 基本语法的详细内容,更多关于 MySQL 进阶实战的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表