我有几个具有相同名称的表的数据库。
我的意思是,我有以下数据库
mydb1
,mydb2
等
并且每个mydb都有一个名为myTable
的表。但是这些表有不同的列:
myTable in mydb1
id, name, age
myTable in mydb2
id, name, street, size
现在,如果我只有一个数据库mydb1
,那么我也只有一个表MyTable
。如果我想知道该表中的所有列,我将发出以下sql请求
use information_schema;
select column_name from columns where table_name = 'myTable';
在这种情况下这很好用,我得到了我正在寻找的列。
但是,在我的情况下,我在不同的数据库中有几个名为MyTable的表。并且相同的sql请求产生:
id, name, age, id, name, street, size
但我只想要列mydb1.myTable
。
如何只从一个myTable
中获取列名?
提示:我只想让列名不是类型,nulls oder键。因此请求show columns from mydb1.myTable
不是我正在寻找的。 p>
答案 0 :(得分:1)
TABLE_SCHEMA
表中的columns
列包含数据库名称,因此您可以这样做:
select column_name from columns where table_name = 'myTable' AND table_schema = 'mydb1';