Đổi tên tất cả các bảng trong mysql

Trong đó, table_name là tên của một bảng hiện có và new_name là tên mà bạn cần thay đổi

Ví dụ

Chúng ta hãy tạo một bảng có tên MyPlayers trong cơ sở dữ liệu MySQL bằng cách sử dụng câu lệnh CREATE như hình dưới đây –

CREATE TABLE Demo(
   ID INT,
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255)
);

Bây giờ, chúng ta sẽ chèn 7 bản ghi vào bảng MyPlayers bằng câu lệnh INSERT –

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');

Bây giờ, nếu xác minh nội dung của bảng Demo, bạn có thể quan sát các bản ghi đã tạo dưới dạng -

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)

Truy vấn sau đổi tên bảng đã tạo ở trên -

mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)

Vì bạn đã đổi tên bảng, nên nếu bạn xác minh nội dung của bảng bằng câu lệnh SELECT, bạn sẽ gặp lỗi như hình bên dưới -

mysql> select * from Demo;
ERROR 1146 (42S02): Table 'sample.demo' doesn't exist

Đổi tên nhiều bảng

Sử dụng câu lệnh RENAME TABLE, bạn có thể đổi tên nhiều bảng cùng một lúc sau đây là cú pháp để làm như vậy -

Hướng dẫn MySQL này giải thích cách sử dụng câu lệnh MySQL ALTER TABLE để thêm cột, sửa đổi cột, loại bỏ cột, đổi tên cột hoặc đổi tên bảng (có cú pháp và ví dụ)

Sự miêu tả

Câu lệnh ALTER TABLE của MySQL được sử dụng để thêm, sửa đổi hoặc thả/xóa các cột trong bảng. Câu lệnh ALTER TABLE của MySQL cũng được sử dụng để đổi tên bảng

Thêm cột vào bảng

cú pháp

Cú pháp để thêm một cột trong bảng trong MySQL (sử dụng câu lệnh ALTER TABLE) là

ALTER TABLE table_name
  ADD new_column_name column_definition
    [ FIRST | AFTER column_name ];
table_nameTên của bảng cần sửa đổi. new_column_nameTên của cột mới để thêm vào bảng. column_definitionKiểu dữ liệu và định nghĩa của cột (NULL hoặc NOT NULL, v.v.). ĐẦU TIÊN. SAU tên cột_tùy chọn. Nó cho MySQL biết vị trí trong bảng để tạo cột. Nếu không chỉ định tham số này, cột mới sẽ được thêm vào cuối bảng

Ví dụ

Hãy xem một ví dụ cho thấy cách thêm một cột trong bảng MySQL bằng cách sử dụng câu lệnh ALTER TABLE

Ví dụ

ALTER TABLE contacts
  ADD last_name varchar(40) NOT NULL
    AFTER contact_id;

Ví dụ MySQL ALTER TABLE này sẽ đổi tên cột có tên contact_type thành ctype. Cột sẽ được định nghĩa là cột varchar(20) NOT NULL

Một thời gian trước, tôi đã đăng cách đổi tên bảng trong MySQL, bằng cách sử dụng truy vấn SQL hoặc sử dụng phpMyAdmin. Trong bài đăng này, tôi sẽ trình bày cách đổi tên nhiều bảng MySQL từ một truy vấn duy nhất, bao gồm cả cách bạn đổi tên hai bảng. Lưu ý rằng thông thường không nên làm điều này trên các máy chủ sản xuất bận rộn

Như một bản tóm tắt, để đổi tên một bảng từ e. g. "products" thành "products_old" chạy truy vấn SQL này

RENAME TABLE products TO products_old

Để đổi tên nhiều bảng cùng một lúc, chỉ cần dùng dấu phẩy phân tách các bảng cần đổi tên như trong ví dụ sau, nơi chúng tôi đổi tên bảng mẫu là "products" và "category" thành "products_old" và "categories_old"

________số 8

Nếu bạn muốn chuyển đổi tên bảng của hai bảng, bạn cũng có thể thực hiện việc này trong một truy vấn. Việc đổi tên được thực hiện theo trình tự từ trái sang phải, vì vậy bạn sẽ đổi tên bảng đầu tiên thành tên tạm thời, bảng thứ hai thành tên của bảng đầu tiên và sau đó là bảng tạm thời thành tên ban đầu. Rõ ràng là nó sẽ không hoạt động nếu tên tạm thời đã được sử dụng

Ví dụ sau minh họa điều này, trong đó chúng tôi đổi tên "products" thành "products_bak" và "products_bak" hiện có thành "products"

RENAME TABLE
  products TO products_tmp,
  products_bak TO products,
  products_tmp TO products_bak

Lưu ý như tôi đã đề cập ở đầu bài đăng này, đó không phải là điều bạn muốn làm trên một trang web sản xuất bận rộn, trừ khi bạn tạm thời gỡ trang web xuống trước, theo ghi chú sau từ tài liệu MySQL. "Thao tác đổi tên được thực hiện nguyên tử, điều đó có nghĩa là không phiên nào khác có thể truy cập vào bất kỳ bảng nào trong khi quá trình đổi tên đang chạy"

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

