Tietojen lisääminen (INSERT)

INSERT INTO <taulu> [( <kenttälista pilkulla eroteltuina> )]
VALUES (<lisättävät arvot pilkulla eroteltuina>)

Uusien tietueiden lisääminen tehdään INSERT-komennolla. INSERT INTO –komennon jälkeen kerrotaan taulun nimi, johon halutaan tietoja lisätä ja VALUES-määreen jälkeen luetellaan sulkujen sisällä jokaiseen kenttään tulevat arvot.

Lisätään tenttii-tauluun uusi tenttisuoritus opiskelijalle 111115-111P, kurssille TIE160, päivälle 15.3.1999 ja arvosanalla 2.5:

INSERT INTO Tenttii

VALUES ('111115-111P', 'TIE150', '1999-3-15', 2.5);

Kaikkien kenttien tietoja ei ole aina pakko antaa, jos taulun kentät hyväksyvät myös NULL-arvoja tai niille on määritelty oletusarvot. Tällöin on kuitenkin lueteltava niiden sarakkeiden nimet, joihin tietoja syötetään. Samoin on sarakkeiden nimet lueteltava, jos niihin halutaan syöttää eri järjestyksessä kuin ne on tauluun määritelty. Hyvä tapa on aina luetella sarakkeiden nimet vaikka lisäys tehtäisiinkin aina kaikkiin ja samassa järjestyksessä, koska tällöin INSERT-lause toimii vaikka joku sattuisi muuttamaan sarakkeiden järjestystä.

Sama lisäys kuin edellä:

INSERT INTO Tenttii (opiskelija, kurssi, paivamaara, arvosana)VALUES ('111115-111P', 'TIE150', '1999-3-15', 2.5);

Rivejä voidaan lisätä myös useampia kerrallaan, jos haetaan lisättävät rivit alikyselyllä. Voisimme tehdä uuden Tietokannat-nimisen taulun, joka olisi rakenteeltaan identtinen vanhan Tenttii-taulumme kanssa. Tällöin voisimme helposti kopioida Tenttii-taulusta kaikki Tietokannat-kurssin suoritukset Tietokannat-tauluun. INSERT-operaatio ei luo tauluja vaan taulun, johon tietoja lisätään täytyy olla olemassa.

Lisätään kaikki tenttii-taulusta löytyvät TIE150-kurssin suoritukset Tietokannat-tauluun, jonka rakenne on identtinen Tenttii-taulunb kanssa:

INSERT INTO Tietokannat SELECT * 
FROM Tenttii
WHERE kurssi = 'TIE150';

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/doc/tiedonhallinta/sql/dml/index14.html
© Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Jukka Mäntylä (jmantyla@iki.fi) <http://www.iki.fi/jmantyla/>
2004-11-05 15:25:14
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto