SQLShack

az előző cikkben két táblát hoztunk létre, és most készen állunk az SQL INSERT into TABLE parancs használatára, és ezeket a táblákat adatokkal töltjük fel. Ennek érdekében elkészítjük az utasításokat az Excelben, majd beillesztjük ezeket az utasításokat az SQL Serverbe, és végrehajtjuk őket. A parancsok előtt és után is ellenőrizzük mindkét tábla tartalmát a SELECT utasítás segítségével. Tehát kezdjük.

INSERT into TABLE utasítás

nincs értelme adatbázis-struktúrákat létrehozni anélkül, hogy bármilyen adat lenne az adatbázisban. Az INSERT into TABLE utasítás az, amelyet a probléma megoldására használunk. Ez az egyik a négy fontos SQL DML (Data Manipulation Language) utasítások SELECT … FROM, INSERT into TABLE, UPDATE … SET, and DELETE FROM… a teljes szintaxis elég összetett, mivel a INSERT INTO is lehet egy nagyon összetett nyilatkozatot. Kérjük, vessen egy pillantást a T-SQL INSERT into TABLE teljes szintaxisra itt.

ebben a cikkben fogjuk használni egyszerűsített, hanem a leggyakoribb szintaxis:

INSERT INTO table_name (column_list) értékek (column_values);

az ilyen INSERT into utasítás, akkor meg kell határozni a table_name, ahol beszúrja az adatokat, felsorolja az összes oszlopot (talán akkor használja őket, de talán csak néhány közülük), majd felsorolja az összes értéket. Figyelje meg, hogy az oszlopértékeknek meg kell egyezniük az oszloptípusok definíciójával (például nem lehet szöveges értéket beszúrni a numerikus oszlopba/attribútumba).

abban az esetben, ha az összes értéket beszúrja a táblázatba, akkor nem kell az összes oszlopot felsorolnia a táblázat_neve után, és még egyszerűbb szintaxist is használhat:

beszúrás a táblázat_neve értékekbe (oszlop_értékek);

személy szerint inkább az összes oszlopnevet sorolom fel, mert ez a megközelítés akkor is működik, ha új oszlopokat adunk hozzá a meglévő táblához.

  • Megjegyzés: Az INSERT into TABLE utasítás írható oly módon, hogy több sort szúrunk be 1 utasítással, vagy akár a SELECT utasítással kombinálva.

az egyszerűsített szintaxis egy ilyen esetben, amikor INSERT és SELECT utasításokat kombináljuk az alábbiakban:

INSERT INTO destination_table (column_list, …)
SELECT column_list
from source_table
WHERE feltétel;

INSERT INTO TABLE example

mielőtt bármit csinálnánk, nézzük meg, mi van tárolva a táblázatokban. Ezt a modellt hoztuk létre az előző cikkben. Láthatja, hogy van egy táblázatunk, ahol az országokra vonatkozó adatokat tároljuk, egy másik pedig a városokra vonatkozó adatokat. Ők is kapcsolatban állnak egymással, de erről a következő cikkben fogunk beszélni:

beillesztés a táblázatba-adatmodell

INSERT into TABLE-data model

a két táblázat tartalmának ellenőrzéséhez két egyszerű SELECT utasítást fogunk használni:

1
2

válasszon * országból;
válasszon * városból;

bár a SELECT nem a cikk témája, meg kell említeni, hogy’ alapvető szintaxisa:

válasszon 1 vagy több attribútumot a táblázatból;

a csillag (*) a SELECT után azt jelenti, hogy a lekérdezés eredményében meg akarjuk jeleníteni az adott táblázat összes attribútumának/oszlopának értékeit.

ahogy az várható volt, ebben a két táblázatban nincs semmi, az SQL Server pedig az eredményt adja vissza, amint az az alábbi képen látható. Az utasítások az oszlopok nevét adják vissza a SELECT lekérdezésben használt táblázatokból, de ezekben az oszlopnevekben nincs semmi. Ezt üres Excel lapként tekintheti meg, meghatározott oszlopnevekkel (fejlécekkel). Tudja, hogy milyen típusú adatoknak kell lenniük, de nincs semmi:

ezen változtatnunk kell.

először az országtáblát töltjük fel a következő INSERT into TABLE utasításokkal:

1
2
3
4
5

