在 MySQL 中获取列名

Preet Sanghavi 2023年1月30日 2022年5月13日
  1. 在 MySQL 中使用 Describe 语句获取列名
  2. 在 MySQL 中使用 Show 语句获取列名
在 MySQL 中获取列名

在本教程中,我们旨在探索如何获取 MySQL 数据库中特定表的列名。

通常,在 MySQL 中处理数据时,我们往往会忘记数据库特定表的列名和不同列的数据类型。

MySQL 帮助我们获取这些信息以读取、获取、更新或删除任何具有正确定义和名称的信息。有几种方法可以完成这项工作。

以下是可用于获取 MySQL 中特定表的列名的不同方法:

  • 使用 DESCRIBE 语句。
  • 使用 SHOW 语句。

让我们了解这些方法中的每一种是如何工作的。

在开始之前,我们创建一个虚拟数据集来处理。我们创建了一个表 student_information 以及几行。

-- create the table student_information
CREATE TABLE student_information(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_information
INSERT INTO student_information(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

在 MySQL 中使用 Describe 语句获取列名

MySQL 为我们提供了 DESCRIBE 语句来获取与特定表相关的信息。DESCDescribe 都可以帮助我们理解表格的整体结构。此信息包括列名、数据类型、默认值、列类型等。

该语句的基本语法如下所示。

DESCRIBE name_of_the_table;

使用 DESCRIBE 语句的另一种方法如下。

DESC name_of_the_table;

现在让我们使用这条语句来获取 student_information 表的所有列的名称。我们可以使用以下查询执行此操作。

DESCRIBE student_information;

上述查询的输出如下。

Field			Type			Null		Key		Default		Extra
stu_id			float			NO			PRI		-			-
stu_firstName	varchar(255)	YES			-		-			-
stu_lastName	varchar(255)	YES			-		-			-

正如我们在上面看到的,我们有 FieldTypeNullKeyDefaultExtra

Field 表示 student_information 的列名。Type 表示每一列的数据类型。

Null 表示列中的值是否可以获取空值。Key 表示与列名关联的键的类型。

正如我们所见,stu_id 显示 PRI,它代表我们表的主键。最后,我们有 DEFAULT,它说明为列设置的任何默认值,而 Extra 存储与该列关联的任何额外信息。

在 MySQL 中使用 Show 语句获取列名

Show 语句是 Describe 语句的替代方案。show 语句的基本语法如下。

SHOW COLUMNS FROM `name_of_the_table`;

这里,name_of_the_table 表示包含获取的列的表名。我们可以使用 show 语句从 student_information 表中获取所有列的名称,如下所示。

SHOW COLUMNS FROM `student_information`;

上面查询的输出将为我们提供以下结果。

Field			Type			Null		Key		Default		Extra
stu_id			float			NO			PRI		-			-
stu_firstName	varchar(255)	YES			-		-			-
stu_lastName	varchar(255)	YES			-		-			-

如上面的输出所示,SHOWDESCRIBE 可以帮助我们获取表的列名和其他有用信息。因此,借助上述技术,我们可以高效地获取 MySQL 中表的列名。

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相关文章 - MySQL Query