Mysql Insert in Select in One Command

Mysql Insert in Select in One Command
Conosciamo tutti l'inserto MySQL di base nella clausola che ci consente di inserire i valori in una tabella.

In questo tutorial, ne rimanderemo e esamineremo l'inserto in - Seleziona un'istruzione che possiamo usare per inserire i valori in una tabella in cui i valori sono dal risultato di un'istruzione selezionata.

Uso di base

Se riesci a ricordare l'inserto di base nella clausola in MySQL, possiamo aggiungere dati come:

Inserisci nei valori TBL_name (valori1… valoriN);

Tuttavia, possiamo utilizzare l'istruzione Select anziché la clausola dei valori.

La sintassi generale è:

Inserisci in tbl_name (cols) selezionare cols_list da tbl_name dove condizione;

La query sopra utilizza la clausola Seleziona per selezionare i valori specificati da altre tabelle e inserirli nella tabella impostata.

Nella maggior parte dei casi, utilizziamo l'inserto in - Selezionare la clausola durante la copia di valori da un'altra tabella o solo sezioni dei valori da una tabella.

Esempio di utilizzo

Lasciami illustrare come possiamo usare l'inserto con l'istruzione Seleziona usando un database del mondo reale.

NOTA: Per questo esempio, userò il database Sakila per illustrazioni. Sentiti libero di utilizzare qualsiasi altro database o scaricare una copia del database di esempio Sakila dalla risorsa fornita di seguito:

https: // dev.mysql.com/doc/indice-altro.html

Iniziamo creando una tabella che conterrà i dati come mostrato nelle query seguenti:

Usa Sakila;
Drop tabella se esiste CURATED_INFO;
Crea table CURATED_INFO (
Id int primario chiave Auto_increment,
Titolo Varchar (100),
Varchar di valutazione (50),
Film_Length Int
);

Infine, possiamo usare Insert in Dichiarazione per la tabella sopra come mostrato nella query seguente:

Inserisci in CURATED_INFO (titolo, valutazione, film_length) Seleziona titolo, valutazione, lunghezza dal film;

Una volta eseguita correttamente la query, possiamo interrogare il Curated_Table e vedere i dati come mostrato di seguito:

mysql> usa sakila;
Database modificato
mysql> Seleziona * dal limite CURATED_INFO 5;
+----+------------------+--------+-------------+
| id | Titolo | Valutazione | Film_Length |
+----+------------------+--------+-------------+
| 1 | Academy Dinosaur | Pg | 86 |
| 2 | Ace Goldfinger | G | 48 |
| 3 | Buchi di adattamento | NC-17 | 50 |
| 4 | Pregiudizio di affari | G | 117 |
| 5 | Uovo africano | G | 130 |
+----+------------------+--------+-------------+
5 righe in set (0.00 sec)

Come puoi vedere, possiamo utilizzare l'istruzione Seleziona anziché la clausola dei valori per aggiungere valori a una tabella.

NOTA: Fai attenzione quando si utilizza l'istruzione Seleziona su un database di grandi dimensioni in quanto potrebbe rallentare il database o causare un arresto anomalo.

Conclusione

In questo tutorial, abbiamo rapidamente imparato come utilizzare l'inserto mysql nella clausola con l'istruzione seleziona per aggiungere dati dal risultato di una query selezionata.