我使用这个查询来选择给定表中的字段。是否可以只选择字段名而不选择表的整个结构?
SHOW COLUMNS FROM student
您正在尝试确定表结构?您可以直接查询MySQL的information_schema
数据库的字段名:
select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME='student';
前面提到的解决方案是不正确的。例子:
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';
select COLUMN_NAME FROM TABLE_NAME
例如:ROLLNO是Student表....
的column_Nameselect ROLLNO from Student