MySQL DDL语句使用详解与常用命令示例

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
在数据库的世界里,有两类语言扮演着截然不同的角色。一类负责处理数据本身,比如增删改查;而另一类,则是我们今天要深入探讨的“建筑师”——数据定义语言,也就是DDL。它的核心任务非常明确:定义和管理数据库的“骨架”和“蓝图”。
简单来说,DDL负责的是“结构”,而DML负责的是“数据”。它主要围绕四个核心对象展开:数据库、表、字段以及约束。理解了这一点,后续的所有操作就都有了清晰的脉络。
数据库操作
一切从数据库开始。无论是查看、创建还是切换,都是与数据库打交道的起点。
查询数据库
在动手之前,先看看环境里有什么,这是好习惯。
查询所有数据库
SHOW DATABASES;
这条命令会列出当前MySQL实例中所有的数据库,让你对全局有个把握。
查询当前使用的数据库
SELECT DATABASE();
有时候操作了半天,突然忘了自己身在哪个“库”中,用这个函数一查便知。
创建数据库
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
创建一个新数据库,有几个细节值得注意:
CREATE DATABASE IF NOT EXISTS school DEFAULT CHARSET utf8mb4;
关键点
IF NOT EXISTS
这是个非常实用的安全选项。如果数据库已经存在,加上这个参数就不会报错,脚本可以继续平稳运行。
DEFAULT CHARSET
指定字符集是创建数据库时的关键一步。现在utf8mb4已经成为绝对的主流,因为它不仅能完美支持中文,还能存储Emoji表情和各种特殊字符,避免了“乱码”的尴尬。
COLLATE
排序规则。除非有特殊的语言排序需求,否则通常使用默认值即可,很少需要手动指定。
删除数据库
DROP DATABASE [IF EXISTS] 数据库名;
示例:
DROP DATABASE IF EXISTS school;
删除操作务必谨慎。同样,IF EXISTS可以防止删除不存在的数据库时引发错误。
使用数据库
USE 数据库名;
示例:
USE school;
这条命令相当于进入了指定的数据库“工作区”,之后所有的表操作,默认都会在这个数据库中进行。
表操作
数据库建好了,接下来就是在其内部创建和管理具体的表结构了。
查询表
和查询数据库类似,对表的探查也是管理的第一步。
查询当前数据库所有表
SHOW TABLES;
看看当前数据库里都有哪些表。
查询表结构
DESC 表名;
示例:
DESC student;
这是最常用的命令之一,可以清晰地看到表的“骨架”:每个字段的名字、数据类型、是否允许为空、是否是主键、默认值是什么,一目了然。
查询建表语句
SHOW CREATE TABLE 表名;
示例:
SHOW CREATE TABLE student;
这个命令的用处极大。它返回的是当初创建这张表的完整SQL语句,包括所有的引擎、字符集等细节。当你需要复制表结构或在另一个环境重建时,它是最准确的蓝图。
创建表
语法:
CREATE TABLE 表名(
字段1 类型 [COMMENT 注释],
字段2 类型 [COMMENT 注释],
字段3 类型 [COMMENT 注释]
)[COMMENT 表注释];
示例:
CREATE TABLE student(
id INT COMMENT '编号',
name VARCHAR(20) COMMENT '姓名',
age INT COMMENT '年龄'
) COMMENT '学生表';
定义字段时加上COMMENT注释是个好习惯,尤其是当字段名不能完全表达含义时,注释能大大提高后续维护和协作的效率。
修改表
需求总会变化,表结构也难免需要调整。ALTER TABLE 是应对这些变化的核心命令。
添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
示例:
ALTER TABLE student ADD gender CHAR(1) COMMENT '性别';
修改字段类型
ALTER TABLE 表名 MODIFY 字段名 新类型(长度);
示例:
ALTER TABLE student MODIFY name VARCHAR(50);
当发现某个字段长度不够用,或者类型不合适时,就用MODIFY。注意,修改类型时如果已有数据不兼容,可能会导致错误或数据截断。
修改字段名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
示例:
ALTER TABLE student CHANGE name username VARCHAR(30);
CHANGE命令功能更强,它既可以修改字段名,也可以同时修改字段的数据类型和约束,一步到位。
修改表名
ALTER TABLE 旧表名 RENAME TO 新表名;
示例:
ALTER TABLE student RENAME TO student_info;
删除表
DROP TABLE [IF EXISTS] 表名;
示例:
DROP TABLE IF EXISTS student;
整张表都不需要了?用DROP TABLE。同样,建议加上IF EXISTS保平安。
清空表
TRUNCATE TABLE 表名;
示例:
TRUNCATE TABLE student;
只想清空所有数据,但保留表结构以备后用?TRUNCATE是你的选择。它相当于直接重置了这张表,执行速度通常比DELETE快得多。
删除字段
ALTER TABLE 表名 DROP 字段名;
示例:
ALTER TABLE student DROP age;
某个字段已经废弃,需要从表中移除,使用DROP子句。删除前请务必确认该字段数据已不再需要。
DDL 最核心理解
回顾一下,DDL所有操作的核心对象是什么?是数据库的结构本身,而不是里面的具体数据行。
无论是创建数据库、创建表,还是添加、修改、删除字段,你都是在定义和修改这个数据容器的“形状”和“规则”。理解了这一点,就能把它和DML(数据操作语言)彻底区分开来。
高频面试点
说到区分,有一个经典问题在面试中间出现的频率极高。
DROP、DELETE、TRUNCATE 区别
这三个命令都带“删除”的意思,但层次完全不同。
DROP
最彻底。它直接删除整个对象(如表或数据库)。执行后,表结构、数据、索引等一切相关的东西都没了,不可逆转。
DELETE
最灵活。它只删除数据行,表结构还在。最大的特点是可以通过WHERE子句指定条件,进行精确删除。由于是逐行操作并记录日志,在数据量大的情况下可能较慢。
TRUNCATE
最干脆。它清空整张表的所有数据,但保留表结构。可以把它理解为“快速重置表”。它不记录单行删除日志,因此执行速度比DELETE快,但不能带WHERE条件。
简单记:DROP是连房子带家具全拆了;DELETE是把家具一件件搬走(可以选搬哪些);TRUNCATE是把所有家具瞬间清空,房子留着。
最后总结
为了方便回顾和记忆,我们把核心命令整理成了下面这个表格:
| 操作 | 语句 |
|---|---|
| 查询数据库 | SHOW DATABASES |
| 创建数据库 | CREATE DATABASE |
| 删除数据库 | DROP DATABASE |
| 使用数据库 | USE |
| 查询表 | SHOW TABLES |
| 查看表结构 | DESC |
| 查看建表语句 | SHOW CREATE TABLE |
| 创建表 | CREATE TABLE |
| 添加字段 | ALTER TABLE ADD |
| 修改字段 | ALTER TABLE MODIFY |
| 修改字段名 | ALTER TABLE CHANGE |
| 删除字段 | ALTER TABLE DROP |
| 删除表 | DROP TABLE |
| 清空表 | TRUNCATE TABLE |
记忆口诀
最后,送大家一个简单的口诀,帮助快速回忆核心命令的用途:
CREATE 创建 ALTER 修改 DROP 删除 TRUNCATE 清空 DESC 看结构 SHOW 看信息 USE 切库
掌握好这些DDL命令,你就拿到了设计和维护数据库结构的钥匙。记住,好的结构是高效数据操作的基石。
热门专题
热门推荐
进行币安身份认证时,除了准确上传照片,还需注意人脸光线和证件类型的选择。光线不佳可能导致系统无法识别,建议使用均匀柔和的正面光。证件类型上,护照通常比身份证更易通过,因其信息格式全球统一。确保证件照片清晰、四角完整、无反光,并严格按照提示操作,能有效提升一次性通过率,避免反复提交的麻烦。
本文旨在为初次接触币安平台的用户提供一份清晰、全面的操作指南。内容涵盖从官网访问与账户注册、安全设置与身份验证,到入金购买加密货币、进行现货交易以及资产管理的完整流程。重点解析了核心交易界面的功能与基础订单类型,并强调了安全措施与自主资产管理的重要性,帮助用户快速上手并安全地进行数字资产交易。
使用iQOO 15上网后,想要彻底清除浏览痕迹?掌握正确的方法至关重要。不同的清理方式,在效果和应用场景上各有侧重。本文为您梳理五种主流方案,涵盖快速清理、选择性删除、深度重置及自动防护,助您根据实际需求灵活选择,有效保护个人隐私。 一、通过浏览器历史页面一键清空 这是最便捷的解决方案,适合需要快速
币安平台界面功能丰富,新用户常因不熟悉而找不到关键操作按钮。本文梳理了资金充值、交易下单、资产管理、订单查看、理财申购、安全设置、身份认证和客服帮助这八个最容易迷路的页面,详细说明了各页面核心按钮的位置和功能逻辑,帮助用户快速适应平台操作,提升使用效率。
在加密货币提币操作中,确保资产安全的关键步骤往往被忽视。本文重点探讨了提币前必须仔细核对的三个核心环节:提币地址的准确性、平台安全验证的完整性,以及资产到账链路的清晰性。通过逐一分析这些环节的风险点与最佳实践,旨在帮助用户建立严谨的操作习惯,避免因疏忽导致的资产损失,实现更安全、顺畅的资产转移。





