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

วิธีค้นหาชื่อคอลัมน์ที่มีสตริงเฉพาะใน MySQL

ใช้ SHOW COLUMNS ... LIKE ค้นหาชื่อคอลัมน์

SHOW COLUMNS FROM table_name LIKE 'pattern' แสดงโครงสร้างคอลัมน์ที่ชื่อตรงกับ Pattern (รองรับ Wildcard % และ _)

ตัวอย่างสร้างตาราง

CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FirstName VARCHAR(20),
    LastName VARCHAR(20)
);

คำสั่งค้นหาคอลัมน์ชื่อ 'FirstName'

SHOW COLUMNS FROM DemoTable LIKE 'FirstName';

ผลลัพธ์

+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| FirstName | varchar(20) | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+

คำอธิบาย: LIKE 'FirstName' ตรงแบบ Exact Match (ไม่มี Wildcard) หากต้องการค้นหาบางส่วน ใช้ LIKE '%Name%' (เจอ FirstName, LastName)

คอลัมน์ในผลลัพธ์ SHOW COLUMNS:

คอลัมน์ความหมาย
Fieldชื่อคอลัมน์
Typeชนิดข้อมูล
NullYES/NO (รองรับ NULL หรือไม่)
KeyPRI (Primary), UNI (Unique), MUL (Index), '' (ไม่มี)
Defaultค่า Default
Extraauto_increment, on update CURRENT_TIMESTAMP, เป็นต้น

คำสั่งอื่นสำหรับ Metadata:

  • DESCRIBE DemoTable; (ย่อของ DESC) = SHOW COLUMNS
  • SHOW CREATE TABLE DemoTable; ดูคำสั่งสร้างตารางเต็ม
  • SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'DemoTable'; (ยืดหยุ่นกว่า สามารถ JOIN/WHERE ได้)