I denne opplæringen vil vi utsette fra det og se på innsatsen i - Velg uttalelse som vi kan bruke til å sette inn verdier i en tabell der verdiene er fra resultatet av en SELECT -setning.
Grunnleggende bruk
Hvis du kan huske det grunnleggende innlegget i leddet i MySQL, kan vi legge til data som:
Sett inn TBL_NAME VERDIER (VERDIER1… VERDIERN);Vi kan imidlertid bruke Select -setningen i stedet for verdiklausulen.
Den generelle syntaksen er:
Sett inn TBL_NAME (COLS) Velg COLS_LIST fra TBL_NAME hvor tilstanden;Spørringen ovenfor bruker SELECT -leddet for å velge spesifiserte verdier fra andre tabeller og sett dem inn i setetabellen.
I de fleste tilfeller bruker vi innsatsen i - velg leddet når du kopierer verdier fra en annen tabell eller bare deler av verdiene fra en tabell.
Eksempel Bruk sak
La meg illustrere hvordan vi kan bruke innsatsen i med Select-setningen ved hjelp av en virkelighetsdatabase.
MERK: For dette eksemplet vil jeg bruke Sakila -databasen for illustrasjoner. Bruk gjerne hvilken som helst annen database eller last ned en kopi av Sakila -eksempeldatabasen fra ressursen som er gitt nedenfor:
https: // dev.mysql.com/doc/indeks-annet.html
La oss starte med å lage en tabell som vil inneholde dataene som vist i spørsmålene nedenfor:
Bruk Sakila;Til slutt kan vi bruke innlegg i uttalelse for tabellen ovenfor som vist i spørringen nedenfor:
Sett inn i currated_info (tittel, rating, film_length) velg tittel, rating, lengde fra film;
Når spørringen har utført vellykket, kan vi spørre den kuraterte_tabelen og se dataene som vist nedenfor:
mysql> bruk Sakila;Som du kan se, kan vi bruke Select -setningen i stedet for verdiklausulen for å legge til verdier i en tabell.
MERK: Vær forsiktig når du bruker SELECT -setningen i en stor database, da den kan bremse databasen eller forårsake et krasj.
Konklusjon
I denne opplæringen lærte vi raskt hvordan vi bruker MySQL -innsatsen i leddet med SELECT -setningen for å legge til data fra resultatet av en SELECT -spørring.