在mysql中使用ShowColumns查询时如何仅选择字段名

在mysql中使用ShowColumns查询时如何仅选择字段名,mysql,Mysql,我使用此查询选择给定表中的字段。是否可以只选择字段名而不选择表的整个结构 SHOW COLUMNS FROM student 您正在尝试确定表结构?您可以直接查询MySQL的信息\u schema数据库中的字段名: select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME='student'; 从表名称中选择列名称 例如:ROLLNO是表Student….的列名 从学生中选择ROLLNO前面提到的解决方案不是正确的

我使用此查询选择给定表中的字段。是否可以只选择字段名而不选择表的整个结构

SHOW COLUMNS FROM student

您正在尝试确定表结构?您可以直接查询MySQL的
信息\u schema
数据库中的字段名:

select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME='student';

从表名称中选择列名称

例如:ROLLNO是表Student….的列名


从学生中选择ROLLNO

前面提到的解决方案不是正确的。例如:

CREATE DATABASE db1;
CREATE DATABASE db2;
CREATE TABLE db1.t ( id_1 INT);
CREATE TABLE db2.t ( id_2 INT);
SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME  ='t';
这将显示:

+-------------+
| COLUMN_NAME |
+-------------+
| id_1        |
| id_2        |
+-------------+
表明表
t
有两列,这显然是不正确的。此查询列出所有数据库中名为
t
的表的所有列

相反,您应该指定哪个数据库包含要从中选择列名的表
t

SELECT COLUMN_NAME 
    FROM information_schema.COLUMNS 
    WHERE 
        TABLE_NAME = 't' AND 
        TABLE_SCHEMA = 'db1';

谢谢,我从来没有想过我可以实际使用信息模式数据库。可以指定数据库吗?如果我有另一个数据库,它有一个名为student的表,该怎么办。它也会出现,对吗?是的。该表中还有一个“TABLE_SCHEMA”字段,它是数据库名称。将distinct置于column_name之前将有效。-1您完全误解了这个问题。他不是要求选择一列,而是要求如何从表架构中选择列:
information\u schema
问题是关于从specyfic表中获取列名。不是给定列名的数据。