เพื่อนับจำนวนคอลัมน์ของตารางใดตารางหนึ่ง ให้สอบถามจาก INFORMATION_SCHEMA.COLUMNS ร่วมกับฟังก์ชัน COUNT(*)
รูปแบบคำสั่ง
SELECT COUNT(*) AS NumberOfColumns
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'yourDatabaseName'
AND table_name = 'yourTableName';
ตัวอย่างการใช้งาน
1. สร้างตารางตัวอย่าง 4 คอลัมน์
mysql> CREATE TABLE CountColumns (
-> BookId INT,
-> BookName VARCHAR(200),
-> BookAuthorName VARCHAR(200),
-> BookPublishedDate DATETIME
-> );
Query OK, 0 rows affected (0.69 sec)
2. นับจำนวนคอลัมน์
mysql> SELECT COUNT(*) AS NumberOfColumns
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE table_schema = 'business'
-> AND table_name = 'CountColumns';
+-----------------+
| NumberOfColumns |
+-----------------+
| 4 |
+-----------------+
1 row in set (0.00 sec)
วิธีอื่น: ใช้ SHOW COLUMNS
mysql> SHOW COLUMNS FROM CountColumns;
จากนั้นนับจำนวนแถวในผลลัพธ์ (แต่ต้องนับด้วยตนเองหรือใช้โปรแกรมช่วย)
ข้อมูลเพิ่มเติมที่ได้จาก COLUMNS
ตาราง INFORMATION_SCHEMA.COLUMNS ยังให้ข้อมูลรายละเอียด เช่น:
COLUMN_NAME- ชื่อคอลัมน์DATA_TYPE- ชนิดข้อมูลIS_NULLABLE- รองรับ NULL หรือไม่COLUMN_DEFAULT- ค่าเริ่มต้นCOLUMN_KEY- PRI, UNI, MUL, หรือว่างEXTRA- auto_increment, etc.
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_KEY
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'business' AND table_name = 'CountColumns';