SQLShack

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:

SETT INN I TABELL - datamodell

SETT INN I TABELLDATAMODELL

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:

 SETT INN I TABELL-land

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:

 By

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:

SELECT statements

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:

Land Excel

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 &»‘);»

Byer Excel

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
Emil Drmusic
Emil Er en database profesjonell med 10 + års erfaring i alt relatert til databaser. I løpet av årene jobbet han I IT-og finansbransjen og jobber nå som frilanser.
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

Emil Drmusic
Siste innlegg Av Emil Drmusic (se alle)
  • 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

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.

More: