Computer >> Máy Tính >  >> Lập trình >> MySQL

Đổi tên tất cả các bảng và cột thành chữ thường trong MySQL?

Bạn có thể đạt được điều này với sự trợ giúp của INFORMATION_SCHEMA.COLUMNS. Cú pháp như sau -

SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE `', COLUMN_NAME, '` `',
LOWER(COLUMN_NAME), '` ', COLUMN_TYPE, ';') AS anyAliasName
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ‘yourDatabaseName’;

Bây giờ sử dụng cơ sở dữ liệu có hai bảng. Tên cơ sở dữ liệu như sau “bothinnodbandmyisam”. Cơ sở dữ liệu này có các bảng sau -

  • nhân viên
  • sinh viên

Mô tả bảng nhân viên như sau -

mysql> desc employee;

Sau đây là kết quả đầu ra. Giả sử chúng ta có các cột sau trong bảng nhân viên không ở dạng chữ thường -

+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| EmployeeId   | int(11)     |  YES |     | NULL    |       |
| EmployeeName | varchar(30) | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Mô tả của bảng học sinh như sau. Truy vấn như sau -

mysql> desc student;

Sau đây là kết quả đầu ra. Giả sử chúng ta có các cột sau trong bảng sinh viên không ở dạng chữ thường -

+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| StudentId   | int(11)     | YES  |     | NULL    |       |
| StudentName | varchar(20) | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Đây là truy vấn để thay đổi tên cột của tất cả các bảng thành chữ thường. Truy vấn như sau -

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

Sau đây là đầu ra hiển thị lệnh ALTER TABLE hiển thị tên cột được cập nhật -

+------------------------------------------------------------------------+
| changeColumnNameToLower                                                |
+------------------------------------------------------------------------+
| ALTER TABLE employee CHANGE `EmployeeId` `employeeid` int(11);         |
| ALTER TABLE employee CHANGE `EmployeeName` `employeename` varchar(30); |
| ALTER TABLE student CHANGE `StudentId` `studentid` int(11);            |
| ALTER TABLE student CHANGE `StudentName` `studentname` varchar(20);    |
+------------------------------------------------------------------------+
4 rows in set (0.00 sec)

Nhìn vào kết quả đầu ra mẫu ở trên, tất cả các tên cột đã được thay đổi thành chữ thường.