Что такое оператор Mysql select для отображения списка таблиц? - PullRequest
1 голос
/ 01 октября 2009

Я хочу написать программу, которая может показывать пользователю список таблиц в базе данных, а также показывать описания этих таблиц. Так я могу сделать "выбрать * из system_table" или что-то в этом роде

Ответы [ 2 ]

6 голосов
/ 01 октября 2009

Это даст вам список таблиц:

show tables;

Для описания каждой таблицы:

describe table_name;

Чтобы получить оба одновременно, попробуйте:

SELECT * FROM DOMAIN.TABLES WHERE TYPE = 'TABLE'

SELECT * FROM DOMAIN.COLUMNS WHERE TABLETYPE = 'TABLE'

Результаты аналогичны MySql, показывают и описывают утверждения

2 голосов
/ 01 октября 2009

В дополнение к show tables MySQL 5.0+ также поддерживает метабазу INFORMATION_SCHEMA:

SELECT table_name, table_comment FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'db_name';

information_schema.tables также содержит другую информацию, если вам интересно.

Обратите внимание: если вы не предоставили комментарий при создании таблицы и использовании InnoDB, он заполнит столбец table_comment ненужными данными, такими как пространство InnoDB, зарезервированное для этой таблицы, или ограничения внешнего ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...