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

ฉันจะใช้ `SHOW COLUMNS` เป็นแหล่งข้อมูลที่ถูกต้องสำหรับตารางได้อย่างไร


สำหรับสิ่งนี้ คุณสามารถใช้ INFORMATION_SCHEMA.COLUMNS ตามที่แสดงในไวยากรณ์ต่อไปนี้ -

SELECT *FROM (SELECT *FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='yourTableName')anyAliasName;

ให้เราสร้างตารางก่อน:

mysql> สร้างตาราง DemoTable ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(20), StudentLastName varchar(20), StudentAge int);Query OK, 0 แถวได้รับผลกระทบ (1.51 วินาที)

นี่คือการสืบค้นเพื่อใช้ `SHOW COLUMNS` เป็นแหล่งข้อมูลที่ถูกต้อง -

mysql> SELECT *FROM (SELECT *FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='DemoTable')tbl;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------------+--------------+-------------+- ------------------------------------------------------------------------------- ----------------------------------------------------+-------------------- ------------------------------------------------------------------------------ --------------------------------------------------------------- ------------------------------------------------------------------------------------------------- --------------------------------------------------------------- ---------------------------------------------------------------------------+--- -----+| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION | COLUMN_DEFAULT | IS_NULLABLE | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH | CHARACTER_OCTET_LENGTH | NUMERIC_PRECISION | NUMERIC_SCALE | DATETIME_PRECISION | CHARACTER_SET_NAME | COLLATION_NAME | COLUMN_TYPE | COLUMN_KEY | พิเศษ | สิทธิพิเศษ | COLUMN_COMMENT | GENERATION_EXPRESSION | SRS_ID |+-----------------------+--------------+-------------+-- ------------------------------------------------------------------ ------------------------------------------------------- -----+--------------------------------------+------------------- +---------------+--------------------------+----------- ------------------------------------------------------------------------------------------- ------------------------------------------------------------------ ----+----------------+-----------------------+---- ----+| def | ตัวอย่าง | DemoTable | รหัสนักศึกษา | 1 | NULL | ไม่ | int | NULL | NULL | 10 | 0 | NULL | NULL | NULL | int(11) | PRI | auto_increment | เลือก,แทรก,อัพเดท,อ้างอิง | | | NULL || def | ตัวอย่าง | DemoTable | StudentFirstName | 2 | NULL | ใช่ | varchar | 20 | 60 | NULL | NULL | NULL | utf8 | utf8_general_ci | varchar(20) | | | เลือก,แทรก,อัพเดท,อ้างอิง | | | NULL || def | ตัวอย่าง | DemoTable | นักเรียนนามสกุล | 3 | NULL | ใช่ | varchar | 20 | 60 | NULL | NULL | NULL | utf8 | utf8_general_ci | varchar(20) | | | เลือก,แทรก,อัพเดท,อ้างอิง | | | NULL || def | ตัวอย่าง | DemoTable | StudentAge | 4 | NULL | ใช่ | int | NULL | NULL | 10 | 0 | NULL | NULL | NULL | int(11) | | | เลือก,แทรก,อัพเดท,อ้างอิง | | | NULL |+---------------+--------------+-------------+-- ------------------------------------------------------------------ ------------------------------------------------------- -----+--------------------------------------+------------------- +---------------+--------------------------+----------- ------------------------------------------------------------------------------------------- ------------------------------------------------------------------ ----+----------------+-----------------------+---- ----+4 แถวในชุด (0.00 วินาที)