Összefoglaló: ebben az oktatóanyagban megtanulhatja, hogyan kell az SQL INSERT utasítással adatokat beszúrni táblákba.
A INSERT
utasítás beszúr egy vagy több sort egy táblába. A INSERT
utasítást néha INSERT INTO
utasításnak is nevezik.
SQL INSERT utasítás – illesszen be egy sort egy táblázat
Az alábbiakban bemutatjuk a INSERT
utasítást, amely egyetlen sort illeszt be egy meglévő táblába.
1
2
|
INSERT INTO táblázat (1. oszlop, 2. oszlop, …)
ÉRTÉKEK (érték1, érték2, …);
|
Ha egy sort be akar illeszteni egy táblába, három dolgot adjon meg:
- Először a
INSERT INTO
záradékban a táblázatot, amelyet új sorral kíván beilleszteni. - Másodszor, vesszővel elválasztott oszlopok listája a táblázatban zárójelekkel körülvéve.
- Harmadszor vesszővel elválasztott értékek listája zárójelekkel körülvéve a
VALUES
záradék.
Az oszlopok listájának ugyanannyi elemnek kell lennie, mint az értékek listájának, különben az adatbázis motor hibát fog kiadni.
Vessünk egy pillantást a következő shippers
táblázatnál:
A következő INSERT
utasítás új sort illeszt be a shippers
táblába:
1
2
|
INSERT INTO fuvarozók (cégnév, telefon)
VALUES (“Szövetségi fuvarozók”, “1-800-222-0451”);
|
Két állandó, "Alliance Shippers"
és "1-800-222-0451"
a VALUES
záradékban van megadva. Az adatbázis-motor beillesztette őket a companyname
és phone
oszlopokba.
A utasítás végrehajtása után az adatbázis-kiszolgáló üzenetet ad vissza az érintett sorok számának megjelölésére. Ebben az esetben egy “1 sor érintett” üzenetet kapunk arról, hogy egy új sor sikeresen beillesztésre került.
Figyelem, hogy nem adtuk meg a shipperID
oszlopot az oszloplistában, mivel a shipperID
oszlop egy AUTO INCREMENT
oszlop, az adatbázis-motor automatikusan generálja a következő szekvenciát, amikor egy új sor be van illesztve a táblázatba.
A kevesebb kód megírásának megkönnyítése érdekében az SQL a INSERT
utasítás rövidebb formáját biztosítja a következőképpen:
1
2
|
INSERT INTO táblázat
ÉRTÉKEK (érték1, érték2, …)
|
Ebben az űrlapban az értékek listájának ugyanabban a sorrendben kell lennie, mint a táblázat oszlopainak. Ha ezt a formát használja, a utasítás, a AUTO INCREMENT
oszlop kivételével minden oszlop értékét meg kell adnia.
Jó gyakorlat az oszlopnevek használata a INSERT
utasítás a kód könnyebb karbantartása érdekében.
A következő INSERT
utasítás ugyanolyan hatást gyakorol, mint a kód fent:
1
2
|
INSERT INTO fuvarozók
ÉRTÉKEK (” Alliance Shippers “,” 1-800-222-0451 “);
|
SQL INSERT utasítás – több sor beszúrása egy táblába
A INSERT
utasítás lehetővé teszi több sor beszúrását is egy táblázatba egyetlen utasítás használatával, az alábbiak szerint:
1
2
3
4
|
INSERT INTO tábla_neve (oszlop1, oszlop2 …)
ÉRTÉKEK (érték1, érték2,…),
(érték1, érték2,…) ,
…
|
Ebben űrlapon, több értéklistát kell megadnia, mindegyiket vesszővel elválasztva.
A következő INSERT
utasítás két sort illeszt a shippers
táblába:
1
2
3
|
INSERT INTO fuvarozók (cégnév, telefon)
ÉRTÉKEK (“UPS”, “1-800-782-7892”),
(“DHL”, “1-800-225-5345”)
|
SQL INSERT utasítás – a táblázat adatainak másolása
Az értékek listájának megadása helyett a SELECT utasítás segítségével kiválaszthatja az értékeket egy másik táblából, és átadhatja azokat a INSERT
nyilatkozat. Ez lehetővé teszi adatok másolását egy táblából egy másik táblába.
A következő utasítás bemutatja, hogyan kell adatokat másolni a another_table
fájlból a :
1
2
3
4
5
6
7
|
INSERT INTO táblázat (1. oszlop, 2. oszlop, …)
KIVÁLASZTÁS
oszlop1, oszlop2, …
FROM
another_table
WHERE
feltétel
|
A SELECT
záradék oszlopainak listájának meg kell felelnie a INSERT INTO
oszlopok listájának kikötés. Ha csak részleges adatokat szeretne másolni, akkor meg kell adnia egy feltételt a WHERE záradékban.
Tegyük fel, hogy van egy shippers_tmp
nevű ideiglenes táblája, amelynek ugyanaz van felépítése a shippers
táblázatként Adatok másolásához a shippers
táblázatból az shippers_tmp
táblába a következő állítást használja:
1
2
3
4
5
|
INSERT INTO shippers_tmp (szállítmányozó, név, telefon)
SELECT
shipperid, companyName, telefon
FROM
szállítóktól
|
Ebben az oktatóanyagban megtanulta, hogyan kell a INSERT
utasítással egy vagy több sort beszúrni egy táblába. Ezenkívül azt is megtanulta, hogyan kell másolni az adatokat egy táblából egy másik táblába a INSERT SELECT INTO
utasítás használatával.
- Ez volt az oktatóanyag hasznos?
- IgenNem