Как показать схему таблицы в базе данных MySQL?


из консоли MySQL какая команда отображает схему любой данной таблицы?

5 287

5 ответов:

describe [db_name.]table_name;

для форматированного вывода, или

show create table [db_name.]table_name;

для инструкции SQL, которая может быть использована для создания таблицы.

SHOW CREATE TABLE yourTable;

или

SHOW COLUMNS FROM yourTable;

вы также можете использовать стенографию для описания как desc описание таблицы.

desc [db_name.]имя_таблицы;

или

использовать имя_базы_данных;
описание имя_таблицы;

вы также можете использовать explain описание таблицы.

объясни [имя_базы_данных.]имя_таблицы;

посмотреть официальный док

даст выход, как:

+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(10)     | NO   | PRI | NULL    |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| age      | int(10)     | YES  |     | NULL    |       |
| sex      | varchar(10) | YES  |     | NULL    |       |
| sal      | int(10)     | YES  |     | NULL    |       |
| location | varchar(20) | YES  |     | Pune    |       |
+----------+-------------+------+-----+---------+-------+
SELECT COLUMN_NAME, TABLE_NAME,table_schema
FROM INFORMATION_SCHEMA.COLUMNS;

возможно, вопрос должен быть немного более точным здесь о том, что требуется, потому что это можете читать его двумя разными способами. то есть

  1. как я могу получить структуру / определение для таблицы в mysql?
  2. как мне получить имя схемы / базы данных, в которой находится эта таблица?

учитывая принятый ответ, ОП явно намеревался интерпретировать его первым способом. Для тех, кто читает вопрос по-другому попробуй

SELECT `table_schema` 
FROM `information_schema`.`tables` 
WHERE `table_name` = 'whatever';