Sett inn spørring i SQL

Sett inn spørring i SQL
Strukturert spørringsspråk er kjent som SQL. Det er et standard domenespesifikt språk for å administrere relasjonsdatabasesystemene. Ved hjelp av SQL -spørsmålene kan brukeren utføre de grunnleggende CRUD -operasjonene som betyr at SQL hjelper brukerne til å sette inn, oppdatere eller slette dataene fra relasjonsdatabasetabellene.

I denne SQL -guiden vil vi utforske hva et innleggssøk er i SQL og hvordan du bruker innsatserklæringen for å sette inn dataene i tabellene. Videre vil vi også vise deg hvordan vi kan sette inn flere poster i en databasetabell ved hjelp av Sett inn spørringen. Du kan laste ned Microsoft SQL -serveren fra det offisielle nettstedet for å kjøre følgende SQL -spørsmål.

Grunnleggende formål med Sett inn spørring i SQL

Sett inn spørringen i SQL setter inn nye rader eller poster i en tabell. Ved hjelp av denne SQL Insert -setningen kan du sette inn ett eller flere poster i en databasetabell.

Vi bruker "Sett inn i" -uttalelsen for å sette inn dataene i en tabell som også er en del av datamanipulasjonsspråk (DML). Det er et dataprogrammeringsspråk som lar deg utføre de grunnleggende CRUD -operasjonene (opprette, oppdatere, slette) på databasetabellene. DML er et underlag av SQL som gjør oss i stand til å sette inn postene eller radene i tabellene. Det lar oss også endre og hente informasjonen fra databaseobjektene.

Ved hjelp av Sett inn spørringen kan du sette inn verdiene i alle eller valgte kolonner i en tabell. Du kan sette inn dataene ved å opprette en ny tabell ved hjelp av “Opprett tabell” -kommandoen eller også sette inn dataene i en eksisterende tabell.

Hva er syntaksen til Sett inn spørring i SQL?

"Sett inn" -uttalelsen i SQL brukes til datainnsetting. Sett inn spørringen brukes på to forskjellige måter. Men en riktig syntaks eller sett med regler brukes til å sette inn dataene i en tabell. Syntaksen til innsatsspørsmålet er som følger:

Sett inn i tabell_navn (kolonne1, kolonne2, kolonne3, ..., kolonne)
Verdier (verdi1, verdi2, verdi3, ..., valuen);
  • Først, spesifiser tabellnavnet og skriv inn kolonnenavnene i parentes som er atskilt med komma.
  • Bruk “Verdier” -klausulen og skriv inn verdiene i parentesen som du vil sette inn i en tabell.

Hvis du vil sette inn verdiene i hver kolonne i tabellen, trenger du ikke å nevne kolonnenavnene i Sett inn spørringen. Det er imidlertid viktig å merke seg at rekkefølgen på verdiene skal samsvares med kolonnene i tabellen. I dette tilfellet er Sett inn spørsmålssyntaks:

Sett inn i tabell_navn

Verdier (Value1, Value2, Value3, ..., Valuen);

Hvordan sette inn en enkelt post i en tabell ved hjelp av Sett inn spørringen i SQL

Du kan sette inn en enkelt post i en tabell ved hjelp av "Sett inn" -uttalelsen på SQL. I det følgende eksemplet demonstrerte vi fra bunnen av hvordan du lager en tabell og setter inn en enkelt post i den:

Lag tabell ansatt_tbl
(
Ansatt_id int Primærnøkkel,
Ansatt_firstname varchar (500) Ikke null,
Ansatt_lastname varchar (500),
Employee_address varchar (1000),
Ansatt_email varchar (500),
Ansatt_joining Dato,
Ansatt_country varchar (500),
Ansatt_city varchar (500)
);

I forrige SQL -spørring opprettet vi en "Employee_tbl" -tabell der vi satte "Employee_id" som er arkivert som den primære nøkkelen. Vi tildelte datatypen "varchar ()" og ikke nullbegrensninger på forskjellige kolonner i ansattetabellen. Her må Employee_firstname inneholde verdiene. Den inneholder ikke nullverdiene eller blir tom.

