【问题标题】:MySQL: Getting all columns in a table in a certain databaseMySQL:获取某个数据库中表中的所有列
【发布时间】:2011-05-02 12:43:54
【问题描述】:

我有几个数据库具有相同名称的表。

我的意思是,我有以下数据库 mydb1mydb2

每个 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 获取列名?

提示:我只想拥有列名而不是类型、空值或键。因此请求show columns from mydb1.myTable 不是我想要的。

【问题讨论】:

  • 对不起,我不明白。您可以在我的帖子中看到我尝试过的内容。

标签: mysql information-schema


【解决方案1】:

columns 表中的TABLE_SCHEMA 列包含数据库名称,因此您可以这样做:

select column_name from columns where table_name = 'myTable' AND table_schema = 'mydb1';

【讨论】:

  • 感谢您的回答。我个人认为 table_schema 列名对于包含数据库名称的列没有多大意义。
猜你喜欢
  • 2014-02-25
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
  • 2021-05-11
  • 2016-08-08
  • 2020-12-11
  • 1970-01-01
相关资源
最近更新 更多