Giới thiệu về câu lệnh RENAME TABLE của MySQL

Do yêu cầu kinh doanh thay đổi, chúng tôi cần đổi tên bảng hiện tại thành bảng mới để phản ánh tốt hơn tình hình mớ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 hay nhiều bảng ta sử dụng câu lệnh

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
00 như sau

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
1

Bảng cũ (

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
01) phải tồn tại và bảng mới (
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
02) không được. Nếu bảng mới
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
02 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 

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
00 để đổi tên các dạng xem

Trước khi chúng tôi thực hiện câu lệnh

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
00, chúng tôi phải đảm bảo rằng không có giao dịch đang hoạt động hoặc bảng bị khóa

Lưu ý rằng bạn không thể sử dụng câu lệnh

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
00 để đổi tên bảng tạm thời, nhưng bạn có thể sử dụng câu lệnh ALTER TABLE để đổi tên bảng tạm thời

Về mặt bảo mật, mọi đặc quyền hiện có mà chúng tôi đã cấp cho bảng cũ phải được di chuyển sang bảng mới theo cách thủ công

Trước khi đổi tên bảng, bạn nên đánh giá tác động kỹ lưỡng. Ví dụ: bạn nên điều tra ứng dụng nào đang sử dụng bảng. Nếu tên của bảng thay đổi, thì 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 tự điều chỉnh các đối tượng cơ sở dữ liệu khác như dạng xem, thủ tục lưu trữ, trình kích hoạt, ràng buộc khóa ngoại, v.v. , tham chiếu đến bảng. Chúng ta sẽ thảo luận điều này chi tiết hơn trong các ví dụ sau

MySQL RENAME TABLE ví dụ

Đầu tiên, chúng tôi tạo một cơ sở dữ liệu mới có tên là

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
07 bao gồm hai bảng.
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08 và
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09 cho cuộc biểu tình

Đổi tên tất cả các bảng trong mysql
Đổi tên tất cả các bảng trong mysql
mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
1
mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
2

Thứ hai, chúng tôi chèn dữ liệu mẫu vào cả hai bảng

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08 và
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
0
mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
6

Thứ ba, chúng tôi xem xét dữ liệu của mình trong bảng

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09 và
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
9
Đổi tên tất cả các bảng trong mysql
Đổi tên tất cả các bảng trong mysql
mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
0
Đổi tên tất cả các bảng trong mysql
Đổi tên tất cả các bảng trong mysql

Đổi tên bảng được tham chiếu bởi một dạng xem

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

Ví dụ ta tạo view tên là

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
64 dựa trên bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08 và
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09 như sau

mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
4

Chế độ xem sử dụng mệnh đề nối bên trong để nối các bảng

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09 và
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08

Câu lệnh SELECT sau trả về tất cả dữ liệu từ chế độ xem

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
64

mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
8
Đổi tên tất cả các bảng trong mysql
Đổi tên tất cả các bảng trong mysql

Bây giờ chúng ta đổi tên bảng

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08 thành
mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
91 và truy vấn lại dữ liệu từ chế độ xem
mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
64.

mysql> select * from Demo;
ERROR 1146 (42S02): Table 'sample.demo' doesn't exist
2
mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
8

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

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
11

Chúng ta có thể sử dụng câu lệnh

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
93 để kiểm tra trạng thái của chế độ xem
mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
64 như sau

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
12
Đổi tên tất cả các bảng trong mysql
Đổi tên tất cả các bảng trong mysql

Chúng ta cần thay đổi chế độ xem

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
64 theo cách thủ công để nó tham chiếu đến bảng
mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
91 thay vì bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08.

Đổi tên một bảng được tham chiếu bởi một thủ tục được lưu trữ

Trong trường hợp bảng mà bạn định đổi tên được tham chiếu bởi một thủ tục đã lưu trữ, bạn phải điều chỉnh nó theo cách thủ công giống như bạn đã làm với dạng xem

Đầu tiên, đổi tên bảng

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
91 thành bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
13

Sau đó, tạo thủ tục lưu trữ mới có tên là

mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
00 đề cập đến bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
14

Tiếp theo ta thực hiện bảng

mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
00 để lấy dữ liệu của nhân viên có id 1 như sau

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
15
Đổi tên tất cả các bảng trong mysql
Đổi tên tất cả các bảng trong mysql

Sau đó, chúng tôi đổi tên lại bảng

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08 thành bảng
mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
91.

mysql> select * from Demo;
ERROR 1146 (42S02): Table 'sample.demo' doesn't exist
2

Cuối cùng, chúng ta gọi thủ tục lưu sẵn

mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
00 để lấy thông tin của nhân viên có id 2

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
17

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

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
18

Để khắc phục điều này, chúng tôi phải thay đổi thủ công bảng

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08 trong quy trình được lưu trữ thành bảng
mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
91

