sql >> Base de Datos >  >> RDS >> Mysql

Cree una nueva tabla seleccionando datos de otras tablas con CREAR TABLA COMO

Mediante el uso de la declaración de manipulación de datos SQL, se puede crear una tabla nueva, temporal, de copia de seguridad o normal y llenarla o insertarla con datos de otra tabla o tablas recuperadas por la declaración SELECT. El lenguaje de manipulación de datos de SQL es CREATE TABLE AS, que se puede usar para crear una nueva tabla creada a partir del contenido del conjunto de resultados de una consulta en una tabla que ya existe en la base de datos. Tanto los tipos de columna como los datos de fila para la nueva tabla provienen del comando SELECT especificado por select.

CREATE TABLE AS tiene la siguiente sintaxis o sinopsis en forma simple:

CREATE TABLE new_table_name [ ( column [, ...] ) ] AS SELECT [ ( column [, ...] ) ] FROM existing table_name

La declaración SELECT puede estar en una forma compleja donde los datos se recuperan de varias tablas. Para la nueva tabla, los nombres de las columnas se pueden especificar al incluir los nombres de las columnas en una lista delimitada por comas. Un punto muy importante a tener en cuenta es que debe haber la misma cantidad de columnas especificadas en la lista de columnas que preceden a la cláusula AS (opcional, si se especifica) para la nueva tabla como la cantidad de columnas de destino que devuelve la declaración de selección. Si la lista opcional de columnas entre paréntesis de la nueva tabla contiene un número de filas diferente al de las filas que devuelve la instrucción SELECT, se mostrará el siguiente mensaje de error:

ERROR:CREATE TABLE/AS SELECT tiene un recuento de columnas no coincidente

En su forma más simple, la declaración CREATE TABLE AS creará una copia de seguridad completa de una tabla existente que incluye todas las columnas y datos simplemente usando la declaración:

CREATE TABLE new_table_name AS SELECT * FROM existing_table_name