I forrige artikkel har vi opprettet to tabeller, og nå er vi klare til å bruke SQL-INNSATSEN I TABELLKOMMANDOEN og fylle ut disse tabellene med data. For å gjøre det, vil vi forberede uttalelser I Excel og deretter lime inn disse setningene I SQL Server og utføre dem. Vi kontrollerer også innholdet i begge tabellene før og etter disse kommandoene ved HJELP AV SELECT-setningen. Så, la oss starte.
SETT INN I TABELLOPPGAVE
det er ikke noe poeng i å opprette databasestrukturer og ikke ha noen data i databasen. SETT INN I TABELL-setningen er den vi bruker til å løse dette problemet. DET ER en av de fire viktige SQL DML (Data Manipulation Language) setningene VELG … FRA, SETT INN I TABELL , OPPDATER … SETT OG SLETT FRA… Vennligst ta en titt på T-SQL-INNSATSEN I tabellens komplette syntaks her.
I denne artikkelen vil vi bruke forenklet, men også mest vanlige syntaks:
SETT inn i table_name (column_list) VERDIER (column_values);
i EN SLIK INSERT INTO-setning, må du definere table_name der du setter inn data i, liste alle kolonner (kanskje du vil bruke dem alle, men kanskje bare noen få av dem), og deretter liste alle verdier. Legg merke til at kolonneverdiene skal samsvare med kolonnetypedefinisjonen(du kan for eksempel ikke sette inn en tekstverdi i den numeriske kolonnen / attributtet).
hvis du setter inn alle verdiene i tabellen, trenger du ikke å liste alle kolonnene etter table_name, og du kan bruke enda mer forenklet syntaks:
SETT INN i table_name-VERDIER (column_values);
jeg personlig foretrekker å oppgi alle kolonnenavn, fordi denne tilnærmingen ville fungere selv om vi legger til nye kolonner i den eksisterende tabellen.
-
Merk: SETT INN I TABELLOPPGAVEN kan skrives på en slik måte at vi setter inn flere rader med 1 setning eller til og med kombinert MED SELECT-setningen.
den forenklede syntaksen for et slikt tilfelle der SETT inn og VELG setninger kombineres, er gitt nedenfor:
SETT INN i destination_table (column_list,…)
VELG column_list
fra source_table
HVOR tilstand;
SETT INN I TABELLEKSEMPEL
før du gjør noe, la oss sjekke hva som er lagret i tabellene våre. Dette er modellen vi har laget i forrige artikkel. Du kan se at vi har en tabell der vi lagrer data relatert til land og en annen for data relatert til byer. De er også relatert til hverandre, men vi snakker om det i følgende artikkel:
for å sjekke innholdet i disse to tabellene, bruker vi to enkle SELECT-setninger:
1
2
|
VELG * fra land;
VELG * fra by;
|
MENS SELECT ikke er temaet i denne artikkelen, bør det nevnes at dens grunnleggende syntaks er:
VELG 1 eller flere attributter fra tabellen;
stjernen (*) etter SELECT representerer at vi vil vise verdiene for alle attributter / kolonner fra den tabellen i spørringsresultatet.
som forventet er det ingenting i disse to tabellene,OG SQL Server returnerer resultatet, som vist på bildet nedenfor. Setninger returnerer navn på kolonnene fra tabellene vi brukte I UTVALGSSPØRRINGEN, men det er ingenting under disse kolonnenavnene. Du kan se på dette som et tomt Excel-ark med definerte kolonnenavn (overskrifter). Du vet hvilken type data som skal være der, men det er ingenting:
Nå må vi endre det.
først fyller vi ut landtabellen ved hjelp av FØLGENDE SETT inn I TABELLUTTRYKK:
1
2
3
4
5
|
SETT inn I LAND (country_name, country_name_eng, country_code) VERDIER (‘Deutschland’, ‘Germany’, ‘DEU’);
SETT inn i land (country_name, country_name_eng, country_code) VERDIER (‘Srbija’, ‘Serbia’, ‘SRB’);
SETT inn i land (country_name, country_name_eng, country_code) VERDIER (‘hrvatska’, ‘kroatia’, ‘hrv’);
SETT inn i LAND (country_name, country_name_eng, country_code) VERDIER (‘United Stated Of America’, ‘United Stated Of America’,’ USA’);
SETT inn i land (country_name, country_name_eng, country_code) VERDIER (‘Polska’, ‘Poland’, ‘POL’);
|
Data for fem land ble vellykket satt inn. Resultatet er vist på bildet nedenfor. Siden vi hadde 5 SETT INN I TABELLUTSAGN, har vi 1 «(1 rad berørt)» melding for hver av disse fem kommandoene i Delen » Meldinger:
Vær oppmerksom på at alle verdier (ETTER VERDIER) ble bestilt på samme måte som vi oppførte kolonner(etter Å HA SATT inn i land). Alle tre verdiene er tekster. Spørringen ville fungere selv om vi ikke har bestilt dem på riktig måte fordi alle har samme datatype (tekst), men dataene vil bli lagret i feil kolonner. I så fall ville vi ha en semantisk feil.
det neste vi må gjøre er å fylle bybordet. Vi gjør det ved å bruke følgende uttalelser:
1
2
3
4
5
6
|
SETT inn i by (city_name, lat, long, country_id) VERDIER (‘Berlin’, 52.520008, 13.404954, 1);
SETT inn i by (city_name, lat, lang, country_id) VERDIER (‘Beograd’, 44.787197, 20.457273, 2);
SETT inn i by (city_name, lat, long, country_id) VERDIER (‘Zagreb’, 45.815399, 15.966568, 3);
SETT inn i by (city_name, lat, long, country_id) VERDIER (‘New York’, 40.73061, -73.935242, 4);
SETT inn i by (city_name, lat, long, country_id) VERDIER (‘Los Angeles’, 34.052235, -118.243683, 4);
SETT inn i by (city_name, lat, long, country_id) VERDIER (‘Warszawa’, 52.237049, 21.017532, 5);
|
Etter å ha utført disse uttalelsene, var dette resultatet. Som forventet ble 6 rader lagt til. Og nok en gang har vi 1 melding for hver innsats i Meldinger-delen:
I dette tilfellet ville vi ha et problem hvis vi ikke har oppført verdier på samme måte, vi oppførte kolonner fordi deres datatyper ikke er de samme (de er – i rekkefølge: tekst, desimalnummer, desimalnummer, heltall). Denne typen feil kalles syntaksfeil, OG DBMS selv vil forhindre at spørringen kjører i det hele tatt.
VELG-Sjekk hva som ble satt inn
nå sjekker vi igjen hva som er lagret i tabellene våre. Vi bruker de samme TO UTVALGTE setningene vi har brukt tidligere:
1
2
|
VELG * fra land;
VELG * fra by;
|
resultatet er vist på bildet nedenfor. Vær oppmerksom på at etter å ha utført spørringer nå har Vi Resultater og Meldinger seksjoner under spørringer:
vi kan konkludere med at begge tabellene i vår database inneholder data, og nå er vi klare til å «spille» med noe mye kulere enn dette.
SETT INN I TABELL Ved Hjelp Av Excel
i mange tilfeller må du kjøre flere SQL-setninger basert på datasettet som er gitt til deg. Dette står ikke bare FOR INSERT INTO TABLE-setningen, men også FOR OPPDATERING og SLETTING av setninger. Det er ikke noe poeng i å skrive disse setningene manuelt, men du bør heller gå med en smartere tilnærming-utarbeide formler (eller et skript) som vil automatisere denne delen. I slike situasjoner foretrekker jeg Å bruke Excel og formler.
Notat: Personlig, i sammenheng med databaser, finner Jeg Excel veldig nyttig når jeg trenger å lage flere setninger og når jeg presenterer resultater og / eller lager dashboards.
La oss ta en titt på disse formlene:
formelen som brukes til å sette inn Det Første landet (Tyskland) er:
1
|
=»SETT INN verdier for land (country_name, country_name, country_code) (‘»& B2 & «‘, ‘» & C2 & «‘, ‘» & D2 &»‘);»
|
formelen som brukes til å sette inn Den første byen (Berlin) er:
1
|
=»SETT INN i by (city_name, lat, long, country_id) VERDIER (‘»& B2 & «‘, » & C2 &», » & D2 &», » & E2 & «);»
|
Bruk gjerne disse formlene til å automatisere oppgavene dine. Vi vil bruke en lignende tilnærming senere når vi kjører FLERE OPPDATERING OG SLETTE setninger (og selv når du oppretter SELECT setninger).
Konklusjon
i denne artikkelen har vi dekket en av de fire viktigste SQL-setningene-SETT INN I TABELLOPPGAVE. Vi har brukt den til å fylle tabeller opprettet i forrige artikkel. Dette var en forutsetning for å flytte til smartere ting – lignende databaseteori, og enda viktigere, å returnere resultater fra vår database.
i den kommende artikkelen snakker vi om primærnøkkelen-hva det er og hvorfor er det viktig i databasene.
innholdsfortegnelse
Lær SQL: OPPRETT DATABASE & OPPRETT Tabelloperasjoner
Lær SQL: SETT INN I TABELL
Lær SQL: Primærnøkkel
Lær SQL: Fremmednøkkel
lær sql: velg setning
lær sql: indre sammenføyning Vs VENSTRE SAMMENFØYNING
Lær Sql: Sql-Skript
lær sql: typer relasjoner
Lær Sql: Bli med flere tabeller
Lær SQL: Aggregatfunksjoner
Lær SQL: Hvordan Skrive En Kompleks UTVALGSSPØRRING
Lær SQL: INFORMATION_SCHEMA-Databasen
Lær SQL: Settteori
Lær SQL: Settteori
lær sql: BRUKERDEFINERTE funksjoner
Lær Sql: Brukerdefinerte lagrede Prosedyrer
Lær Sql: Øv Sql-Spørringer
Lær Sql: Øv Sql-Spørringer
Lær SQL: EKSEMPLER PÅ SQL-Spørring
Lær SQL: Opprett EN rapport manuelt ved HJELP AV SQL-spørringer
Lær SQL: SQL Server dato-og klokkeslettfunksjoner
Lær SQL: SQL Server Pivottabeller
Lær sql: sql server eksporter til excel
lær sql: intro til sql server-looper
lær sql: sql server-pekere
lær Sql: Anbefalte Fremgangsmåter for sql: sql for sletting og oppdatering av data
LÆR Sql: Navnekonvensjoner
Lær sql: SQL-Relaterte Jobber
Lær SQL: Ikke-Equi Blir MED I SQL Server
Lær SQL: SQL-Injeksjon
Lær SQL: Dynamisk SQL
- Forfatter
- Siste Innlegg
hans tidligere og nåværende engasjementer varierer fra databasedesign og koding til undervisning, rådgivning og skriving om databaser. Også for ikke å glemme, BI, skape algoritmer, sjakk, filateli, 2 hunder, 2 katter, 1 kone, 1 baby…
du finner Ham På LinkedIn
Se alle innlegg Av Emil Drmusic
- Lær SQL: Dynamisk SQL-3. Mars 2021
- Lær SQL: SQL-Injeksjon-2. November 2020
- Lær SQL: Ikke-Equi Blir Med I SQL Server-September 29, 2020