Bài MySQL 43: Lệnh RENAME TABLE trong MySQL

0
379

Xin chào các bạn, trong bài học ngày hôm nay mình sẽ hướng dẫn các bạn cách đổi tên các bảng bằng cách sử dụng câu lệnh RENAME TABLE và câu lệnh ALTER TABLE.

Giới thiệu

Trong một vài trường hợp đặc biệt, chúng ta cần đổi tên bảng hiện tại thành một bảng mới để phù hợp với yêu cầu hiện tại. MySQL cung cấp cho chúng ta một câu lệnh rất hữu ích để thay đổi tên của một hoặc nhiều bảng.

Để thay đổi một hoặc nhiều bảng, chúng ta sử dụng câu lệnh RENAME TABLE như sau:

Bảng cũ (old_table_name) phải tồn tại và bảng mới (new_table_name) chưa tồn tại. Nếu bảng new_table_name đã tồn tại, câu lệnh sẽ thất bại.

Ngoài các bảng, chúng ta có thể sử dụng câu lệnh RENAME TABLE để đổi tên các khung nhìn(views).

Trước khi chúng ta thực hiện câu lệnh RENAME TABLE, chúng ta phải đảm bảo rằng không có các câu lệnh khác đang hoạt động hoặc các bảng bị khóa.

Lưu ý rằng bạn không thể sử dụng câu lệnh RENAME TABLE để đổi tên một bảng tạm thời, nhưng bạn có thể sử dụng câu lệnh ALTER TABLE để đổi tên một bảng tạm thời.

Trước khi đổi tên một bảng, bạn nên kiểm tra cẩn thận các hoặt động của bảng. Ví dụ, bạn nên kiểm tra những ứng dụng nào đang sử dụng bảng. Nếu tên của bảng thay đổi, do đó, mã ứng dụng đề cập đến tên bảng cũng cần được thay đổi. Ngoài ra, bạn phải điều chỉnh thủ công các đối tượng cơ sở dữ liệu khác như chế độ xem, công cục lưu trữ, trình kích hoạt, khóa ngoại, v.v., tham chiếu đến bảng.

Ví dụ về câu lệnh RENAME TABLE

Đầu tiên, chúng ta tạo một cơ sở dữ liệu mới có tên là hr, bao gồm hai bảng: employeesdepartments.

Thứ hai, chúng ta chèn dữ liệu vào cả hai bảng employeesdepartments:

Thứ ba, chúng ta kiểm tra dữ liệu trong các bảng departmentsemployees:

Bây giờ chúng ta sẽ tiến hành đổi tên một bảng được tham chiếu bởi một khung nhìn(view):

Nếu bảng mà bạn sắp đổi tên được tham chiếu bởi một khung nhìn, khung nhìn sẽ trở thành không hợp lệ nếu bạn đổi tên bảng và bạn phải điều chỉnh chế độ xem theo cách thủ công.

Ví dụ, chúng ta tạo một khung nhìn có tên v_employee_info dựa trên các bảng employeesdepartments như sau:

Các khung nhìn sử dụng mệnh đề join bên trong để nối các bảng employeesdepartments.

Bây giờ chúng ta đổi tên employees thành bảng people và truy vấn dữ liệu từ khung nhìn v_employee_info lần nữa.

MySQL trả về thông báo lỗi sau:

Chúng ta có thể sử dụng câu lệnh CHECK TABLE để kiểm tra trạng thái của khung nhìn v_employee_info như sau:

Vì vậy chúng ta cần phải thay đổi v_employee_info theo cách thủ công để nó tham chiếu đến bảng people thay vì bảng employees.

Kết luận

Như vậy trong bài ngày hôm nay mình đã hướng dẫn các bạn sử dụng câu lệnh RENAME TABLE để đổi tên một bảng trong MySQL. Trong bài học tiếp theo chúng ta sẽ tìm hiểu về câu lệnh DROP TABLE trong MySQL.

Chúc các bạn học tập tốt! 

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây