Jak zmienić nazwę tabeli za pomocą zapytania SQL?


117

Jak mogę zmienić nazwę tabeli za pomocą instrukcji zapytania?

Użyłem następującej składni, ale nie mogłem znaleźć słowa kluczowego rename w SQL Server 2005.

Alter table Stu_Table rename to Stu_Table_10

ALTER TABLE TABLE_NAME RENAME TO NEW_TABLE_NAME Działa tylko w Oracle DB.
renu

Odpowiedzi:


221

Użyj sp_rename:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'

Dokumentację dotyczącą tej procedury można znaleźć w witrynie MSDN .

Jeśli musisz dołączyć nazwę schematu, można ją uwzględnić tylko w pierwszym parametrze (to znaczy, nie można jej użyć do przeniesienia tabeli z jednego schematu do innego). Na przykład jest to ważne:

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'

9
Proszę pamiętać, że dla sp_rename jest to tylko pierwszy parametr, który może przyjąć nazwę schematu, drugi argument MUSI być bez nazwy schematu. Jak w EXEC sp_rename 'dbo.Stu_Table', 'Stu_Table_10'
Henrik Staun Poulsen,

1
Komentarz Henrika jest dość ważny, prawdopodobnie powinien być częścią odpowiedzi? Uratował mnie od bólu głowy.
CincinnatiProgrammer,

65

W MySQL: -

RENAME TABLE `Stu Table` TO `Stu Table_10`

8
Pytanie dotyczy SQL Server, Twoja odpowiedź dotyczy MySQL.
Sam

7
Działa świetnie z MySQL.

11
Głosowałem za mną, ponieważ to pytanie jest przywoływane w Google również dla mysql.
Paul Fournel

4
Pracował dla mnie z Mysql
Ranganatha GV

2
+1 dla odpowiedzi mysql, ponieważ Google również mnie tu przyniosło. Pamiętaj, że nawet jeśli OP zaznacza odpowiedź, która zadziałała w ich przypadku, inni mogą znaleźć przydatne odpowiedzi, na przykład ja.
amonett

15

Użyj tego na SQL Server 2005:

sp_rename old_table_name , new_table_name

da ci:

Przestroga: Zmiana dowolnej części nazwy obiektu może spowodować uszkodzenie skryptów i procedur składowanych.

ale nazwa twojej tabeli zostanie zmieniona.


14

W Postgress SQL:

Alter table student rename to student_details;


2

ALTER TABLE nazwa_tabeli RENAME NA nazwa_nowej_tabeli; działa również w MySQL.

Zrzut ekranu tego zapytania uruchamianego na serwerze MySQL

Alternatywnie: RENAME TABLE table_nameTO new_table_name; Zrzut ekranu tego zapytania uruchamianego na serwerze MySQL


1

Zmieniono składnię najnowszych wersji MySQL.

Więc spróbuj polecenia ZMIEŃ NAZWĘ bez POJEDYNCZEGO cudzysłowu w nazwach tabel.

RENAME TABLE old_name_of_table TO new_name_of_table;




-2

zmień nazwę tabeli:

RENAME TABLE old_tableName TO new_tableName;

na przykład:

RENAME TABLE company_name TO company_master;

Czy możesz wskazać dokumentację SQL Server 2005, w której jest to opisane?
Fabian Fagerholm
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.