迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MySQL >

在 MySQL 中显示表和数据库结构

作者:迹忆客 最近更新:2023/04/19 浏览次数:

今天,我们将学习在 MySQL 中可以显示表和数据库结构的查询。 我们将使用 mysqldump 实用程序、DESCRIBESHOW TABLESSHOW CREATE TABLE 语句。

我们在编写本教程时使用的是 MySQL 8.0.28 版本。


在 MySQL 中显示表结构

我们可以根据需要使用不同的方式获取MySQL中的表结构。 其中一些在下面给出。

在 MySQL 中使用 mysqldump 实用程序

我们可以使用 mysqldump 命令行工具将完整的数据库结构作为一组所有 CREATE TABLE 语句。

示例代码:

# The `--compact` flag produces the compact output
mysqldump -u username -p ms23 --compact --no-data

对于特定的表,我们可以在数据库名称之后添加表的名称,或者使用如下所示的 SHOW CREATE TABLE 语句来获得类似的结果。

示例代码:

# To use this, you must be logged in to MySQL Server and a database.
SHOW CREATE TABLE courses;

我们可以使用 DESCRIBE 语句来获取下面讨论的列列表。

在 MySQL 中使用 DESCRIBE(表)语句

示例代码:

DESCRIBE courses;

我们必须登录到 MySQL 服务器才能使用 DESCRIBE 语句。 它显示特定表的列列表,例如属性(字段)名称、它们的数据类型、默认值、键等。

或者,我们可以将其用作 DESC 课程; 或解释课程; 并得到相同的结果。 如果我们忘记了表名,我们可以使用 SHOW TABLES; 语句获取特定数据库中的表列表。

示例代码:

SHOW TABLES;

使用 mysqldump 显示 MySQL 中的数据库结构

我们使用名为 mysqldump 的命令行工具来转储或创建 MySQL 数据库副本或备份。 在使用 mysqldump 命令时,我们根据需要使用多个标志。

例如,如果我们不想在复制数据库结构时包含数据,我们可以使用 --no-data 标志。 我们仅通过考虑以下场景来使用 mysqldump 来获取数据库结构。

  • 只获取一张表的数据库结构
  • 仅获取多个表的数据库结构
  • 仅为一个或多个数据库获取数据库结构
  • 获取所有数据库的数据库结构到一个文件中

如果您在默认位置安装了 MySQL 服务器,则必须在 C:\Program Files\MySQL\MySQL Server 8.0\bin> 目录下才能使用以下命令。

在以下命令中,我们使用了各种标志,您在使用这些命令之前必须了解这些标志。

  1. -u 标志表示用户名。
  2. -p flat 表示在询问时将提供密码(您也可以使用不带空格的 -p 标志键入密码,例如 -p12345,但出于安全原因不建议这样做)。
  3. 如果我们不需要包含数据,我们使用 --no-data。 或者,我们也可以在这里使用 -d。
  4. 如果我们想要为一个/多个数据库备份,则使用 --database。
  5. 我们使用 --all-databases 一次备份所有数据库。
  6. 大于号(>)可以保存备份文件。 要恢复,您可以使用小于号 (<)。

示例代码(仅获取一张表的数据库结构):

mysqldump -u username -p --no-data DatabaseName TableName;

示例代码(仅获取多个表的数据库结构):

mysqldump -u username -p --no-data DatabaseName TableName1 TableName2 TableNameN;

示例代码(仅获取一个/多个数据库的数据库结构):

# `-d` is used as an alternative to the `--no-data` option
mysqldump -u username -p -d --databases DatabaseName

我们已经学习了如何将数据库结构转储到标准输出。 这意味着我们将不得不在终端(命令行窗口)上上下滚动,这可能没有帮助。

我们可以使用 > 将没有数据的备份保存到文件中。 我们也可以使用上面给出的命令来做到这一点。

示例代码(将所有数据库的数据库结构获取到一个文件中):

mysqldump -u username -p --no-data --all-databases > E:\\Databases_Structure.sql

如果您想转储远程数据库,请阅读本文以找到所有必要的信息。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

使用 Mysqldump 备份 MySQL 中的数据

发布时间:2023/05/09 浏览次数:192 分类:MySQL

本篇文章将介绍如何使用 mysqldump 只备份数据。 在这里,我们将探讨 --no-create-info 、--compact 、--skip-triggers 和 --no-create-db 选项。

更新 MySQL 表中的主键

发布时间:2023/05/09 浏览次数:61 分类:MySQL

本篇文章介绍如何更新 MySQL 表中的主键。 我们将使用 ALTER 命令对主键进行任何更改。更新 MySQL 表中的主键 我们可以在多种情况下更新 MySQL 表中的主键。

在 MySQL 中获取命令历史记录

发布时间:2023/05/09 浏览次数:150 分类:MySQL

本文重点介绍了在 Windows 和 Linux 中获取我们已执行的 MySQL 命令历史记录的各种方法。MySQL命令历史

Oracle 的 decode 函数在 MySQL 中的等价物

发布时间:2023/05/09 浏览次数:115 分类:MySQL

本篇文章介绍了三种替代实现,我们可以将它们用作 MySQL 中 Oracle 的 decode() 函数的等价物。 为此,我们将使用 IF()、CASE 以及 FIELD() 和 ELT() 的组合。

在 Linux 中安装 MySQL 客户端

发布时间:2023/05/09 浏览次数:72 分类:MySQL

在 Linux 中安装 MySQL 客户端的命令。Linux 和 Unix 等环境作为命令行界面工作,仅在命令的帮助下运行。

在 MySQL 中转换为十进制

发布时间:2023/05/09 浏览次数:150 分类:MySQL

有时,我们可能需要将一种数据类型转换为另一种数据类型。 下面是我们如何使用带有 DECIMAL(M,D) 的 CAST() 和 CONVERT() 函数在 MySQL 中转换为十进制。

在 MySQL 中获取当前日期和时间

发布时间:2023/05/09 浏览次数:145 分类:MySQL

本篇文章我们将学习 NOW()、CURRENT_TIMESTAMP()(也写为 CURRENT_TIMESTAMP)和 SYSDATE() 来获取 MySQL 中的当前日期和时间。 我们还将看到这三个功能之间的比较。在 MySQL 中获取当前日期和时间

更改 MySQL 服务器中的 max_allowed_packet Size

发布时间:2023/05/09 浏览次数:142 分类:MySQL

本篇文章介绍如何更改 MySQL 服务器中的 max_allowed_packet 大小。 为了了解这一点,我们将使用两个操作系统,Windows 10 和 Linux (Ubuntu)。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便