一文带你了解MySQL的DDL语句

简介: 一文带你了解MySQL的DDL语句

☃️概述


MySQL 通用语法分类

● DDL: 数据定义语言,用来 定义数据库对象(数据库、表、字段)

● DML: 数据操作语言,用来对数据库表中的数据进行增删改

● DQL: 数据查询语言,用来 查询 数据库中表的记录

● DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限


☃️DDL(数据定义语言)


DDL 指的是数据定义语言(Data Definition Language),它是用来定义数据库结构和布局的语言。通常用于创建和修改数据库对象,比如表、视图、索引等。DDL 包括了一些常见的命令,比如 CREATEALTERDROP 等,这些命令可以用来创建、修改和删除数据库对象,从而定义数据在数据库中的结构。


☃️数据库操作


数据库操作有如下语法:

● 查询所有数据库:

SHOW DATABASES;

● 查询当前数据库:

SELECT DATABASE();

● 创建数据库:

CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];

CREATE DATABASE test_snow DEFAULT CHARSET utf8mb4;

● 删除数据库:

DROP DATABASE [ IF EXISTS ] 数据库名;

● 使用数据库:

USE 数据库名;

注意事项

UTF8字符集长度为3字节,有些符号占4字节,所以推荐用 utf8mb4 字符集


☃️表操作


● 查询当前数据库所有表:

SHOW TABLES;

● 查询表结构:

DESC 表名;

● 查询指定表的建表语句:

SHOW CREATE TABLE 表名;

创建表:

CREATE TABLE 表名(
  字段1 字段1类型 [COMMENT 字段1注释],
  字段2 字段2类型 [COMMENT 字段2注释],
  字段3 字段3类型 [COMMENT 字段3注释],
  ...
  字段n 字段n类型 [COMMENT 字段n注释]
)[ COMMENT 表注释 ];

最后一个字段后面没有逗号.

添加字段 ADD:

ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';
//  在 字段A 后面/前面 添加一个新的字段 nickname
ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称' [AFTER/BEFORE] 字段A ;

修改数据类型 MODIFY:

ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

修改字段名和字段类型 CHANGE:

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
//  例:将emp表的nickname字段修改为username,类型为varchar(30)
ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';

删除字段:

ALTER TABLE 表名 DROP 字段名;

修改表名:

ALTER TABLE 表名 RENAME TO 新表名

删除表:

DROP TABLE [IF EXISTS] 表名;

删除表,并重新创建该表:

TRUNCATE TABLE 表名;


☃️DDL的重要性


DDL 的重要性在于它是数据库管理的基础。通过DDL,你可以定义数据库中的各种对象,如表、视图、索引等,从而决定了数据在数据库中的结构和组织方式。这种结构的定义对于数据库的性能、安全性和可维护性都至关重要。

具体来说,DDL 的重要性体现在以下几个方面:

数据库结构定义:DDL 允许你定义数据库中的各种对象及其属性,如表的字段、数据类型、约束等,这直接影响了数据的存储和组织方式。

数据完整性:DDL 中可以定义各种约束条件,如主键约束、外键约束、唯一约束等,这有助于确保数据的完整性,防止无效或不符合规范的数据进入数据库。

数据库性能优化:通过合理地设计数据库结构和索引,可以提高数据库的查询性能和响应速度。DDL 提供了创建和管理索引的命令,使得优化数据库性能成为可能。

数据安全性:DDL 允许你设置访问权限和安全控制,限制用户对数据库对象的操作和访问权限,保护敏感数据不被未经授权的用户访问。

数据库版本控制和管理:DDL 脚本记录了数据库对象的创建和修改过程,可以作为数据库版本控制的一部分,帮助团队协作和管理数据库变更。

DDL 是数据库管理的重要组成部分,它定义了数据库的基本结构和属性,直接影响着数据库的性能、安全性和可维护性,因此在数据库设计和管理中起着至关重要的作用。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL 存储 关系型数据库
菜鸟之路Day29一一MySQL之DDL
本文《菜鸟之路Day29——MySQL之DDL》由作者blue于2025年5月2日撰写,主要介绍了MySQL中的数据定义语言(DDL)。文章详细讲解了DDL在数据库和表操作中的应用,包括数据库的查询、创建、使用与删除,以及表的创建、修改与删除。同时,文章还深入探讨了字段约束(如主键、外键、非空等)、常见数据类型(数值、字符串、日期时间类型)及表结构的查询与调整方法。通过示例代码,读者可以更好地理解并实践MySQL中DDL的相关操作。
537 11
|
SQL 关系型数据库 MySQL
MySQL 5.6/5.7 DDL 失败残留文件清理指南
通过本文的指南,您可以更安全地处理 MySQL 5.6 和 5.7 版本中 DDL 失败后的残留文件,有效避免数据丢失和数据库不一致的问题。
|
SQL 关系型数据库 MySQL
MySQL DDL(数据定义语言)深度解析
MySQL DDL(数据定义语言)深度解析
|
SQL 监控 关系型数据库
MySQL如何优雅的执行DDL
在MySQL中优雅地执行DDL操作需要综合考虑性能、锁定和数据一致性等因素。通过使用在线DDL工具、分批次执行、备份和监控等最佳实践,可以在保障系统稳定性的同时,顺利完成DDL操作。本文提供的实践和案例分析为安全高效地执行DDL操作提供了详细指导。
782 14
|
SQL 关系型数据库 MySQL
MySQL 更新1000万条数据和DDL执行时间分析
MySQL 更新1000万条数据和DDL执行时间分析
1298 4
|
SQL 存储 关系型数据库
"MySQL增列必锁表?揭秘InnoDB在线DDL,让你的数据库操作飞一般,性能无忧!"
【8月更文挑战第11天】在数据库领域,MySQL凭借其稳定高效的表现深受开发者喜爱。对于是否会在给数据表添加列时锁表的问题,MySQL的行为受版本、存储引擎等因素影响。从5.6版起,InnoDB支持在线DDL,可在改动表结构时保持表的可访问性,避免长时间锁表。而MyISAM等则需锁表完成操作。例如,在使用InnoDB的表上运行`ALTER TABLE users ADD COLUMN email VARCHAR(255);`时,通常不会完全锁表。虽然在线DDL提高了灵活性,但复杂操作或大表变更仍可能暂时影响性能。因此,进行结构变更前应评估其影响并择机执行。
447 6
|
SQL 算法 关系型数据库
Mysql Online DDL
Mysql Online DDL
278 2
|
SQL 关系型数据库 MySQL
MySQL Online DDL原理解读
MySQL Online DDL原理解读
629 3
|
SQL 存储 关系型数据库
MySQL基础(一) 前置安装以及DDL详解
MySQL基础(一) 前置安装以及DDL详解

推荐镜像

更多