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

จะตรวจสอบว่ามีคอลัมน์อยู่ในตาราง MySQL หรือไม่


เพื่อให้เข้าใจว่ามีคอลัมน์อยู่หรือไม่ เรามีวิธีการดังต่อไปนี้ -

  • ด้วยความช่วยเหลือของคำสั่ง DESC
  • การใช้คำสั่ง SHOW

อันดับแรก เราจะสร้างตารางที่มีคอลัมน์ -

mysql> สร้างตาราง ColumnExistDemo-> (-> UniqueId int,-> UniqueName varchar(200),-> UniqueAddress varchar(200)-> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.57 วินาที)

ในแนวทางแรก เราจะได้ชื่อคอลัมน์ทั้งหมดพร้อมข้อมูลที่มีความหมาย ไวยากรณ์มีดังนี้ −

DESC yourTableName;

ให้เราใช้แบบสอบถามข้างต้นเพื่อตรวจสอบว่าชื่อคอลัมน์มีอยู่หรือไม่ อย่างไรก็ตามวิธีนี้ไม่ดีเพราะแสดงคอลัมน์ทั้งหมด

mysql> DESC ColumnExistDemo;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+---------------+--------------+------+-----+-- ---------------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+--------------+--------------+------+----+--- ------+-------+| UniqueId | int(11) | ใช่ | | NULL | || UniqueName | varchar(200) | ใช่ | | NULL | | | UniqueAddress | varchar(200) | ใช่ | | NULL | |+--------------+--------------+------+-----+---- -----+-------+3 แถวในชุด (0.01 วินาที)

วิธีที่สองดีกว่าเพราะเราสามารถตรวจสอบคอลัมน์เดียวได้ ไวยากรณ์มีดังนี้ −

SHOW COLUMNS จาก `yourTableName` เช่น 'yourColumnName';

ตอนนี้ ฉันกำลังใช้แบบสอบถามด้านบนเพื่อตรวจสอบว่ามีคอลัมน์อยู่หรือไม่ แบบสอบถามมีดังต่อไปนี้ −

mysql> SHOW COLUMNS จาก `ColumnExistDemo` เช่น 'UniqueName'

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+------------+--------------+------+-----+----- ----+-------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-----------+-------------+------+----+------ -----------+| UniqueName | varchar(200) | ใช่ | | NULL | |+------------+-------------+------+-----+------- ---+------- +1 แถวในชุด (0.00 วินาที)