INSERT into country (ország_neve, ország_neve, ország_kódja) értékek (‘Deutschland’, ‘Németország’, ‘DEU’);
INSERT into country (ország_neve, ország_neve_eng, ország_kódja) értékek (‘Srbija’, ‘Szerbia’, ‘SRB’);
INSERT into country (ország_neve, ország_neve_eng, ország_kódja) értékek (‘Hrvatska’, ‘Horvátország’, ‘hrv’);
helyezze be az ország (ország_neve, ország_neve, ország_kódja) értékeket (‘Egyesült Államok’,’ Egyesült Államok’,’ USA’);
helyezze be az országba (ország_neve, ország_neve_eng, ország_kódja) értékeket (‘Polska’, ‘Lengyelország’, ‘POL’);

öt ország adatait sikerült beilleszteni. Az eredmény az alábbi képen látható. Mivel 5 INSERT into TABLE utasításunk volt, 1″ (1 sor érintett) “üzenetünk van az öt parancs mindegyikéhez az “üzenetek” részben:

 táblázat-ország

kérjük, vegye figyelembe, hogy az összes értéket (az értékek után) ugyanúgy rendeztük, mint az oszlopokat (az országba való beillesztés után). Mindhárom érték szöveg. A lekérdezés akkor is működne, ha nem a megfelelő módon rendeltük meg őket, mert mindegyiknek ugyanaz az adattípusa (szöveg), de az adatokat rossz oszlopokban tárolják. Ebben az esetben szemantikai hiba lenne.

a következő dolog, amit meg kell tennünk, hogy feltöltjük a városi táblát. Ezt a következő utasításokkal fogjuk megtenni:

1
2
3
4
5
6

INSERT into city (city_name, lat, long, country_id) értékek (‘Berlin’, 52.520008, 13.404954, 1);
INSERT into city (city_name, lat, long, country_id) értékek (‘Belgrád’, 44.787197, 20.457273, 2);
helyezze be a városba (városnév, lat, hosszú, ország_id) értékeket (‘Zágráb’, 45.815399, 15.966568, 3);
INSERT into city (city_name, lat, long, country_id) értékek (‘New York’, 40.73061, -73.935242, 4);
helyezze be a city (city_name, lat, long, country_id) értékeket (‘Los Angeles’, 34.052235, -118.243683, 4);
INSERT into city (city_name, lat, long, country_id) értékek (‘Varsó’, 52.237049, 21.017532, 5);

ezen állítások végrehajtása után ez volt az eredmény. A várakozásoknak megfelelően 6 sor került hozzáadásra. Még egyszer 1 üzenetünk van minden egyes beszúráshoz az üzenetek részben:

város

ebben az esetben problémát okozna, ha nem azonos módon soroltuk fel az értékeket, oszlopokat soroltunk fel, mert adattípusuk nem azonos (sorrendben vannak: szöveg, tizedes szám, tizedes szám, egész szám). Ezt a típusú hibát szintaktikai hibának nevezzük, és maga a DBMS megakadályozza a lekérdezés futtatását.

SELECT – ellenőrizze, hogy mi került beillesztésre

most még egyszer ellenőrizzük, hogy mi van tárolva a táblázatokban. Ugyanazt a két SELECT utasítást fogjuk használni, amelyeket korábban használtunk:

1
2

válasszon * országból;
válasszon * városból;

az eredmény az alábbi képen látható. Kérjük, vegye figyelembe, hogy a lekérdezések végrehajtása után most már az eredmények és az üzenetek szakaszai vannak a lekérdezések alatt:

SELECT utasítások

arra a következtetésre juthatunk, hogy adatbázisunkban mindkét tábla tartalmaz adatokat, és most készen állunk arra, hogy “játsszunk” valami ennél sokkal hűvösebb dologgal.

beszúrás a táblázatba az Excel használatával

sok esetben több SQL utasítást kell futtatnia a megadott adatkészlet alapján. Ez nem csak az INSERT into TABLE utasítást jelenti, hanem az UPDATE és DELETE utasításokat is. Nincs értelme ezeket az állításokat manuálisan beírni, de inkább okosabb megközelítést kell alkalmaznia – készítsen képleteket (vagy szkriptet), amelyek automatizálják ezt a részt. Ilyen helyzetekben inkább az Excel és a képletek használatát részesítem előnyben.

Megjegyzés: Személy szerint az adatbázisok összefüggésében nagyon hasznosnak találom az Excel-t, amikor több utasítást kell létrehoznom, valamint az eredmények bemutatásakor és/vagy irányítópultok létrehozásakor.

vessünk egy pillantást ezekre a képletekre:

országok Excel

az első ország (Németország) beszúrásához használt képlet a következő:

