网站搜索

MySQL 显示表模式


关系数据库是现代数字时代最受欢迎和影响力最大的数据库之一。尽管它们是在90年代开发的,但仍然广泛存在,并被个人开发者和企业应用广泛采用。

关系数据库以其使用预定义的模式而而闻名。模式是关系数据库的基础,因为它们定义了在实际数据添加之前,数据组织的规则和结构。

作为一个数据库开发者,学习如何构建和结构化你的数据库模式是必要的。在本教程中,我们将引导你如何使用 MySQL 创建和查看表模式,MySQL 是最流行的关系数据库管理系统之一。

什么是关系数据库中的模式?

模式是指定义关系数据库中数据组织结构的结构。模式用于确定数据的重要方面,例如列、数据类型等。

简单来说,可以将模式视为一个蓝图,概述数据组织和实现的基础。然而,请记住,模式并不包含实际的数据。

数据库模式的类型

以下是关系数据库中常见的模式类型:

  1. 桌子
  2. 主键
  3. 外键
  4. 属性
  5. 关系

创建表架构

在讨论如何展示表模式之前,让我们创建一个示例表以供说明。

示例代码片段:

create table blog(
post_id int auto_increment not null primary key,
author_id int not null,
title varchar(255) not null,
author_name varchar(100) not null,
post_date date not null,
category varchar(50) not null,
published bool
);

继续查看表架构。

显示表架构 – 方法 1 – 在创建表时

MySQL允许您使用SHOW关键字查看表模式。命令语法:

SHOW CREATE TABLE database.table_name;

该命令将返回在创建表格过程中使用的命令。

要显示博客的表格架构(如上所示),请运行以下查询:

show create table linux-console.blog;

显示语句将输出如下结果:

|Table|Create Table                                                                                                                                                                                                                                                                                                                                                          |
|-----|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|blog |CREATE TABLE `blog` (¶  `post_id` int NOT NULL AUTO_INCREMENT,¶  `author_id` int NOT NULL,¶  `title` varchar(255) NOT NULL,¶  `author_name` varchar(100) NOT NULL,¶  `post_date` date NOT NULL,¶  `category` varchar(50) NOT NULL,¶  `published` tinyint(1) DEFAULT NULL,¶  PRIMARY KEY (`post_id`)¶) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci|

您将看到定义表的架构信息,包括排序规则、字符集和数据库引擎。这在不同环境中复制相同表时非常有用。

显示表模式 – 方法 2 – 描述

获取表模式的第二种也是最常用的方法是使用 DESCRIBE 关键字。语法在下面的代码片段中进行了说明:

DESCRIBE database.table_name;

正如你所猜测的,这条语句将在用户友好的界面中返回表的架构。

请看下面的示例快照:

describe linux-console.blog;

在这个例子中,我们从linux-console数据库获取博客表的表结构。输出:

|Field      |Type        |Null|Key|Default|Extra         |
|-----------|------------|----|---|-------|--------------|
|post_id    |int         |NO  |PRI|       |auto_increment|
|author_id  |int         |NO  |   |       |              |
|title      |varchar(255)|NO  |   |       |              |
|author_name|varchar(100)|NO  |   |       |              |
|post_date  |date        |NO  |   |       |              |
|category   |varchar(50) |NO  |   |       |              |
|published  |tinyint(1)  |YES |   |       |              |

在这里,我们可以看到数据以表格格式呈现,这使得阅读和解释变得非常简单。

缺点是describe命令的输出不能直接用于在不同环境中复制表结构。

注意:您可以用 EXPLAIN 命令替代 DESCRIBE,如下面的语法所示:

EXPLAIN database.table_name;

注意: 在某些情况下,表架构指的是指定表所在的数据库。为此,您可以按照下面的语法查询 information_schema 表:

select TABLE_SCHEMA
from information_schema.TABLES t
where table_name = table_name;

结果输出:

|TABLE_SCHEMA|
|------------|
|linux-console   |

结束

在本文中,我们讨论了关系数据库中的数据库架构、数据库架构的类型,以及在MySQL中创建和查看表结构。

感谢阅读!!