Viktig notat:

Når du setter inn de nye postene i en tabell ved hjelp av Sett inn spørringen i SQL, bør du oppgi verdiene for hver NULL -begrenset kolonne. Men hvis en kolonne tillater nullverdiene, kan du utelate disse kolonneverdiene fra innsatsen i uttalelsen.

Som vi nevnte tidligere, kan du sette inn enkelt- eller flere poster i en tabell ved hjelp av Sett inn spørringen i SQL. For å sette inn en ny post eller en rad i en tabell ved hjelp av en innsatsuttalelse, bruk tabellnavnet sammen med verdiene nøkkelord. La oss ta et enkelt eksempel der vi setter inn en enkelt post i en tabell ved hjelp av en innsatserklæring i SQL.

Eksempel:

Vi har selskapets ansattes rekord i databasene våre. Etter å ha rekruttert en ny ressurs eller ansatt, må vi legge til en ny oversikt over denne ansatte i "ansatte_tabelen". Hvordan gjør vi det i SQL? Vi kan legge til en ny ansattes post ved hjelp av Sett inn spørringen.

Sett inn i Employee_TBL (ansatt_id, ansatt_firstname, ansatt
Verdier (001, 'Mirha', 'Asif', 'Street No B/34', '[email protected] ',' 2022-09-26 ',' Pakistan ',' Rawalpindi ');

Den forrige SQL -innsatserklæringen legger til en ny post til "ansatte_table". Her er det (Employee_id, Employee_FirstName, Employee_lastname, Employee_address, Employee_Email, Employee_Joining, Employee_country, Employee_City) de kolonnenavnene vi satte inn en ny ansattes post. Hvis kolonnen ikke har noen ikke nullbegrensning, kan du la dette feltet være tomt eller ignorere kolonnenavnet og dets verdi mens du skriver innsatserklæringen.

Viktig notat:

Når du legger til de nye verdiene i en tabell, sørger du for at datatypen “Verdier” skal matches med kolonnen. Du må følge alle integritetsbegrensninger som er definert under opprettelse av tabellen.

For å bekrefte at dataene settes inn i en tabell, bruk "Select" -uttalelsen. Denne uttalelsen henter dataene fra ansattetabellen og viser dem i en tabellform.

Velg * fra Ansatt_TBL

Følgende utgang skal vises på skjermen etter å ha kjørt forrige uttalelse:

Vi satte inn dataene i feltet "Employee_id" fordi vi ikke satte "Auto-Increment" -funksjonen på dette feltet eller kolonnen. Derfor, hvis du setter inn en ny post i en tabell, genererer den ikke et nytt tall automatisk. Auto-increment-funksjonen tildeler vanligvis et primært nøkkelfelt i en tabell som automatisk genererer et nytt nummer når en ny post settes inn i en tabell.

Hvordan sette inn dataene i spesifikke kolonner ved hjelp av Sett inn spørringen i SQL

Du kan også sette inn dataene i spesifikke kolonner ved hjelp av Sett inn spørringen i SQL. For å gjøre dette, nevn bare kolonnenavn og verdier du vil sette inn dataene.

Eksempel:

I den følgende SQL Insert -setningen setter vi inn en ny post i spesifikke kolonner. Her setter vi inn dataene i “Ansatt_firstname“,“Ansatt_lastname“,“ Ansatt_country”, Og“Ansatt_city”Kolonner (Ansatt ID oppdateres automatisk). Se denne SQL Insert -setningen:

Sett inn i Employee_TBL (Employee_FirstName, Employee_lastname, Employee_country, Employee_City)
Verdier ('Samreena', 'Aslam', 'Pakistan', 'Rawalpindi');

Nå kan du bekrefte resultatet ved å bruke "Select" -uttalelsen:

Velg * fra Ansatt_TBL;

Følgende utgang mottas i resultatseksjonen:

Hvordan sette inn flere rader i SQL -tabellen ved hjelp av Sett inn spørringen

Det er en vanlig praksis for utviklere at de trenger å sette inn flere poster i en databasetabell. For å gjøre dette, må vi skrive en innsatserklæring flere ganger for å sette inn verdiene i en tabell som er en mer tidkrevende oppgave.

I denne situasjonen er det en god praksis å bruke en enkelt SQL -uttalelse for å sette inn flere poster. Ja, du kan bruke en enkelt SQL -innsats for å legge til flere poster i en tabell. Bruk følgende syntaks for å sette inn flere poster ved hjelp av en enkelt SQL -innsats:

Sett inn i tabell_navn (kolonne1, kolonne2, kolonne3, ..., kolonne)
Verdier
(Verdi1, verdi2, verdi3, ...),
(Verdi1, verdi2, verdi3, ...),
(verdi1, verdi2, verdi3, ...);

Eksempel:

I den følgende SQL -innsatserklæringen satte vi inn flere ansattes poster i “Ansatt_tbl” Tabell ved hjelp av spørringen for en enkelt innsats:

Sett inn i ansatt_tbl (ansatt_firstname, ansatt_lastnavn, ansatt_adresse, ansatt_peil, ansatt_joining, ansatt_country, ansatt_city)
Verdier ('Affan', 'Khan', 'Street No A11/4', '[email protected] ',' 2022-09-22 ',' Pakistan ',' Islamabad '), (' Raees ',' AA ',' Street No A11/67 ',' [email protected] ',' 2021-05-02 ',' Pakistan ',' Karachi '), (' Irha ',' Khan ',' Street No D56/7 ',' [email protected] ',' 2021-09-12 ',' Pakistan ',' Rawalpindi ');

Du kan også sette inn de tre foregående postene i en tabell ved hjelp av flere innsatser på denne måten:

Sett inn i ansatt_tbl (ansatt_firstname, ansatt_lastnavn, ansatt_adresse, ansatt_peil, ansatt_joining, ansatt_country, ansatt_city) verdier ('affan', 'khan', 'street no a11/4', '[email protected] ',' 2022-09-22 ',' Pakistan ',' Islamabad ');
Sett inn i ansatt_tbl (ansatt_firstname, ansatt_lastnavn, ansatt_adresse, ansatt_peil, ansatt_joining, ansatt_country, ansatt_city) verdier ('raees', 'aa', 'street no a11/67', '[email protected] ',' 2021-05-02 ',' Pakistan ',' Karachi ');
Sett inn i ansatt_tbl (ansatt_firstname, ansatt_lastnavn, ansatt_adresse, ansatt_peil, ansatt_joining, ansatt_country, ansatt_city) verdier ('irha', 'khan', 'street no d56/7', '[email protected] ',' 2021-09-12 ',' Pakistan ',' Rawalpindi ');

Utfør følgende SQL -setning for å se utdataene:

Velg * fra Ansatt_TBL;

Hvordan kopiere innholdet i en tabell til en annen ved hjelp av Select Select -setningen

SQL Insert -spørringen hjelper deg også med å kopiere postene fra en tabell til en annen. For dette formålet, bruk innsatsen i kombinasjon med SELECT -setningen som kopierer radene fra en SQL -tabell til en annen. Syntaksen til innsats med valgt setning er:

Sett inn destinasjon_table1 (kolonne1, kolonne2)
PLUKKE UT
Kolonne1, kolonne2
FRA
source_table2
HVOR
betingelse;

Den gitte syntaksen ligner på Simple Insert -spørringen. Men forskjellen er at vi bruker en "valgt" uttalelse her i stedet for "verdiene" -klausulen. Uttalelsen "Select" henter postene eller radene fra en annen tabell. Denne innsatsen i Select -setningen er veldig nyttig i scenarier der du vil beholde sikkerhetskopien av en tabell ved hjelp av SQL -spørsmålene.

Eksempel 1:

La oss ta et eksempel for å demonstrere betydningen av innsatsspørsmålet med en Select -setning. Her bruker vi "TBL_EMployee" -tabellen over en firmadatabase. Vi lager en annen tabell som heter “TBL_EMployee”. Tabellstrukturen til begge tabellene, “TBL_EMployee” og “TBL_UpdatedEMployeeInfo”, er den samme. I tillegg slipper vi de utenlandske nøklene og få tabellbegrensninger på "TBL_UPDATEDEMELIGEEINFO".

Lag først en tabell som heter “TBL_UPDATEDEMELIGEEINFO” ved å utføre følgende SQL -spørring:

Lag tabell TBL_UPDATEDEMELIGEEINFO
(
Ansatt_id int Primærnøkkel,
Ansatt_firstname varchar (500) Ikke null,
Ansatt_lastname varchar (500),
Employee_address varchar (1000),
Ansatt_email varchar (500),
Ansatt_joining Dato,
Ansatt_country varchar (500),
Ansatt_city varchar (500)
);

Nå setter vi inn dataene fra tabellen "TBL_EMployee" til tabellen "TBL_UPDATEDEMELIGEEINFO" ved hjelp av følgende spørsmål:

Sett inn TBL_UPDATEDEMELIGEEINFO SELECT EMPENTE_ID, EMployee_FirstName, Employee_lastname, Employee_Address, Employee_Email, Employee_Joining, Employee_Country, Employee_City From Employee_TBL;

Nå, for å bekrefte utdataene, utfør følgende "velg" -spørsmål:

Velg * fra TBL_UpdatedEMployeeInfo;

Som vi la merke til i forrige skjermbilde, kopieres dataene fra "Employee_tbl" til en ny "TBL_UPDatedEMployeeInfo" -tabell.

Eksempel 2:

Du kan også sette inn spesifikke eller alle poster fra alle kolonnene i en tabell i en annen ny tabell. For dette formålet trenger du ikke å spesifisere alle kolonnenavn. Bare bruk denne enkle syntaks:

Sett inn destinasjon_tablename
Velg * fra source_tablename
Hvor [tilstand];

La oss ta et eksempel. Anta at vi ønsker å duplisere tabellen “Employee_tbl” og navngi det som “EmployeeBackup”. Denne tabellkopien skal inneholde de samme kolonnene fra den opprinnelige ansattes tabell. For å gjøre dette, lag en "TBL_EMployeeBackup" -tabell med lignende kolonnenavn. Nå trenger vi ikke å spesifisere navnene på kolonnene separat. Vi kan bruke følgende Sett inn -spørring med SELECT -setningen for å opprette sikkerhetskopi av alle kolonnene fra den opprinnelige tabellen til en annen tabell:

Sett inn TBL_EmployeeBackup
Velg * fra Ansatt_TBL;

Nå kan vi bekrefte utdataene ved å hente tabellens data.

Velg * fra TBL_EMployeeBackup;

Som vi kan se i følgende skjermbilde, opprettes en sikkerhetskopi av ansattbordet. Du kan sikkerhetskopiere de store postene dine på denne måten.

Hvorfor bruker vi INSERT IGNORE -setningen?

Sett inn ignorering er en gunstig uttalelse i SQL. For eksempel kan hele innsatsspørsmålet aborteres på grunn av en feil mens den behandler når du legger inn tusenvis av poster i en tabell. I dette tilfellet må vi kjøre hele Sett inn spørringen igjen. Innsatsen Ignore -setningen kan brukes til å løse problemene av denne typen.

Sett inn spørringen mislykkes ikke hvis vi bruker INSERT IGNORE -kommandoen for å sette inn bulkdataene i tabellene uansett om spørringen opplever en feil.

Konklusjon

Vi demonstrerte i denne guiden om hvordan du bruker innsatsspørsmålet i SQL. Du kan bruke en innsettingsspørsmål for datainnsetting i en tabell. Vi diskuterer hvordan du kan sette inn en enkelt, flere eller spesifikke poster i en tabell ved hjelp av innsatserklæringen. Dessuten kan du enkelt opprette sikkerhetskopi av de store tabellene dine ved hjelp av Sett inn spørringen med Select -setningen. Jeg håper denne SQL -guiden vil gi deg en grunnleggende forståelse av innsatserklæringen. Hvis du trenger flere detaljer, kan du besøke den offisielle Microsoft -dokumentasjonen.