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

เปลี่ยนชื่อตารางและคอลัมน์ทั้งหมดเป็นตัวพิมพ์เล็กใน MySQL หรือไม่


คุณสามารถทำได้ด้วยความช่วยเหลือของ INFORMATION_SCHEMA.COLUMNS ไวยากรณ์มีดังนี้ −

เลือก CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE `', COLUMN_NAME, '` `',LOWER(COLUMN_NAME), '` ', COLUMN_TYPE, ';') AS anyAliasNameFROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_base ';

ตอนนี้ใช้ฐานข้อมูลที่มีสองตาราง ชื่อฐานข้อมูลดังนี้ “bothinnodbandmyisam” ฐานข้อมูลนี้มีตารางต่อไปนี้ -

  • พนักงาน
  • นักเรียน

รายละเอียดของตารางพนักงานมีดังนี้ −

mysql> พนักงาน desc;

ต่อไปนี้เป็นผลลัพธ์ สมมติว่าเรามีคอลัมน์ต่อไปนี้ในตารางพนักงานซึ่งไม่ใช่ตัวพิมพ์เล็ก -

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

คำอธิบายของตารางนักเรียนมีดังนี้ แบบสอบถามมีดังนี้ −

mysql> อธิบายนักเรียน

ต่อไปนี้เป็นผลลัพธ์ สมมติว่าเรามีคอลัมน์ต่อไปนี้ในตารางนักเรียนซึ่งไม่ใช่ตัวพิมพ์เล็ก −

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

นี่คือแบบสอบถามเพื่อเปลี่ยนชื่อคอลัมน์ของตารางทั้งหมดเป็นตัวพิมพ์เล็ก แบบสอบถามมีดังนี้ −

mysql> SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE `', COLUMN_NAME, '` `', -> LOWER(COLUMN_NAME), '` ', COLUMN_TYPE, ';') AS changeColumnNameToLower -> FROM INFORMATION_S .COLUMNS WHERE TABLE_SCHEMA ='bothinnodbandmyisam';

ต่อไปนี้เป็นผลลัพธ์ที่แสดงคำสั่ง ALTER TABLE ที่แสดงชื่อคอลัมน์ที่อัปเดต -

<ก่อน>+--------------------------------------------- --------------------+| changeColumnNameToLower |+--------------------------------------------- ------------------------------------+| ALTER TABLE พนักงานเปลี่ยน `EmployeeId` `employeeid` int(11); || ALTER TABLE พนักงานเปลี่ยน `EmployeeName` `employeename` varchar(30); || ALTER TABLE นักเรียนเปลี่ยน `StudentId` `studentid' int(11); || ALTER TABLE นักเรียนเปลี่ยน `StudentName` `studentname` varchar (20); |+------------------------------------------------ ------------------------+4 แถวในชุด (0.00 วินาที)

ดูผลลัพธ์ตัวอย่างด้านบน ชื่อคอลัมน์ทั้งหมดถูกเปลี่ยนชื่อเป็นตัวพิมพ์เล็ก