จะเปลี่ยนชื่อตารางโดยใช้แบบสอบถาม SQL ได้อย่างไร?


117

ฉันจะเปลี่ยนชื่อตารางโดยใช้คำสั่งแบบสอบถามได้อย่างไร

ฉันใช้ไวยากรณ์ต่อไปนี้ แต่ฉันไม่พบคีย์เวิร์ดเปลี่ยนชื่อใน SQL Server 2005

Alter table Stu_Table rename to Stu_Table_10

แก้ไขตาราง TABLE_NAME เปลี่ยนชื่อเป็น NEW_TABLE_NAME ใช้งานได้เฉพาะใน Oracle DB
renu

คำตอบ:


221

ใช้ sp_rename:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'

คุณสามารถค้นหาเอกสารเกี่ยวกับขั้นตอนนี้ในMSDN

หากคุณต้องการรวมชื่อสคีมาสามารถรวมไว้ในพารามิเตอร์แรกเท่านั้น (นั่นคือไม่สามารถใช้เพื่อย้ายตารางจากสคีมาหนึ่งไปยังอีกตารางได้) ตัวอย่างเช่นสิ่งนี้ใช้ได้:

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'

9
โปรดจำไว้ว่าสำหรับ sp_rename เป็นเพียงพารามิเตอร์แรกที่สามารถใช้ชื่อสคีมาอาร์กิวเมนต์ที่สองต้องไม่มีชื่อสคีมา เช่นเดียวกับใน EXEC sp_rename 'dbo.Stu_Table', 'Stu_Table_10'
Henrik Staun Poulsen

1
ความคิดเห็นของ Henrik ค่อนข้างสำคัญนี่น่าจะเป็นส่วนหนึ่งของคำตอบ? ช่วยฉันจากอาการปวดหัว
CincinnatiProgrammer

65

ในMySQL: -

RENAME TABLE `Stu Table` TO `Stu Table_10`

8
คำถามเกี่ยวกับ SQL Server คำตอบของคุณคือ MySQL
แซม

7
ทำงานได้ดีกับ MySQL

11
ฉันโหวตให้เพราะคำถามนี้อ้างอิงใน google สำหรับ mysql ด้วย
Paul Fournel

4
ทำงานให้ฉันกับ Mysql
Ranganatha GV

2
+1 สำหรับคำตอบ mysql เนื่องจาก Google นำฉันมาที่นี่ด้วย จำไว้ว่าแม้ OP จะทำเครื่องหมายคำตอบที่ได้ผลสำหรับพวกเขาคนอื่น ๆ อาจพบคำตอบอื่นที่เป็นประโยชน์เช่นตัวฉันเอง
amonett

15

โปรดใช้สิ่งนี้บน SQL Server 2005:

sp_rename old_table_name , new_table_name

มันจะให้คุณ:

ข้อควรระวัง: การเปลี่ยนส่วนใดส่วนหนึ่งของชื่ออ็อบเจ็กต์อาจทำลายสคริปต์และโพรซีเดอร์ที่จัดเก็บไว้

แต่ชื่อตารางของคุณจะเปลี่ยนไป




2

แก้ไขตาราง table_name เปลี่ยนชื่อเป็น new_table_name; ทำงานใน MySQL ได้เช่นกัน

ภาพหน้าจอของแบบสอบถามนี้ทำงานในเซิร์ฟเวอร์ MySQL

อีกทางเลือกหนึ่ง: เปลี่ยนชื่อตารางtable_nameTO new_table_name; ภาพหน้าจอของแบบสอบถามนี้ทำงานในเซิร์ฟเวอร์ MySQL


1

Syntex สำหรับ MySQL เวอร์ชันล่าสุดมีการเปลี่ยนแปลง

ดังนั้นลองใช้คำสั่ง RENAME โดยไม่มีคำพูดเดียวในชื่อตาราง

RENAME TABLE old_name_of_table TO new_name_of_table;




-2

เปลี่ยนชื่อตาราง:

RENAME TABLE old_tableName TO new_tableName;

ตัวอย่างเช่น:

RENAME TABLE company_name TO company_master;

คุณช่วยชี้ไปที่เอกสาร SQL Server 2005 ที่อธิบายไว้ได้ไหม
Fabian Fagerholm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.