MySQL: получение всех столбцов в таблице в определенной базе данных

#mysql #information-schema

#mysql #информация-схема

Вопрос:

У меня есть несколько баз данных, в которых есть таблицы с одинаковыми именами.

Я имею в виду, я получил следующие базы данных 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 ?

Подсказка: я просто хочу, чтобы имена столбцов не указывали тип, обнуляли другие ключи. Следовательно, запрос show columns from mydb1.myTable — это не то, что я ищу.

Комментарии:

1. Извините, я не понимаю. Вы можете увидеть в моем посте, что я пробовал.

Ответ №1:

TABLE_SCHEMA Столбец в columns таблице содержит имя базы данных, поэтому вы можете сделать это следующим образом:

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

Комментарии:

1. Спасибо за ответ. Я лично считаю, что имя столбца table_schema не имеет большого значения для столбца, который содержит имя базы данных.