SQL INSERT – Yhden tai useamman rivin lisääminen taulukkoon

Yhteenveto: Tässä opetusohjelmassa opit käyttämään SQL INSERT -käskyä tietojen lisäämiseen taulukoihin.

INSERT -käsky lisää yhden tai useamman rivin taulukkoon. INSERT -lauseketta kutsutaan joskus INSERT INTO -lausekkeeksi.

SQL INSERT -käsky – lisää yksi rivi taulukko

Seuraava kuvaa INSERT -lauseketta, joka lisää yhden rivin olemassa olevaan taulukkoon.

1
2

INSERT INTO taulukko (sarake1, sarake2, …)
ARVOT (arvo1, arvo2, …);

Jos haluat lisätä rivin taulukkoon, sinun on määritä kolme asiaa:

  • Ensinnäkin taulukko, jonka haluat lisätä uuden rivin, lausekkeeseen INSERT INTO.
  • Toiseksi pilkulla erotettu taulukon sarakkeiden luettelo, sulkeissa.
  • Kolmanneksi pilkuilla erotettu luettelo sulkujen ympäröimistä arvoista VALUES lauseke.

Sarakeluettelossa on oltava sama määrä elementtejä kuin arvoluettelossa, tai muuten tietokantamoottori antaa virheen.

Katsotaanpa seuraavassa shippers taulukossa:


Seuraava INSERT -lauseke lisää uuden rivin shippers -taulukkoon:

1
2

INSERT INTO rahdinantajat (yrityksen nimi, puhelin)
ARVOT (”Alliance Shippers”, ”1-800-222-0451”);

Kaksi vakiota, "Alliance Shippers" ja "1-800-222-0451" määritetään lausekkeessa VALUES. Tietokantamoottori lisäsi ne sarakkeisiin companyname ja phone.

Lausunnon suorittamisen jälkeen tietokantapalvelin palauttaa viestin, jossa ilmoitetaan kyseisten rivien määrä. Tässä tapauksessa saamme viestin ”1 rivi vaikuttaa”, joka kertoo uuden rivin lisäämisen onnistuneesti.

Huomaa, että emme määritelleet shipperID saraketta sarakeluettelossa, koska shipperID -sarakkeessa on sarake AUTO INCREMENT, tietokantamoottori luo sille seuraavan sarjan automaattisesti aina, kun uusi rivi lisätään taulukkoon.

Vähemmän koodin kirjoittamisen helpottamiseksi SQL tarjoaa INSERT -lausekkeen lyhyemmän muodon seuraavasti:

1
2

INSERT INTO taulukko
ARVOT (arvo1, arvo2, …)

Tässä muodossa arvoluettelolla on oltava sama järjestys kuin taulukon sarakeluettelolla. Jos käytät tätä muotoa -käsky, sinun on annettava arvot kaikille sarakkeille paitsi AUTO INCREMENT -sarakkeelle.

On hyvä käytäntö käyttää sarakkeiden nimiä INSERT -lauseke koodin ylläpidon helpottamiseksi.

Seuraavalla INSERT -lausekkeella on sama vaikutus kuin yhdellä yllä:

1
2

INSERT INTO rahdinantajat
ARVOT (” Alliance Shippers ”,” 1-800-222-0451 ”);

SQL INSERT -käsky – lisää useita rivejä taulukkoon

INSERT -lausekkeen avulla voit myös lisätä useita rivejä taulukkoon käyttämällä yhtä lausetta seuraavasti:

1
2
3
4

INSERT INTO taulukon_nimi (sarake1, sarake2 …)
ARVOT (arvo1, arvo2,…),
(arvo1, arvo2,…) ,

Tässä lomakkeessa, sinun on annettava useita arvoluetteloita, kukin luettelo on erotettu pilkulla.

Seuraava INSERT -lauseke lisää kaksi riviä shippers -taulukkoon:

1
2
3

INSERT INTO lähettäjät (yrityksen nimi, puhelin)
ARVOT (”UPS”, ”1-800-782-7892”),
(”DHL”, ”1-800-225-5345”)

SQL INSERT-käsky – kopioi taulukon tiedot

Sen sijaan, että määrität arvoluettelon, voit käyttää SELECT-käskyä arvojen valitsemiseksi toisesta taulukosta ja toimittaa ne INSERT lausunto. Tämän avulla voit kopioida tietoja taulusta toiseen taulukkoon.

Seuraava lause kuvaa, kuinka tietoja kopioidaan another_table -kohdasta table:

1
2
3
4
5
6
7

INSERT INTO taulukko (sarake1, sarake2, …)
SELECT
sarake1, sarake2, …
FROM
another_table
WHERE
ehto

SELECT -lausekkeen sarakeluettelon on vastattava sarakkeiden luetteloa INSERT INTO lauseke. Jos haluat kopioida vain osittaisia tietoja, sinun on määritettävä ehto WHERE-lausekkeeseen.

Oletetaan, että sinulla on väliaikainen taulukko nimeltä shippers_tmp, jolla on sama rakenne shippers -taulukoksi. Jos haluat kopioida tietoja shippers -taulukosta shippers_tmp -taulukkoon, käytä seuraavaa lausetta:

1
2
3
4
5

INSERT INTO shippers_tmp (lähettäjä, nimi, puhelin)
SELECT
shipperid, companyName, puhelin
lähettäjä
lähettäjät

Tässä opetusohjelmassa olet oppinut käyttämään INSERT -käskyä yhden tai useamman rivin lisäämiseksi taulukkoon. Lisäksi opit myös kopioimaan tiedot taulukosta toiseen taulukkoon INSERT SELECT INTO -käskyn avulla.

  • Oliko tämä opetusohjelma hyödyllinen?
  • KylläEi

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *