Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

นับจำนวนคอลัมน์ในตาราง MySQL ด้วย INFORMATION_SCHEMA

เพื่อนับจำนวนคอลัมน์ของตารางใดตารางหนึ่ง ให้สอบถามจาก 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';