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

รับชื่อคอลัมน์ตารางตามลำดับตัวอักษรใน MySQL หรือไม่


ในการรับชื่อคอลัมน์ของตารางตามลำดับตัวอักษร คุณต้องใช้ ORDER BY ไวยากรณ์ดังต่อไปนี้ −

เลือก anyReferenceName.COLUMN_NAME FROMINFORMATION_SCHEMA.COLUMNS anyReferenceNameWHERE anyReferenceName.TABLE_NAME ='yourTableName'ORDER BY anyReferenceName.COLUMN_NAME

ขั้นแรก เราต้องได้คอลัมน์ทั้งหมด แล้วเราต้องใช้ ORDER BY ในการสืบค้นข้อมูลข้างต้น เราได้รับคอลัมน์ทั้งหมดโดยใช้ INFORMATION_SCHEMA.COLUMNS

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง ColumnsOrder -> ( -> StudentFirstName varchar(20), -> Id int, -> StudentAge int, -> StudentLastName varchar(20) -> );Query OK, 0 แถวได้รับผลกระทบ (0.90 วินาที) 

ใช้ไวยากรณ์ด้านบนเพื่อรับคอลัมน์ตารางตามลำดับตัวอักษร

กรณีที่ 1 − โดยค่าเริ่มต้น ORDER BY จะให้ลำดับจากน้อยไปมาก

แบบสอบถามมีดังนี้ −

mysql> เลือก ref.column_name จาก information_schema.columns ref -> โดยที่ ref.table_name ='ColumnsOrder' -> สั่งซื้อโดย ref.column_name;

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

<ก่อนหน้า>+-----------------+| COLUMN_NAME |+-----------------+| รหัส || StudentAge || StudentFirstName || StudentLastName |+-----------------+4 แถวในชุด (0.13 วินาที)

กรณีที่ 2 − หากคุณต้องการเรียงลำดับจากมากไปน้อย ให้ใช้คำสั่ง DESC ในตอนท้าย

แบบสอบถามมีดังนี้ −

mysql> เลือก ref.column_name จาก information_schema.columns ref -> โดยที่ ref.table_name ='ColumnsOrder' -> สั่งซื้อโดย ref.column_name desc;

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

<ก่อนหน้า>+-----------------+| COLUMN_NAME |+-----------------+| นักเรียนนามสกุล || StudentFirstName || StudentAge || Id |+-----------------+4 แถวในชุด (0.00 วินาที)