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

จะระบุคอลัมน์ที่มีอยู่ในตารางทั้งหมดด้วย MySQL ได้อย่างไร


ในการระบุชื่อคอลัมน์ ให้ใช้ INFORMATION_SCHEMA.COLUMNS ใน MySQL นี่คือไวยากรณ์ −

เลือก table_name,column_namefrom INFORMATION_SCHEMA.COLUMNSโดยที่ table_schema =SCHEMA()andcolumn_name='anyColumnName';

ให้เราใช้แบบสอบถามข้างต้นเพื่อระบุคอลัมน์ที่มีอยู่ในตารางทั้งหมด ที่นี่ เรากำลังค้นหาการมีอยู่ของคอลัมน์ EmployeeAge -

mysql> เลือก table_name,column_name จาก INFORMATION_SCHEMA.COLUMNS โดยที่ table_schema =SCHEMA() AND column_name='EmployeeAge';

ซึ่งจะทำให้ผลลัพธ์ต่อไปนี้แสดงตารางที่มีคอลัมน์เฉพาะ “EmployeeAge” -

<ก่อนหน้า>+--------------+-------------+| TABLE_NAME | COLUMN_NAME |+--------------+-------------+| demotable1153 | อายุพนักงาน || demotable1297 | อายุพนักงาน || demotable1303 | อายุพนักงาน || demotable1328 | อายุพนักงาน || demotable1378 | อายุพนักงาน || demotable1530 | อายุพนักงาน || demotable1559 | อายุพนักงาน || demotable1586 | อายุพนักงาน || demotable1798 | อายุพนักงาน || demotable1901 | อายุพนักงาน || demotable511 | อายุพนักงาน || demotable912 | EmployeeAge |+---------------------+-------------+12 แถวในชุด (0.00 วินาที)

เพื่อเป็นการพิสูจน์ ให้เราตรวจสอบคำอธิบายของตารางข้างต้น -

mysql> desc demotable1153;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ซึ่งแสดงการมีอยู่ของคอลัมน์ EmployeeAge ใน demotable1153 -

<ก่อนหน้า>+--------------+-------------+------+----+---- -----+----------------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------------+-------------+------+ -----+----- ----+----------------+| รหัสพนักงาน | int(11) | ไม่ | PRI | NULL | auto_increment || ชื่อพนักงาน | varchar(40) | ใช่ | MUL | NULL | || อายุพนักงาน | int(11) | ใช่ | | NULL | |+-------------+-------------+------+----+------ ---+----------------+3 แถวในชุด (0.00 วินาที)