Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

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

Để chuyển đổi tên tất cả các bảng và cột sang chữ thường, bạn có thể truy vấn INFORMATION_SCHEMA.COLUMNS để sinh ra các lệnh ALTER TABLE.

Cú pháp sinh lệnh ALTER

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

Ví dụ minh họa

Giả sử database bothinnodbandmyisam có 2 bảng: employee và student với tên cột viết hoa.

Chạy truy vấn sinh lệnh:

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';

Kết quả - các lệnh ALTER TABLE cần chạy:

+------------------------------------------------------------------------+
| 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);    |
+------------------------------------------------------------------------+

Chạy lần lượt các lệnh trên để đổi tên cột thành chữ thường. Để đổi tên bảng, sử dụng RENAME TABLE tương tự.

Lưu ý: MySQL trên Windows không phân biệt chữ hoa/thường cho tên bảng theo mặc định (lower_case_table_names=1), nhưng trên Linux thì phân biệt. Việc chuẩn hóa chữ thường giúp tránh lỗi khi di chuyển giữa các hệ điều hành.