Insertar mysql en seleccionar en un comando

Insertar mysql en seleccionar en un comando
Todos estamos familiarizados con la cláusula básica de inserción mysql en la que nos permite insertar valores en una tabla.

En este tutorial, aplazaremos de eso y veremos la instrucción Insertar en - Seleccionar que podemos usar para insertar valores en una tabla donde los valores son del resultado de una instrucción SELECT.

Uso básico

Si puede recordar la cláusula BASIC INTER en MySQL, podemos agregar datos como:

Insertar en valores tbl_name (valores1 ... valoresn);

Sin embargo, podemos usar la instrucción SELECT en lugar de la cláusula de valores.

La sintaxis general es:

Insertar en tbl_name (cols) seleccione cols_list desde tbl_name donde condición;

La consulta anterior usa la cláusula SELECT para seleccionar valores especificados de otras tablas e inserte en la tabla establecida.

En la mayoría de los casos, usamos la cláusula Insertar en - Seleccionar al copiar valores de otra tabla o solo secciones de los valores de una tabla.

Caso de uso de ejemplo

Permítanme ilustrar cómo podemos usar el inserto en la instrucción Seleccionar utilizando una base de datos del mundo real.

NOTA: Para este ejemplo, usaré la base de datos Sakila para ilustraciones. No dude en usar cualquier otra base de datos o descargue una copia de la base de datos de muestra Sakila desde el recurso que se proporciona a continuación:

https: // dev.mysql.com/doc/index-other.html

Comencemos creando una tabla que contenga los datos como se muestra en las consultas a continuación:

Usa sakila;
Tabla de caída si existe Currated_info;
Crear tabla Currated_info (
ID int primaria clave auto_increment,
Título Varchar (100),
calificación Varchar (50),
Film_length int
);

Finalmente, podemos usar la declaración Insertar en la tabla de arriba como se muestra en la consulta a continuación:

Insertar en Currated_info (título, calificación, film_length) Seleccionar título, calificación, longitud de la película;

Una vez que la consulta se ha ejecutado correctamente, podemos consultar la Curated_Table y ver los datos como se muestra a continuación:

mysql> use sakila;
Base de datos cambiada
mysql> seleccionar * del límite de Currated_info 5;
+----+------------------+--------+-------------+
| ID | título | Calificación | Film_length |
+----+------------------+--------+-------------+
| 1 | Dinosaurio de la Academia | PG | 86 |
| 2 | Ace Goldfinger | G | 48 |
| 3 | Agujeros de adaptación | NC-17 | 50 |
| 4 | Prejuicio de asuntos | G | 117 |
| 5 | Huevo africano | G | 130 |
+----+------------------+--------+-------------+
5 filas en el set (0.00 seg)

Como puede ver, podemos usar la instrucción SELECT en lugar de la cláusula de valores para agregar valores a una tabla.

NOTA: Tenga cuidado al usar la instrucción SELECT en una base de datos grande, ya que podría ralentizar la base de datos o causar un bloqueo.

Conclusión

En este tutorial, aprendimos rápidamente cómo usar la cláusula MySQL Inserto en la Declaración Seleccionar para agregar datos del resultado de una consulta SELECT.