Đổi tên bảng có khóa ngoại được tham chiếu đến

Bảng

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09 liên kết với bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08 bằng cột
mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
40. Cột
mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
41d trong bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08 là khóa ngoại tham chiếu đến bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09

Nếu chúng tôi đổi tên bảng

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09, tất cả các khóa ngoại trỏ đến bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09 sẽ không được cập nhật tự động. Trong những trường hợp như vậy, chúng ta phải loại bỏ và tạo lại các khóa ngoại theo cách thủ công

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
19

Chúng tôi xóa một bộ phận có id 1, vì ràng buộc khóa ngoại, tất cả các hàng trong bảng

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
91 cũng sẽ bị xóa. Tuy nhiên, chúng tôi đã đổi tên bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09 thành bảng
mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
48 mà không cập nhật khóa ngoại theo cách thủ công, MySQL sẽ trả về lỗi như minh họa bên dưới

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
20
mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
21

Đổi tên nhiều bảng

Chúng ta cũng có thể sử dụng câu lệnh

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
00 để đổi tên nhiều bảng cùng một lúc. Xem tuyên bố sau

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
22

Câu lệnh sau đổi tên bảng

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
91 và
mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
48 thành bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08 và
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
09

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
23

Lưu ý rằng câu lệnh

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
00 không phải là nguyên tử. Điều đó có nghĩa là nếu có bất kỳ lỗi nào xảy ra, MySQL sẽ khôi phục tất cả các bảng đã đổi tên về tên cũ của chúng

Đổi tên bảng bằng câu lệnh ALTER TABLE

Chúng ta có thể đổi tên bảng bằng cách sử dụng câu lệnh

mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
85 như sau

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
24

Câu lệnh

mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
85 có thể đổi tên một bảng tạm thời trong khi câu lệnh
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
00 không thể

Đổi tên ví dụ bảng tạm thời

Đầu tiên, chúng tôi tạo một bảng tạm thời chứa tất cả các họ duy nhất đến từ cột

mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
88 của bảng
mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
08

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
25

Thứ hai, chúng tôi sử dụng

mysql> insert into Demo values(1, 'Shikhar', 'Dhawan');
mysql> insert into Demo values(2, 'Jonathan', 'Trott');
mysql> insert into Demo values(3, 'Kumara', 'Sangakkara');
00 để đổi tên bảng
mysql> select * from Demo;
ERROR 1146 (42S02): Table 'sample.demo' doesn't exist
21

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
26

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

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
27

Thứ ba, chúng tôi sử dụng câu lệnh

mysql> RENAME TABLE Demo to Players;
Query OK, 0 rows affected (0.74 sec)
85 để đổi tên bảng
mysql> select * from Demo;
ERROR 1146 (42S02): Table 'sample.demo' doesn't exist
21

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
28

Thứ tư, chúng tôi truy vấn dữ liệu từ bảng tạm thời

mysql> select * from Demo;
ERROR 1146 (42S02): Table 'sample.demo' doesn't exist
24

mysql> select * from Demo;
+------+------------+------------+
| ID   | First_Name | Last_Name  |
+------+------------+------------+
| 1    | Shikhar    | Dhawan     |
| 2    | Jonathan   | Trott      |
| 3    | Kumara     | Sangakkara |
+------+------------+------------+
3 rows in set (0.00 sec)
29
Đổi tên tất cả các bảng trong mysql
Đổi tên tất cả các bảng trong mysql

Trong hướng dẫn này, chúng tôi đã chỉ cho bạn cách đổi tên bảng bằng cách sử dụng các câu lệnh RENAME TABLE và ALTER TABLE của MySQL.

Làm cách nào để đổi tên tất cả các bảng trong MySQL?

ALTER TABLE old_table RENAME new_table ; . ĐỔI TÊN BẢNG old_table1 THÀNH new_table1, old_table2 THÀNH new_table2, old_table3 THÀNH new_table3; .

Lệnh đổi tên trong MySQL là gì?

Sau đây là cú pháp cơ bản của câu lệnh RENAME TABLE − RENAME TABLE table_name TO new_name; Trong đó, tên_bảng là tên của một bảng hiện có .

Làm cách nào để đổi tên cơ sở dữ liệu trong MySQL?

Đổi tên cơ sở dữ liệu MySQL bằng cPanel .
Đăng nhập vào cPanel
Trong phần Cơ sở dữ liệu, nhấp vào Cơ sở dữ liệu MySQL
Một trang mới sẽ mở ra. Cuộn xuống cơ sở dữ liệu bạn muốn đổi tên và chọn liên kết Đổi tên bên dưới cột Hành động
Nhập tên cơ sở dữ liệu mới, sau đó nhấp vào Tiến hành

Chúng ta có thể đổi tên tên bảng trong SQL không?

Đôi khi, chúng tôi có thể muốn đổi tên bảng của mình để đặt cho nó một cái tên phù hợp hơn. Với mục đích này, chúng ta có thể sử dụng ALTER TABLE để đổi tên bảng .