Yanıtlar:
SHOW TABLE STATUS WHERE Name = 'xxx'
Bu size (diğer şeylerin yanı sıra) Engine
istediğiniz bir sütun verecektir .
show full columns from t1
?
Bir veritabanındaki tüm tabloların ve motorlarının listesini göstermek için şu SQL sorgusunu kullanın:
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'dbname';
dbname
Veritabanı adınızla değiştirin .
SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
COUNT(*)
ve gibi şeyler yapabilirim GROUP BY
.
ya da sadece
show table status;
sadece veritabanınızdaki tüm tabloları listeleyecektir.
Jocker'ın cevabına bir parça biraz (Yorum olarak gönderirim, ancak henüz yeterli karmam yok):
SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;
Bu, motoru olmayan MySQL görünümlerini listeden hariç tutar.
mysqlshow -i <database_name>
belirli bir veritabanının tüm tabloları için bilgileri gösterir.
mysqlshow -i <database_name> <table_name>
bunu yalnızca belirli bir tablo için yapar.
Yine başka bir yol, belki de tek veya eşleşen bir tablo kümesinin durumunu almak için en kısa olanı:
SHOW TABLE STATUS LIKE 'table';
Daha sonra LIKE operatörlerini kullanabilirsiniz, örneğin:
SHOW TABLE STATUS LIKE 'field_data_%';
Linux kullanıcısıysanız:
Tablolar olmadan, mysql sunucudaki tüm veritabanları için tüm tablolar için motorlarını göstermek için 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)
En azından Linux'taysanız bunu sevebilirsiniz.
Tüm tablolar için tüm bilgileri açacak less
, -S
aşırı uzun satırları kesmek için düğmesine basın .
Örnek çıktı:
--------------------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
.
.
.
orada bilgi tablolarına gidin 'tablolar' tablo bulacaksınız sonra seçin;
Mysql> info_schema kullanın; Mysql> tablo_adı, tablolardan motor seçin;
Bir GUI adam iseniz ve sadece PhpMyAdmin içinde bulmak istiyorsanız , seçtiğiniz tabloyu seçin ve Operations
sekme >> Table options
>> gidin Storage Engine
. Açılır seçenekler listesini kullanarak oradan bile değiştirebilirsiniz.
Not: Bu kılavuz PhpMyAdmin'in 4.8 sürümünü temel almaktadır. Çok eski sürümler için aynı yol garanti edilemez.