¿Cómo cambiar el nombre de una tabla usando una consulta SQL?

117

¿Cómo puedo cambiar el nombre de la tabla usando una declaración de consulta?

Usé la siguiente sintaxis pero no pude encontrar la palabra clave de cambio de nombre en SQL Server 2005.

Alter table Stu_Table rename to Stu_Table_10
Lii
fuente
ALTER TABLE TABLE_NAME RENAME TO NEW_TABLE_NAME Funciona solo en Oracle DB.
renu

Respuestas:

221

Utilice sp_rename:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'

Puede encontrar documentación sobre este procedimiento en MSDN .

Si necesita incluir un nombre de esquema, solo se puede incluir en el primer parámetro (es decir, no se puede usar para mover una tabla de un esquema a otro). Entonces, por ejemplo, esto es válido:

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'
David M
fuente
9
Recuerde que para sp_rename es solo el primer parámetro que puede tomar un nombre de esquema, el segundo argumento DEBE estar sin el nombre de esquema. Como en EXEC sp_rename 'dbo.Stu_Table', 'Stu_Table_10'
Henrik Staun Poulsen
1
El comentario de Henrik es bastante importante, ¿esto probablemente debería ser parte de la respuesta? Me salvó de un dolor de cabeza.
Cincinnati
65

En MySQL: -

RENAME TABLE `Stu Table` TO `Stu Table_10`
djairo
fuente
8
La pregunta es sobre SQL Server, su respuesta es para MySQL.
Sam
7
Funcionó muy bien con MySQL.
11
Voté porque esta pregunta también se hace referencia en google para mysql.
Paul Fournel
4
Trabajó para mí con Mysql
Ranganatha GV
2
+1 para la respuesta de mysql, ya que Google me trajo aquí también. Recuerde que incluso aunque OP marque la respuesta que les funcionó, otros pueden encontrar respuestas alternativas útiles, como yo.
amonett
15

Utilice esto en SQL Server 2005:

sp_rename old_table_name , new_table_name

te dará:

Precaución: Cambiar cualquier parte del nombre de un objeto podría romper los scripts y los procedimientos almacenados.

pero se cambiará el nombre de su tabla.

Ravindra K.
fuente
14

En Postgress SQL:

Alter table student rename to student_details;
Kamran
fuente
6

En MySQL:

CAMBIAR template_functionEL NOMBRE DE LA TABLA A business_function;

Devendra Singraul
fuente
2

ALTER TABLE nombre_tabla RENAME TO new_table_name; también funciona en MySQL.

Captura de pantalla de esta consulta ejecutada en el servidor MySQL

Alternativamente: RENOMBRAR TABLA table_nameA new_table_name; Captura de pantalla de esta consulta ejecutada en el servidor MySQL

Ashutosh K Singh
fuente
1

Se ha cambiado Syntex para las últimas versiones de MySQL.

Así que pruebe el comando CAMBIAR NOMBRE sin CITAS ÚNICAS en los nombres de las tablas.

RENAME TABLE old_name_of_table TO new_name_of_table;

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

ejecutar este comando

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

renombrar el nombre de la tabla:

RENAME TABLE old_tableName TO new_tableName;

por ejemplo:

RENAME TABLE company_name TO company_master;
pradip kor
fuente
¿Podría señalar la documentación de SQL Server 2005 donde se describe esto?
Fabian Fagerholm