วิธีเลือกจากผลลัพธ์สถานะแสดงตาราง


36

ฉันต้องการ จำกัด แถวและคอลัมน์ที่กลับมาจาก

SHOW TABLE STATUS

คำสั่งใน MySQL 5.1 มีวิธีรับข้อมูลเดียวกันนี้ผ่านSELECTคำสั่งเพื่อให้ฉันสามารถจัดการผลลัพธ์ในลักษณะปกติได้หรือไม่

คำตอบ:


33

มีคอลัมน์มากกว่าสถานะตารางแสดง; แต่หลอกลวง:

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';

10
show table status like 'table1';

คุณไม่สามารถจัดการคอลัมน์ด้วยวิธีนี้ได้ แต่จะง่ายกว่าในการเลือกเฉพาะตารางที่คุณต้องการและรับSHOW TABLE STATUSเอาต์พุตปกติ


ซึ่ง จำกัด แถว แต่ไม่ใช่คอลัมน์ใช่ไหม
Jack Douglas

แก้ไข. คุณไม่สามารถจัดการคอลัมน์ด้วยวิธีนี้ได้ แต่จะง่ายกว่าในการเลือกเฉพาะตารางที่คุณต้องการและรับเอาท์พุทสถานะแสดงตารางปกติ
John L


2

show table status สามารถใช้งานได้โดยไม่ต้องเลือกฐานข้อมูลปัจจุบัน:

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

ดูเอกสารประกอบ :

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

-2

คุณสามารถใช้แบบสอบถามนี้เพื่อแสดงโครงสร้างข้อมูลทั้งหมด

SELECT * จาก data_schema.tables WHERE table_schema = DATABASE ();

หรือจดชวเลข:

แสดงสถานะตารางเช่น 'tableName'


1
ฉันไม่เห็นอะไรเลยในคำตอบนี้ที่ยังไม่ได้โพสต์ในคำตอบอื่น ๆ
ypercubeᵀᴹ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.