¿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

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'

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`

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.


14

En Postgress SQL:

Alter table student rename to student_details;


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


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;




-2

renombrar el nombre de la tabla:

RENAME TABLE old_tableName TO new_tableName;

por ejemplo:

RENAME TABLE company_name TO company_master;

¿Podría señalar la documentación de SQL Server 2005 donde se describe esto?
Fabian Fagerholm
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.