it-swarm.asia

كيفية التحديد من نتائج حالة الجدول

أود تحديد الصفوف والأعمدة التي تعود من

SHOW TABLE STATUS

الأمر في MySQL 5.1. هل هناك طريقة للحصول على هذه المعلومات نفسها من خلال عبارة SELECT حتى أتمكن من معالجة النتائج بطريقة عادية؟

38
Leopd

يحتوي هذا على أعمدة أكثر من حالة SHOW TABLE STATUS؛ ولكن هل الحيلة:

SELECT * FROM information_schema.tables WHERE table_schema = DATABASE();

تحديث 2011-06-07 19:02

SELECT table_name,Engine,Version,Row_format,table_rows,Avg_row_length,
Data_length,Max_data_length,Index_length,Data_free,Auto_increment,
Create_time,Update_time,Check_time,table_collation,Checksum,
Create_options,table_comment FROM information_schema.tables
WHERE table_schema = DATABASE();

تعمل هذه الاستعلامات إذا قمت بتعيين قاعدة البيانات الحالية.

يمكنك أيضًا ترميز قاعدة بيانات محددة:

SELECT table_name,Engine,Version,Row_format,table_rows,Avg_row_length,
Data_length,Max_data_length,Index_length,Data_free,Auto_increment,
Create_time,Update_time,Check_time,table_collation,Checksum,
Create_options,table_comment FROM information_schema.tables
WHERE table_schema = 'mysql';
34
RolandoMySQLDBA
show table status like 'table1';

لا يمكنك معالجة الأعمدة بهذه الطريقة ، ولكن من الأسهل تحديد الجداول التي تريدها فقط والحصول على الإخراج العادي SHOW TABLE STATUS.

10
John L

يمكنك استخدام WHERE أو LIKE بالنسبة لـ SELECT:

show table status where name='name'; 
3
gayavat

show table status يمكن استخدامها دون تحديد قاعدة البيانات الحالية:

show table status from DbName where name='TableName';

انظر وثائق :

SHOW TABLE STATUS
    [{FROM | IN} db_name]
    [LIKE 'pattern' | WHERE expr]
2
ks1322