บทความนี้สาธิตการใช้ INFORMATION_SCHEMA.COLUMNS ร่วมกับ GROUP_CONCAT() และ LIKE เพื่อดึงชื่อคอลัมน์ทั้งหมดที่ขึ้นต้นด้วยตัวอักษรเฉพาะ (เช่น 'Cl') และต่อกันเป็นสตริงเดียว
สร้างตารางตัวอย่าง
mysql> CREATE TABLE DemoTable671(
ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName VARCHAR(100),
ClientAge INT,
ClientAddress VARCHAR(200),
ClientCountryName VARCHAR(100)
);
Query OK, 0 rows affected (0.62 sec)
คิวรีดึงชื่อคอลัมน์ขึ้นต้นด้วย 'Cl' และต่อกัน
mysql> SELECT GROUP_CONCAT(COLUMN_NAME SEPARATOR ' , ')
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'DemoTable671'
AND TABLE_SCHEMA = 'web'
AND COLUMN_NAME LIKE 'Cl%';
ผลลัพธ์
+-----------------------------------------------------------------------+
| group_concat(COLUMN_NAME SEPARATOR ' , ') |
+-----------------------------------------------------------------------+
| ClientId , ClientName , ClientAge , ClientAddress , ClientCountryName |
+-----------------------------------------------------------------------+
คำอธิบาย:
INFORMATION_SCHEMA.COLUMNS- ตาราง Metadata เก็บข้อมูลโครงสร้างตารางทั้งหมดTABLE_SCHEMA = 'web'- ชื่อ Database (เปลี่ยนตามจริง)COLUMN_NAME LIKE 'Cl%'- ค้นหาชื่อคอลัมน์ขึ้นต้นด้วย 'Cl'GROUP_CONCAT(... SEPARATOR ' , ')- รวมชื่อคอลัมน์คั่นด้วยจุลภาคและช่องว่าง
ประโยชน์: ใช้สร้าง Dynamic SQL, ตรวจสอบ Schema, หรือสร้าง Code Generator