Моя база данных MySQL содержит несколько таблиц с использованием разных систем хранения (в частности, myisam и innodb). Как узнать, какие таблицы с использованием какого движка?Как проверить тип двигателя MySQL для конкретной таблицы?
ответ
SHOW TABLE STATUS WHERE Name = 'xxx'
Это даст вам (среди прочего) в Engine
столбец, который является то, что вы хотите.
SHOW CREATE TABLE <tablename>;
Меньше разборчивого, но более читаемого, чем SHOW TABLE STATUS
.
или просто
show table status;
только, что это будет LLIST все таблицы на вашей базе данных.
Почему-то возвращает 0 строк в моем случае ... – 2014-01-16 16:10:17
Чтобы показать список всех таблиц в базе данных и их двигателей, использовать этот SQL-запрос:
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'dbname';
Заменить dbname
с именем базы данных.
бит из подстройке в ответ Jocker (в я вывесил бы в качестве комментария, но у меня не хватает кармы пока):
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;
Это исключает взгляды MySQL из списка, которые не имеют двигатель.
SHOW CREATE TABLE <tablename>\G
отформатирует намного лучше по сравнению с выходом
SHOW CREATE TABLE <tablename>;
\G
трюк также полезно помнить, для многих других запросов/команд.
перейдите в базу данных information_schema, вы найдете таблицу «таблицы», затем выберите ее;
Mysql> use information_schema; Mysql> выберите table_name, движок из таблиц;
mysqlshow -i <database_name>
покажет информацию для всех таблиц конкретной базы данных.
mysqlshow -i <database_name> <table_name>
будет делать это только для конкретной таблицы.
Еще один способ, возможно, самый короткий, чтобы получить статус одного или согласованного набора таблиц:
SHOW TABLE STATUS LIKE 'table';
Вы можете использовать как операторы, например:
SHOW TABLE STATUS LIKE 'field_data_%';
Если вы linux user:
Чтобы показать двигатели для всех таблиц для всех баз данных на сервере mysql, без таблиц information_schema
, mysql
, performance_schema
:
less < <({ for i in $(mysql -e "show databases;" | cat | grep -v -e Database-e information_schema -e mysql -e performance_schema); do echo "--------------------$i--------------------"; mysql -e "use $i; show table status;"; done } | column -t)
Вам может понравиться это, если вы на Linux, по крайней мере.
Откроет всю информацию по всем таблицам в less
, нажмите -S
, чтобы нарезать слишком длинные линии.
Пример вывода:
--------------------information_schema--------------------
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time C
CHARACTER_SETS MEMORY 10 Fixed NULL 384 0 16434816 0 0 NULL 2015-07-13 15:48:45 NULL N
COLLATIONS MEMORY 10 Fixed NULL 231 0 16704765 0 0 NULL 2015-07-13 15:48:45 NULL N
COLLATION_CHARACTER_SET_APPLICABILITY MEMORY 10 Fixed NULL 195 0 16357770 0 0 NULL 2015-07-13 15:48:45 NULL N
COLUMNS MyISAM 10 Dynamic NULL 0 0 281474976710655 1024 0 NULL 2015-07-13 15:48:45 2015-07-13 1
COLUMN_PRIVILEGES MEMORY 10 Fixed NULL 2565 0 16757145 0 0 NULL 2015-07-13 15:48:45 NULL N
ENGINES MEMORY 10 Fixed NULL 490 0 16574250 0 0 NULL 2015-07-13 15:48:45 NULL N
EVENTS MyISAM 10 Dynamic NULL 0 0 281474976710655 1024 0 NULL 2015-07-13 15:48:45 2015-07-13 1
FILES MEMORY 10 Fixed NULL 2677 0 16758020 0 0 NULL 2015-07-13 15:48:45 NULL N
GLOBAL_STATUS MEMORY 10 Fixed NULL 3268 0 16755036 0 0 NULL 2015-07-13 15:48:45 NULL N
GLOBAL_VARIABLES MEMORY 10 Fixed NULL 3268 0 16755036 0 0 NULL 2015-07-13 15:48:45 NULL N
KEY_COLUMN_USAGE MEMORY 10 Fixed NULL 4637 0 16762755 0
.
.
.
Если вы используете MySQL Workbench, вы можете щелкнуть правой кнопкой мыши таблицу и выберите "изменить таблицу.
В этом окне вы можете увидеть свой Рабочий стол и изменить его.
- 1. MySQL решение для хранения двигателя
- 2. Ведение журнала запросов mysql для конкретной таблицы
- 3. Тип таблицы mysql для таблицы журналов?
- 4. MySQL Создать таблицу Как с переопределением двигателя
- 5. Проверить тип репликации mysql
- 6. создание поиска для конкретной таблицы
- 7. Как получить последнее измененное время для конкретной таблицы mysql
- 8. Производительность мала, если тип двигателя InnoDB
- 9. MySQL запросов с/без таблицы конкретной ссылки
- 10. Как проверить ActionErrors для конкретной ошибки?
- 11. mysql usr-определенный тип данных для таблицы
- 12. Переименование MySQL двигателя в MySQL дамп файл
- 13. Восстановить mysql dump для конкретной таблицы через PHP
- 14. Оптимизация запросов для конкретной таблицы
- 15. Выберите столбец для конкретной таблицы
- 16. Mysql Импорт для таблиц с типом двигателя HEAP
- 17. Java OOP - Physics Тип двигателя
- 18. mysql проверить две таблицы для получения результатов?
- 19. MySql Подготовлен заявление для проверки конкретной таблицы JAVA
- 20. Mysql - блокировка и скрытие ожидающих данных для конкретной таблицы
- 21. Можем ли мы включить двоичное ведение mysql для конкретной таблицы
- 22. Тип поля таблицы изменения MYSQL
- 23. Как проверить тип для изменчивости
- 24. Запрос Mysql для конкретной записи
- 25. Как выбрать элемент конкретной таблицы?
- 26. Как восстановить данные конкретной таблицы из двоичного журнала в mysql?
- 27. Как я могу проверить, существует ли значение в любой строке определенного столбца конкретной таблицы mysql
- 28. Проверить идентификатор конкретной модели?
- 29. поиск конкретной таблицы таблицы html
- 30. как проверить новую запись таблицы в mysql
Если моя таблица повреждена, это просто показывает двигателя = NULL и имеет «комментарий» говорит мне, чтобы восстановить таблицу. Тем не менее, прежде чем я знаю, как отремонтировать таблицу, я предполагаю, что мне нужно знать движок (я не так уж далека от того, чтобы быть честным). Поэтому комментарий @ Jocker ниже был для меня гораздо более полезным. – harperville 2013-09-09 13:33:01
@Greg, Должны ли мы использовать это решение или Jocker? – Pacerier 2015-02-24 05:30:26
@Pacerier - Оба отлично работают. Разница в том, что это решение дает информацию для одной таблицы, в то время как решение Jocker показывает тип движка для всех таблиц в базе данных (хотя и более читабельно). – kramer65 2016-03-20 08:36:56