首页 游戏 软件 资讯 排行榜 专题
首页
数据库
MySQL DDL语句使用详解与常用命令示例

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

热心网友
47
转载
2026-05-11

MySQLDDL数据定义语言示例总结

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

在数据库的世界里,有两类语言扮演着截然不同的角色。一类负责处理数据本身,比如增删改查;而另一类,则是我们今天要深入探讨的“建筑师”——数据定义语言,也就是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命令,你就拿到了设计和维护数据库结构的钥匙。记住,好的结构是高效数据操作的基石。

来源:https://www.jb51.net/database/363533i0h.htm
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

币安身份认证攻略:优化光线与证件类型,大幅提升人脸识别通过率
web3.0
币安身份认证攻略:优化光线与证件类型,大幅提升人脸识别通过率

进行币安身份认证时,除了准确上传照片,还需注意人脸光线和证件类型的选择。光线不佳可能导致系统无法识别,建议使用均匀柔和的正面光。证件类型上,护照通常比身份证更易通过,因其信息格式全球统一。确保证件照片清晰、四角完整、无反光,并严格按照提示操作,能有效提升一次性通过率,避免反复提交的麻烦。

热心网友
05.11
币安Binance新手入门教程:从注册到交易全流程详解
web3.0
币安Binance新手入门教程:从注册到交易全流程详解

本文旨在为初次接触币安平台的用户提供一份清晰、全面的操作指南。内容涵盖从官网访问与账户注册、安全设置与身份验证,到入金购买加密货币、进行现货交易以及资产管理的完整流程。重点解析了核心交易界面的功能与基础订单类型,并强调了安全措施与自主资产管理的重要性,帮助用户快速上手并安全地进行数字资产交易。

热心网友
05.11
iQOO 15手机浏览器历史记录与缓存数据清理步骤详解
手机教程
iQOO 15手机浏览器历史记录与缓存数据清理步骤详解

使用iQOO 15上网后,想要彻底清除浏览痕迹?掌握正确的方法至关重要。不同的清理方式,在效果和应用场景上各有侧重。本文为您梳理五种主流方案,涵盖快速清理、选择性删除、深度重置及自动防护,助您根据实际需求灵活选择,有效保护个人隐私。 一、通过浏览器历史页面一键清空 这是最便捷的解决方案,适合需要快速

热心网友
05.11
币安交易界面找不到按钮?新手必备的8个常见页面导航指南
web3.0
币安交易界面找不到按钮?新手必备的8个常见页面导航指南

币安平台界面功能丰富,新用户常因不熟悉而找不到关键操作按钮。本文梳理了资金充值、交易下单、资产管理、订单查看、理财申购、安全设置、身份认证和客服帮助这八个最容易迷路的页面,详细说明了各页面核心按钮的位置和功能逻辑,帮助用户快速适应平台操作,提升使用效率。

热心网友
05.11
币安提币前必查三步:地址验证、安全设置与到账链路详解
web3.0
币安提币前必查三步:地址验证、安全设置与到账链路详解

在加密货币提币操作中,确保资产安全的关键步骤往往被忽视。本文重点探讨了提币前必须仔细核对的三个核心环节:提币地址的准确性、平台安全验证的完整性,以及资产到账链路的清晰性。通过逐一分析这些环节的风险点与最佳实践,旨在帮助用户建立严谨的操作习惯,避免因疏忽导致的资产损失,实现更安全、顺畅的资产转移。

热心网友
05.11