Как получить список представлений MySQL?

Измените ключ компонента.

<Component key="1" />
<Component key="2" />

Компонент будет отключен, и новый экземпляр компонента будет установлен после изменения ключа.

120
задан Annan 14 May 2010 в 12:21
поделиться

2 ответа

К [1 113] дополнение собирающийся получить больше информации об определенном представлении

Даже с двумя действительными ответами

SHOW FULL TABLES IN your_db_name WHERE TABLE_TYPE LIKE 'VIEW';

SELECT TABLE_SCHEMA, TABLE_NAME 
FROM information_schema.TABLES 
WHERE TABLE_TYPE LIKE 'VIEW' AND TABLE_SCHEMA LIKE 'your_db_name';

можно применить следующее (я думаю, лучше):

SELECT TABLE_SCHEMA, TABLE_NAME 
FROM information_schema.VIEWS 
WHERE TABLE_SCHEMA LIKE 'your_db_name';

лучшая работа непосредственно с information_schema.VIEWS (наблюдайте, теперь ПРЕДСТАВЛЕНИЯ а не ТАБЛИЦЫ больше), таким образом можно получить больше данных, использовать DESC VIEWS для получения дополнительной информации:

+----------------------+---------------------------------+------+-----+---------+-------+
| Field                | Type                            | Null | Key | Default | Extra |
+----------------------+---------------------------------+------+-----+---------+-------+
| TABLE_CATALOG        | varchar(64)                     | YES  |     | NULL    |       |
| TABLE_SCHEMA         | varchar(64)                     | YES  |     | NULL    |       |
| TABLE_NAME           | varchar(64)                     | YES  |     | NULL    |       |
| VIEW_DEFINITION      | longtext                        | YES  |     | NULL    |       |
| CHECK_OPTION         | enum('NONE','LOCAL','CASCADED') | YES  |     | NULL    |       |
| IS_UPDATABLE         | enum('NO','YES')                | YES  |     | NULL    |       |
| DEFINER              | varchar(93)                     | YES  |     | NULL    |       |
| SECURITY_TYPE        | varchar(7)                      | YES  |     | NULL    |       |
| CHARACTER_SET_CLIENT | varchar(64)                     | NO   |     | NULL    |       |
| COLLATION_CONNECTION | varchar(64)                     | NO   |     | NULL    |       |
+----------------------+---------------------------------+------+-----+---------+-------+

, Например, наблюдают VIEW_DEFINITION поле, таким образом можно использовать в действии:

SELECT TABLE_SCHEMA, TABLE_NAME, VIEW_DEFINITION 
FROM information_schema.VIEWS 
WHERE TABLE_SCHEMA LIKE 'your_db_name';

, Конечно, Вы имеете больше полей в наличии для своего внимания.

3
ответ дан 24 November 2019 в 01:36
поделиться

Ошибка, которую вы видите, вероятно, связана с тем, что в каталоге данных MySQL создан каталог, отличный от MySQL. MySQL отображает структуру базы данных напрямую в файловую систему, базы данных отображаются в каталоги, а таблицы - это файлы в этих каталогах.

Имя нерабочей базы данных выглядит подозрительно, как будто кто-то в какой-то момент скопировал каталог базы данных mysql в резервную копию и оставил ее в каталоге данных MySQL. Это не проблема, если вы не пытаетесь использовать базу данных ни для чего. К сожалению, информационная схема сканирует все найденные базы данных и обнаруживает, что это не настоящая база данных, и расстраивается.

Решение состоит в том, чтобы найти каталог mysql.bak на жестком диске и переместить его подальше от MySQL.

1
ответ дан 24 November 2019 в 01:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: