Bagaimana cara mengubah nama tabel menggunakan kueri SQL?

117

Bagaimana saya bisa mengubah nama tabel menggunakan pernyataan query?

Saya menggunakan sintaks berikut tetapi saya tidak dapat menemukan kata kunci ganti nama di SQL server 2005.

Alter table Stu_Table rename to Stu_Table_10
Lii
sumber
ALTER TABLE TABLE_NAME RENAME TO NEW_TABLE_NAME Hanya berfungsi di Oracle DB.
renu

Jawaban:

221

Gunakan sp_rename:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'

Anda dapat menemukan dokumentasi tentang prosedur ini di MSDN .

Jika Anda perlu menyertakan nama skema, ini hanya dapat disertakan di parameter pertama (yaitu, ini tidak dapat digunakan untuk memindahkan tabel dari satu skema ke skema lainnya). Jadi, misalnya, ini valid:

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'
David M
sumber
9
Harap diingat bahwa untuk sp_rename hanya parameter pertama yang dapat menggunakan nama Schema, argumen kedua HARUS tanpa nama Schema. Seperti dalam EXEC sp_rename 'dbo.Stu_Table', 'Stu_Table_10'
Henrik Staun Poulsen
1
Komentar Henrik cukup penting, mungkin ini adalah bagian dari jawabannya? Menyelamatkan saya dari sakit kepala.
CincinnatiProgrammer
65

Masuk MySQL: -

RENAME TABLE `Stu Table` TO `Stu Table_10`
djairo
sumber
8
Pertanyaannya adalah tentang SQL Server, jawaban Anda untuk MySQL.
Sam
7
Bekerja dengan baik dengan MySQL.
11
Saya mendapat suara positif karena pertanyaan ini direferensikan di google untuk mysql juga.
Paul Fournel
4
Bekerja untuk saya dengan Mysql
Ranganatha GV
2
1 untuk jawaban mysql karena Google membawa saya ke sini juga. Ingat meskipun OP mencentang jawaban yang berhasil untuk mereka, orang lain mungkin menemukan jawaban alternatif yang berguna seperti saya.
amonett
15

Silakan gunakan ini di SQL Server 2005:

sp_rename old_table_name , new_table_name

itu akan memberi Anda:

Perhatian: Mengubah bagian mana pun dari nama objek dapat merusak skrip dan prosedur yang tersimpan.

tetapi nama tabel Anda akan diubah.

Ravindra K.
sumber
14

Dalam SQL Postgress:

Alter table student rename to student_details;
Kamran
sumber
6

Di MySQL:

GANTI NAMA TABEL template_functionKE business_function;

Devendra Singraul
sumber
2

ALTER TABLE table_name RENAME TO new_table_name; bekerja di MySQL juga.

Cuplikan layar Query ini dijalankan di server MySQL

Alternatifnya: GANTI NAMA TABEL table_nameKE new_table_name; Cuplikan layar Query ini dijalankan di server MySQL

Ashutosh K Singh
sumber
1

Syntex untuk versi MySQL terbaru telah diubah.

Jadi coba perintah RENAME tanpa KUTIP TUNGGAL dalam nama tabel.

RENAME TABLE old_name_of_table TO new_name_of_table;

Avinash
sumber
0
RENAME TABLE old_table_name TO new_table_name;
Hazeena
sumber
-1

jalankan perintah ini

sp_rename 'Employee','EData'
Sai Gopi Me
sumber
-2

ganti nama tabel:

RENAME TABLE old_tableName TO new_tableName;

sebagai contoh:

RENAME TABLE company_name TO company_master;
pradip kor
sumber
Bisakah Anda menunjuk ke dokumentasi SQL server 2005 di mana hal ini dijelaskan?
Fabian Fagerholm