1
=”helyezze be az ország (ország_neve, ország_neve, ország_kód) értékeket (‘”& B2 & “‘, ‘” & C2 & “‘, ‘” & D2 &”‘);”

városok Excel

az első város (Berlin) beszúrásához használt képlet a következő:

1
=”INSERT in city (city_name, lat, long, country_id) értékek (‘”& B2 & “‘, ” & C2 &”, ” & D2 &”, ” & E2 & “);”

nyugodtan használja ezeket a képleteket a feladatok automatizálásához. Hasonló megközelítést fogunk használni később, amikor több UPDATE és DELETE utasítást futtatunk (és még a SELECT utasítások létrehozásakor is).

következtetés

ebben a cikkben a négy legfontosabb SQL utasítás egyikét fedtük le –INSERT into TABLE utasítás. Az előző cikkben létrehozott táblázatok feltöltésére használtuk. Ez előfeltétele volt annak, hogy áttérjünk az okosabb dolgokra – például az adatbázis-elméletre, és ami még fontosabb, az adatbázisunkból származó eredmények visszaküldésére.

a következő cikkben az elsődleges kulcsról beszélünk – mi az, és miért fontos az adatbázisokban.

Tartalomjegyzék

Tanuljon SQL-t: adatbázis létrehozása & hozzon létre táblázat műveleteket

Tanuljon SQL-t: helyezze be a táblázatba

Tanuljon SQL-t: elsődleges kulcs

tanuljon SQL-t: idegen kulcs

ismerje meg az SQL-t: SELECT utasítás

ismerje meg az SQL-t: Belső csatlakozás vs bal csatlakozás

Ismerje meg az SQL-T: SQL szkriptek

ismerje meg az SQL-t: a kapcsolatok típusai

Ismerje meg az SQL-t: Csatlakozzon több táblához

Ismerje meg az SQL-t: összesített függvények

Ismerje meg az SQL-t: hogyan kell összetett kiválasztási lekérdezést írni

Ismerje meg az SQL-t: az INFORMATION_SCHEMA Adatbázis

Ismerje meg az SQL-T: SQL adattípusok

Ismerje meg az SQL-t: állítsa be az elméletet

tanuljon SQL-t: felhasználó által definiált függvények

Tanuljon SQL-t: felhasználó által definiált tárolt eljárások

Tanuljon SQL-T: SQL nézetek

Tanuljon SQL-T: SQL-triggerek

Tanuljon SQL-t: gyakoroljon SQL-lekérdezéseket

Ismerje meg az SQL-t: SQL lekérdezési példák

Ismerje meg az SQL-t: hozzon létre jelentést manuálisan az SQL lekérdezések segítségével

Ismerje meg az SQL: SQL Server dátum-és időfüggvények

Ismerje meg az SQL: SQL Server Pivot táblákat

> Ismerje meg az SQL-t: sql server Exportálás Excel-be

Ismerje meg az SQL-t: bevezetés az SQL Server hurkokba

Ismerje meg az SQL: SQL Server kurzorokat

Ismerje meg az SQL: SQL legjobb gyakorlatait az adatok törléséhez és frissítéséhez

Ismerje meg az SQL: elnevezési konvenciókat

Ismerje meg az SQL-t: SQL-rel kapcsolatos munkák

Ismerje meg az SQL-t: nem Equi csatlakozik az SQL Server-hez

Ismerje meg az SQL-T: SQL Injection

Ismerje meg az SQL-t: dinamikus SQL

  • szerző
  • Legutóbbi hozzászólások
Emil Drkusic
Emil egy adatbázis szakember 10 + éves tapasztalattal rendelkezik minden kapcsolódó adatbázisok. Az évek során az informatikai és pénzügyi szektorban dolgozott, most szabadúszóként dolgozik.
korábbi és jelenlegi elkötelezettségei az adatbázis tervezésétől és kódolásától az adatbázisok oktatásáig, tanácsadásáig és írásáig terjednek. Ne felejtsük el, BI, algoritmusok létrehozása, sakk, Filatélia, 2 kutya, 2 Macska, 1 Feleség, 1 baba…
megtalálja őt a LinkedIn-en
Emil Drkusic összes hozzászólásának megtekintése

Emil Drkusic
Emil Drkusic legújabb hozzászólásai (az összes megtekintése)
  • Ismerje meg az SQL-t: dinamikus SQL-március 3, 2021
  • Ismerje meg az SQL-T: SQL injekció-November 2, 2020
  • Ismerje meg az SQL-t: Nem Equi csatlakozik az SQL Server-hez-szeptember 29, 2020

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.

More: