Làm cách nào để thay đổi tên bảng bằng truy vấn SQL?


117

Làm cách nào để thay đổi tên bảng bằng câu lệnh truy vấn?

Tôi đã sử dụng cú pháp sau nhưng không thể tìm thấy từ khóa đổi tên trong SQL server 2005.

Alter table Stu_Table rename to Stu_Table_10

ALTER TABLE TABLE_NAME RENAME TO NEW_TABLE_NAME Chỉ hoạt động trong Oracle DB.
renu

Câu trả lời:


221

Sử dụng sp_rename:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'

Bạn có thể tìm thấy tài liệu về quy trình này trên MSDN .

Nếu bạn cần bao gồm tên lược đồ, tên này chỉ có thể được đưa vào tham số đầu tiên (nghĩa là, tên này không thể được sử dụng để di chuyển một bảng từ một lược đồ này sang một lược đồ khác). Vì vậy, ví dụ, điều này là hợp lệ:

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'

9
Hãy nhớ rằng đối với sp_rename, nó chỉ là tham số đầu tiên có thể mang tên Schema, đối số thứ hai PHẢI không có tên Schema. Như trong EXEC sp_rename 'dbo.Stu_Table', 'Stu_Table_10'
Henrik Staun Poulsen

1
Nhận xét của Henrik khá quan trọng, đây có lẽ là một phần của câu trả lời? Đã cứu tôi khỏi một số cơn đau đầu.
CincinnatiProgrammer,

65

Trong MySQL: -

RENAME TABLE `Stu Table` TO `Stu Table_10`

8
Câu hỏi là về SQL Server, câu trả lời của bạn là dành cho MySQL.
Sam

7
Hoạt động tốt với MySQL.

11
Tôi ủng hộ vì câu hỏi này cũng được tham chiếu trong google cho mysql.
Paul Fournel

4
Làm việc cho tôi với Mysql
Ranganatha GV

2
+1 cho câu trả lời mysql vì Google cũng đưa tôi đến đây. Hãy nhớ ngay cả khi OP đánh dấu vào câu trả lời phù hợp với họ, những người khác có thể tìm thấy câu trả lời thay thế hữu ích chẳng hạn như bản thân tôi.
amonett

15

Vui lòng sử dụng điều này trên SQL Server 2005:

sp_rename old_table_name , new_table_name

nó sẽ cung cấp cho bạn:

Thận trọng: Thay đổi bất kỳ phần nào của tên đối tượng có thể phá vỡ các tập lệnh và thủ tục được lưu trữ.

nhưng tên bảng của bạn sẽ được thay đổi.


14

Trong SQL hậu kỳ:

Alter table student rename to student_details;


2

ALTER TABLE table_name RENAME TO new_table_name; cũng hoạt động trong MySQL.

Ảnh chụp màn hình của Truy vấn này chạy trong máy chủ MySQL

Ngoài ra: RENAME TABLE table_nameTO new_table_name; Ảnh chụp màn hình của Truy vấn này chạy trong máy chủ MySQL


1

Syntex cho các phiên bản MySQL mới nhất đã được thay đổi.

Vì vậy, hãy thử lệnh RENAME mà không có SINGLE QUOTES trong tên bảng.

RENAME TABLE old_name_of_table TO new_name_of_table;




-2

đổi tên tên bảng:

RENAME TABLE old_tableName TO new_tableName;

ví dụ:

RENAME TABLE company_name TO company_master;

Bạn có thể trỏ đến tài liệu SQL server 2005 nơi mô tả điều này không?
Fabian Fagerholm,
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.