SQL sorgusu kullanarak tablo adı nasıl değiştirilir?


117

Bir sorgu ifadesi kullanarak tablo adını nasıl değiştirebilirim?

Aşağıdaki sözdizimini kullandım ancak yeniden adlandır anahtar kelimesini SQL server 2005'te bulamadım.

Alter table Stu_Table rename to Stu_Table_10

ALTER TABLE TABLE_NAME NEW_TABLE_NAME İÇİN YENİDEN ADLANDIR Yalnızca Oracle DB'de çalışır.
renu

Yanıtlar:


221

Sp_rename kullanın:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'

Bu prosedürle ilgili belgeleri MSDN'de bulabilirsiniz .

Bir şema adı eklemeniz gerekiyorsa, bu yalnızca ilk parametreye dahil edilebilir (yani bu, bir tabloyu bir şemadan diğerine taşımak için kullanılamaz). Yani, örneğin, bu geçerlidir:

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'

9
Lütfen sp_rename için bir Şema adını alabilen ilk parametrenin, ikinci bağımsız değişkenin Şema adı içermemesi ZORUNLU olduğunu unutmayın. EXEC sp_rename'de olduğu gibi 'dbo.Stu_Table', 'Stu_Table_10'
Henrik Staun Poulsen

1
Henrik'in yorumu oldukça önemli, bu muhtemelen cevabın bir parçası olmalı mı? Beni biraz baş ağrısından kurtardı.
CincinnatiProgrammer

65

İçinde MySQL: -

RENAME TABLE `Stu Table` TO `Stu Table_10`

8
Soru SQL Server ile ilgili, cevabınız MySQL için.
Sam

7
MySQL ile harika çalıştı.

11
Oy verdim çünkü bu soru mysql için google'da da başvuruluyor.
Paul Fournel

4
Benim için Mysql ile çalıştı
Ranganatha GV

2
Google beni buraya da getirdiğinden mysql cevabı için +1. OP'nin onlar için işe yarayan cevabı işaretlemesine rağmen, diğerleri benim gibi alternatif cevapları faydalı bulabilir.
amonett

15

Lütfen bunu SQL Server 2005'te kullanın:

sp_rename old_table_name , new_table_name

sana verecek:

Dikkat: Nesne adının herhangi bir bölümünü değiştirmek, komut dosyalarını ve saklı yordamları bozabilir.

ancak masa adınız değişecek.


14

Postgress SQL'de:

Alter table student rename to student_details;


2

TABLE table_name DEĞİŞTİRİN new_table_name; MySQL'de de çalışır.

MySQL sunucusunda çalıştırılan bu Sorgunun ekran görüntüsü

Alternatif olarak: TABLOYU table_nameYENİDEN ADLANDIRIN new_table_name; MySQL sunucusunda çalıştırılan bu Sorgunun ekran görüntüsü


1

En son MySQL sürümleri için sözdizimi değiştirildi.

Bu nedenle , tablo adlarında TEK QUOTES olmadan RENAME komutunu deneyin .

RENAME TABLE old_name_of_table TO new_name_of_table;




-2

tablo adını yeniden adlandırın:

RENAME TABLE old_tableName TO new_tableName;

Örneğin:

RENAME TABLE company_name TO company_master;

Bunun açıklandığı SQL server 2005 dokümantasyonunu gösterebilir misiniz?
Fabian Fagerholm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.