En las bases de datos relacionales, a menudo tratamos con diferentes tablas y realizamos varias operaciones utilizando este software de base de datos diferente como MYSQL, Oracle, PostgreSQL, etc. A veces, mientras realizamos estas operaciones, muchos de nosotros queremos mantener una tabla de respaldo que es beneficiosa y puede usarse como referencia o se puede reutilizar si es necesario. Del mismo modo, muchas veces necesitamos copiar la misma tabla nuevamente y crear una versión duplicada de sí misma.
Podemos realizar un seguimiento de los cambios de datos utilizando la tabla de copia de seguridad cuando realizamos varias operaciones de modificación. Entonces, en este artículo, vamos a discutir cómo copiar y crear una tabla de respaldo en SQL.
Entrada de muestra: considere un esquema de «Información del estudiante» que consiste en datos de Geeks que se inscribieron en nuestro curso DSA como se muestra a continuación:
Información del estudiante | |||
---|---|---|---|
IDENTIFICACIÓN | Años | Nombre del estudiante | Sexo |
1 | 22 | Harry | Masculino |
2 | 23 | Vishal | Masculino |
3 | 20 | Snehal | Femenino |
4 | 25 | RAM | Masculino |
5 | 24 | hina | Femenino |
Syntax: CREATE TABLE Table_Name AS SELECT * FROM Source_Table_Name; Table_Name: The name of the backup table. AS: Aliasing
En MYSQL, podemos usar el siguiente comando para verificar la cantidad de tablas creadas en la base de datos antes y después de una copia de seguridad. Sin embargo, este comando no se admite en PostgreSQL ni en otras versiones de SQL.
SHOW TABLES;
Ejemplo 1: podemos copiar todas las columnas en la tabla de respaldo.
![](https://media.geeksforgeeks.org/wp-content/uploads/20210423174519/Backup1-660x329.jpg)
Consulta de tabla 1 de copia de seguridad
Producción :
![](https://media.geeksforgeeks.org/wp-content/uploads/20210423174521/Backup1output-660x552.jpg)
Salida de la tabla de respaldo 1
Ejemplo 2: No es obligatorio copiar todas las columnas. También podemos tomar algunas columnas.
Syntax: CREATE TABLE Table_Name AS SELECT col_1, col_2, ... FROM Source_Table_Name; Table_Name: The name of the backup table. AS: Aliasing col: Required columns from source table
![](https://media.geeksforgeeks.org/wp-content/uploads/20210423174522/Backup2-660x387.jpg)
Consulta de tabla de copia de seguridad 2
Producción :
![](https://media.geeksforgeeks.org/wp-content/uploads/20210423174605/Backup2output-660x377.jpg)
Salida de la tabla de respaldo 2
Hasta ahora hemos visto cómo crear un clon de la tabla de origen. En la tabla de copia de seguridad anterior, los datos también se copian junto con la tabla. Sin embargo, también podemos crear una tabla de respaldo sin copiar los datos. Entonces, para crear una tabla sin que se copie ningún dato, podemos usar la ayuda de la cláusula WHERE que debe devolver un valor FALSO. Por ejemplo, podemos usar WHERE 2<2 o WHERE 1=2 .
Syntax: CREATE TABLE Table_Name AS SELECT * FROM Source_Table_Name WHERE (RETURN FALSE); Table_Name: The name of the backup table. AS: Aliasing FALSE: Any expression which returns FALSE. For example 4>5
Ejemplo 1: Todas las columnas copiadas sin ningún dato.
![](https://media.geeksforgeeks.org/wp-content/uploads/20210423184654/Backup4-660x337.jpg)
Consulta de tabla de copia de seguridad
Producción :
![](https://media.geeksforgeeks.org/wp-content/uploads/20210423184655/Backup4output-660x376.jpg)
Salida de tabla de copia de seguridad
Ejemplo 2: No es obligatorio copiar todas las columnas. También podemos tomar algunas columnas.
Syntax: CREATE TABLE Table_Name AS SELECT col1,col2,.... Source_Table_Name WHERE (RETURN FALSE); Table_Name: The name of the backup table. AS: Aliasing col: Required columns from source table FALSE: Any expression which returns FALSE. For example 4>5
![](https://media.geeksforgeeks.org/wp-content/uploads/20210423184137/Backup3.jpg)
Consulta de tabla de copia de seguridad
Producción :
![](https://media.geeksforgeeks.org/wp-content/uploads/20210423184138/Backup3output.jpg)
Salida de tabla de copia de seguridad
Publicación traducida automáticamente
Artículo escrito por rishabhchakrabortygfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA