HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki 9.3.2010



Samankaltaiset tiedostot
HELIA 1 (14) Outi Virkki Tiedonhallinta

HAAGA-HELIA TIKO - Heti09 1 (22) ICT05 Tiedonhallinta ja Tietokannat E.Räty, O.Virkki, M.Laiho

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki

3. Taulujen määrittely ja muuttaminen

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

SQL - STRUCTURED QUERY LANGUAGE

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

CSE-A1200 Tietokannat

HELIA TIKO-05 1 (22) Tieto ja tiedon varastointi E.Räty, O.Virkki

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 SQL:n perusteet. Harri Laine 1. SQL tietokantakieli. SQL tietokantakieli

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli

HELIA 1 (72) Räty, Virkki, Kurki Lahtinen Tiedonhallinta

HELIA TIKO-05 1 (15) ICT03D Tieto ja tiedon varastointi Räty, Virkki

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

SQL-kielen perusteet. Tietokantojen perusteet

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta]

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

Harjoitustehtävä 1. Harjoitustehtävän 1 ratkaisu. Harjoitustehtävä 1. Relaatioalgebra -liitokset (join) Liitos

Tietokantojen perusteet, s 1999 SQL- osa Harri Laine 1. SQL -ohjelmistojen markkinaosuuksia SQL. SQL - historiaa. SQL - standardointi

HELIA 1 (11) Outi Virkki Tiedonhallinta

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

SELECT-lauseen perusmuoto

4.3.1 SQL tietokanta SQL:n kirjoitusasu SQL määrittelykielenä... 36

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

HELIA 1 (12) Outi Virkki Tiedonhallinta

Tietokantakurssit / TKTL

TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

2. Käsiteanalyysi ja relaatiomalli

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto. Opettajien nimet: Opiskelijoiden pääaineet

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

VINKKI: Katso Kentät Muistioon -painikkeella, mikä on taulukon nimen oikea kirjoitusasu.

Luento 2: Tiedostot ja tiedon varastointi

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta

Yleinen SQL. Yleinen SQL. SQL:n kehitys

Liitokset - haut useaan tauluun

Lohdutus - tietokantadokumentti

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto.

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tietokannat II -kurssin harjoitustyö

Näkymät ja tiedon suojaus

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

Denormalisointia turvallisesti. Ougf syysseminaari Pörssitalo Helsinki Timo Raitalaakso

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

Koostefunktiot. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC;

KOOSTEFUNKTIOT. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito

OpenOffice.org Base 3.1.0

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

TIETOKANNAT JOHDANTO

SQL:N PERUSTEET MARKKU SUNI

Relaatiomalli ja -tietokanta

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

Opiskeluoikeuksien maaran tiedonkeruu

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Opintopiiritehtävä 3: Verkkohuutokauppa

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

SQL-KIELEN PERUSTEET

Kyselyn yleisrakenne:

5 SQL TIETOKANTAKIELI...33

Tietokanta projektin alussa: create table kurssin_tila ( NOT NULL VARCHAR2(60) create table kurssin_tyyppi ( create table opintojakson_tyyppi (

HELIA SQL-harjoituksia 1(1) atk72d Versiopvm:

SQL-KIELEN PERUSTEET

Transkriptio:

HELIA TIKO-05 1 (22) SQL SQL... 2 Historiaa... 2 Standardit... 3 Käyttö... 4 Sql-komentojen kirjoittaminen... 5 DDL... 7 Tietokantaobjektien määrittely... 7 SQL:n tietotyypit... 8 Eheyssääntöjen määrittely... 10 Syntaksikuvaukset... 13 Backus Naur Form... 13 Taulun luonti... 14 Taulun muuttaminen... 15 Taulun poistaminen... 16 DML... 17 Lisäys, INSERT... 18 Poisto, DELETE... 21 Haku, SELECT... 22

HELIA TIKO-05 2 (22) SQL ~ Structured Query Language ~ Relaatiotietokantojen määrittely- ja käsittelykieli SQL on ensimmäinen ja ainoa laajasti hyväksytty tietokantakieli 1. DDL = Data Definition Language Tietokannan taulujen ja eheyssääntöjen määrittely 2. DML = Data Manipulation Language Tietokannan tietojen haku ja päivitys Historiaa 1970 Codd:n artikkeli relaatiotietokannoista 1974 SEQUEL kyselykieli / IBM 1979 1. kaupallinen SQL-tuote: Relational Software (nyk. Oracle) 1986 1. standardi Nykyään SQL:n sisältäviä relaatiotietokanta- (& sovelluskehitysohjelmistoja) satoja

HELIA TIKO-05 3 (22) Standardit ISOn (International Standards Organization) ja ANSIn (American National Standard Institute) hyväksymä standardi 1. SQL86 - SQL1 uudistettu 1989 2. SQL92 - SQL2 3. SQL99 - SQL3 (SQL2003: mm. XML-tuki) Suurin osa nykyisistä tietokannanhallintajärjestelmistä tukee SQL89:ä on toteuttanut osan SQL92 -standardista on toteuttanut osan SQL99 -standardista on toteuttanut standardoimattomia piirteitä eri toimittajien SQL:t eivät välttämättä ole keskenään kokonaan yhteensopivia! suuri osa ymmärtää standardin mukaista SQL:ää (mutta ei sen kaikkia ominaisuuksia)

HELIA TIKO-05 4 (22) Käyttö 1. Itsenäisenä kyselykielenä (interaktiivisesti työasemalta) 2. Toisen ohjelmointikielen täydennyksenä (upotettuna) 3. Osana sovelluskehitysvälinettä DDL - tietokannan luominen ja ylläpito Tietokannan objektien (taulujen ja niihin liittyvien eheyssääntöjen ym. tietokantaobjektien) luominen, muuttaminen, poisto create-, alter-, drop lauseet Käyttöoikeuksien hallinta grant-, revoke-lauseet DML - tietojen päivitys ja hyödyntäminen 1. Tietojen haku select lause 2. Tietojen päivitys insert-, update-, delete laus. 3. Tapahtumankäsittely commit-, rollback lauseet

HELIA TIKO-05 5 (22) Sql-komentojen kirjoittaminen Varatut sanat kirjoitetaan ja käytetään täsmälleen syntaksin mukaan voidaan kirjoittaa isoilla tai pienillä kirjaimilla (yleensä isoilla kirjaimilla ) Käyttäjän määrittelemät sanat esim. sarakkeiden ja taulujen nimet voidaan kirjoittaa isoilla tai pienillä kirjaimilla (yleensä pienillä kirjaimilla) Dataa käsiteltäessä kirjaimet kirjoitetaan isoilla tai pienillä sen mukaan, miten ne on tallennettu tietokantaan Esim: WHERE sukunimi = SMITH vrt. WHERE sukunimi = 'Smith'

HELIA TIKO-05 6 (22) lauseiden (clause) kirjoittaminen on vapaata, mutta seuraavien ohjeiden noudattamista suositellaan: 1. Kukin määre lauseessa alkaa uudelta riviltä 2. Kukin määre lauseessa samalla linjalla Esim. SELECT FROM WHERE sno, fname, lname,position staff position = Manager ; 3. Jos määre sisältää useita osia, käytetään sisennystä, jotta määreen merkitys tulisi paremmin näkyviin Esim. SELECT FROM WHERE sno, fname, lname, position, bno staff position = Manager ;

HELIA TIKO-05 7 (22) DDL Tietokantaobjektien määrittely tietokannan (rakenteiden) luominen ja ylläpito Esim: Create lause CREATE TABLE opettaja (opettajanro INTEGER PRIMARY KEY, etunimi VARCHAR(20) NOT NULL, sukunimi VARCHAR(30) NOT NULL, puhelin CHAR(15), lyhenne CHAR(10) NOT NULL ); Alter lause ALTER TABLE opettaja ADD (syntpvm DATE); ALTER TABLE opettaja ALTER (lyhenne CHAR(6)); Drop lause DROP TABLE opettaja;

HELIA TIKO-05 8 (22) SQL:n tietotyypit Merkkijonot CHAR (n) VARCHAR(n) n välillä 1..255 n:n mittainen merkkijono (kiinteämittainen) korkeintaan n:n mittainen merkkijono (vaihtuvamittainen) Esim. hloid CHAR (5) titteli VARCHAR (30) Tarkka luku DECIMAL desimaaliluku [pituus[,desimaalin pituus]] INTEGER kokonaisluku [-2 147 483648, 2 147 483647] SMALLINTEGER kokonaisluku [-32 768, 32 767] NUMERIC Esim. Hloid SMALLINT Palkka DECIMAL (7,2) ==> ylin arvo 99 999.99 Liukuluku FLOAT Liukuluku välillä [ 5,4*1079 7,2*1075] REAL DOUBLE PRECISION Esim. 10E3 5.2E6 0.2E 4

HELIA TIKO-05 9 (22) Aika DATE TIME [time_precision] [WITH TIME ZONE] TIMESTAMP [time_precision] [WITH TIME ZONE] INTERVAL time_precision Päivämäärä Kellonaika: tunti minuutti ja sekunti Kalenteriaika +kellonaika sekuntien tarkkuus, oletus 0 eli kokonaiset sekunnit Esim. tentti_pvm DATE aloitus_aika TIME Bittijono BIT [n] BIT VARYING [n] Kiinteämittainen bittijono Vaihtuvamittainen bittijono Esim. bit_jono BIT (5) bit_jono BIT VARYING (30)

HELIA TIKO-05 10 (22) Eheyssääntöjen määrittely Eheyssääntö voidaan kirjoittaa a) Taulukohtaisesti (onnistuu aina) b) Sarakekohtaisesti (jos sääntö kohdistuu vain 1 sarakkeeseen) Pääavain a) [CONSTRAINT nimi] PRIMARY KEY (sarakelista) b) PRIMARY KEY Viiteavain a) [CONSTRAINT nimi] FOREIGN KEY (sarakelista) REFERENCES [omistaja.]perustaulu[(sarakelista)] b) FOREIGN KEY REFERENCES [omistaja.]perustaulu[(sarakelista)] Huom! Hakasulut tarkoittavat vapaavalintaista komennon osaa Esim. [constraint nimi]

HELIA TIKO-05 11 (22) Esim. Taulukohtaiset eheyssäännöt CREATE TABLE property_for_rent (pno VARCHAR (5) NOT NULL,street VARCHAR (25) NOT NULL,city VARCHAR(15) NOT NULL,type CHAR(1) NOT NULL DEFAULT F,rooms SMALLINT NOT NULL DEFAULT 4,rent DECIMAL(6,2) NOT NULL DEFAULT 0,checked DATE NOT NULL,ono VARCHAR(5) NOT NULL,sno VARCHAR(5),bno VARCHAR(3) NOT NULL,PRIMARY KEY (pno),foreign KEY (sno) REFERENCES staff,foreign KEY (ono) REFERENCES owner,foreign KEY (bno) REFERENCES branch ); Esim. Sarakekohtaiset eheyssäännöt CREATE TABLE property_for_rent (pno VARCHAR (5) NOT NULL PRIMARY KEY,street VARCHAR (25) NOT NULL,city VARCHAR(15) NOT NULL,type CHAR(1) NOT NULL DEFAULT F,rooms SMALLINT NOT NULL DEFAULT 4,rent DECIMAL(6,2) NOT NULL DEFAULT 0,checked DATE NOT NULL,ono VARCHAR(5) NOT NULL FOREIGN KEY REFERENCES owner,sno VARCHAR(5) FOREIGN KEY REFERENCES staff,bno VARCHAR(3) NOT NULL FOREIGN KEY REFERENCES branch );

HELIA TIKO-05 12 (22) Esim. Kurssihallinto OPETTAJA Opettajano Ope_sukunimi Ope_etunimi Ope_lyhenne Ope_puh KURSSI Kurssino Kurssin_nimi Vastuuopettajano KURSSITOTEUTUS Kurssino Toteutusno Kurs_Opettajano Aloitus_pvm OPISKELIJA Opiskelijano Opi_sukunimi Opi_etunimi Opi_katuosoite Opi_postino Opi_aloitusvuosi CREATE TABLE opettaja (opettajano INTEGER PRIMARY KEY,ope_sukunimi VARCHAR(30) NOT NULL,ope_etunimi VARCHAR(20) NOT NULL,ope_lyhenne CHAR(5) VARCHAR(20),ope_puh ); CREATE TABLE kurssitoteutus (kurssino CHAR(6) NOT NULL,toteutusno INT NOT NULL,kurs_opettajano INT NOT NULL,aloitus_pvm DATE NOT NULL,CONSTRAINT pk_krstot PRIMARY KEY (kurssino,toteutusno),constraint fk_krstot_krs FOREIGN KEY (kurssino) REFERENCES kurssi(kurssino),constraint fk_krstot_ope FOREIGN KEY (kurs_opettajano) REFERENCES opettaja(opettajano) ); ILMOITTAUTUMINEN Kurssino Toteutusno Opiskelijano Arvosana Arvosana_pvm

HELIA TIKO-05 13 (22) Syntaksikuvaukset Backus Naur Form ~ BNF ~ SQL-syntaksin kuvauksessa käytetty kuvauskieli: 1. ISOT KIRJAIMET esittävät varattuja sanoja; ne on kirjoitettava määrämuotoisina 2. pienet kirjaimet esittävät käyttäjän määrittämiä sanoja 3. Pystyviiva tarkoittaa valintaa vaihtoehtojen välillä Esim. a b c a tai b tai c 4. Aaltosulut tarkoittavat vaadittua (=pakollista) elementtiä Esim. { a } 5. Hakasulut tarkoittavat vapaavalintaista elementtiä Esim. [ a ] 6. Kolme peräkkäistä pistettä (...) tarkoittavat valinnaista toistoa 0 tai useamman kerran Esim. { a b } [, c...]

HELIA TIKO-05 14 (22) Taulun luonti CREATE TABLE [omistaja.] taulu ( {sarakenimi tietotyyppi [,...] [DEFAULT vakio systeemimuuttuja] [NOT NULL] [[CONSTRAINT nimi] (sarake-ehto)] [,[CONSTRAINT nimi] PRIMARY KEY (sarakelista)] {[,[CONSTRAINT nimi] UNIQUE (sarakelista)] [,...]} {[,[CONSTRAINT nimi] FOREIGN KEY (sarakelista) [,...] } ); REFERENCES [omistaja.]perustaulu[(sarakelista)]

HELIA TIKO-05 15 (22) Taulun muuttaminen ALTER TABLE taulunimi ADD ( {sarakenimi tietotyyppi [,...] [DEFAULT vakio systeemimuuttuja] [NOT NULL] [[CONSTRAINT nimi] (sarake-ehto)] [,[CONSTRAINT nimi] PRIMARY KEY (sarakelista)] {[,[CONSTRAINT nimi] UNIQUE (sarakelista)] [,...]} {[,[CONSTRAINT nimi] FOREIGN KEY (sarakelista) [,...] } ); REFERENCES [omistaja.]perustaulu[(sarakelista)] ALTER TABLE taulunimi ALTER ( {sarakenimi [tietotyyppi] [DEFAULT vakio systeemimuuttuja] [NOT NULL] [[CONSTRAINT nimi] (sarake-ehto)] [,...] [,[CONSTRAINT nimi] PRIMARY KEY (sarakelista)] {[,[CONSTRAINT nimi] UNIQUE (sarakelista)] [,...]} {[,[CONSTRAINT nimi] FOREIGN KEY (sarakelista) [,...] } ); REFERENCES [omistaja.]perustaulu[(sarakelista)]

HELIA TIKO-05 16 (22) Taulun poistaminen DROP TABLE taulunimi [RESTRICT CASCADE ] ; RESTRICT: poisto vain silloin, jos tauluun ei viitata mistään muusta taulusta CASCADE: poistetaan myös sellaiset rivit, joissa viitataan poistettavaan tauluun

HELIA TIKO-05 17 (22) DML ~ Data Manipulation ~ Tietojen käsittely INSERT UPDATE DELETE SELECT tiedon (rivien) lisäys tauluun taulussa olevan tiedon muuttaminen / päivitys tiedon (rivien) poisto taulusta kysely tietokannasta Literaalit ovat SQL:ssä käytettäviä vakioita Niitä erotetaan tässä kaksi päätyyppiä: 1. Yksinkertaisissa lainausmerkeissä olevat ( ) Ei-numeeriset arvot Manager Päivämäärät 2000-09-20 2. Ilman lainausmerkkejä olevat numeeriset arvot 45

HELIA TIKO-05 18 (22) Lisäys, INSERT kahdenlaisia lisäyksiä: a) sallii yhden rivin lisäämisen nimettyyn tauluun b) useamman rivin kopiointi taulusta toiseen (tätä käsitellään kurssin lopulla)

HELIA TIKO-05 19 (22) a) Yhden rivin lisäämisen nimettyyn tauluun INSERT INTO table_name [ (column_list) ] VALUES (data_value_list) ; table_name column_list data_value_list taulun (tai näkymän) nimi yksi tai useampi sarakenimi pilkulla erotettuna / vapaaehtoinen: jos puuttuu SQL hakee listan CREATE TABLE kuvauksen mukaan lisättäviä arvoja on oltava yhtä monta kuin taululla on sarakkeita jos sarakenimiä on puuttuvat sarakkeet alustetaan oletusarvoilla tai NULL-arvoilla yhteensopiva column_list:n kanssa: arvojen lukumäärä sama järjestys sama arvon kuuluttava ko. sarakkeen arvojoukkoon sovelluksen koodiin sarakenimet kannattaa aina laittaa

HELIA TIKO-05 20 (22) Esim. Lisää staff-tauluun uusi henkilö. INSERT INTO staff VALUES ( SG16, Alan,, Brown,, 67 Endrick Rd, Glasgow G32 9QX, 0141-211-3001, Assistent, M,DATE 1957-05-25,8300, WN848391H, B3 ); Esim. Lisää työntekijä, jonka tiedoista tiedetään vain numero, nimi, asema, sukupuoli, palkka ja haarakonttori INSERT INTO staff (sno, fname, lname, position, sex, salary, bno) VALUES ( SG44, Anne, Jones, Assistent, F, 8300, B3 );

HELIA TIKO-05 21 (22) Poisto, DELETE DELETE FROM table_name [WHERE search_condition]; Jos WHERE-määre esiintyy, poistetaan vain ehdon täyttävät rivit, muuten poistetaan taulun kaikki rivit Esim. Poista kaikki asuntokohteiden näytöt. DELETE FROM viewing; Esim. Poista kaikki asuntokohteelle PG4 tapahtuneet näytöt. DELETE FROM viewing WHERE pno= PG4 ;

HELIA TIKO-05 22 (22) Haku, SELECT SELECT-lause etsii ja näyttää tietoja yhdestä tai useammasta tietokannan taulusta SELECT [DISTINCT ALL] { * [column_expression [AS new_name]] [,...]} FROM table_name [alias] [,...] [WHERE condition] [GROUP BY comlumn_list ] [HAVING condition] [ORDER BY column_list] Esim. SELECT * FROM staff; SELECT-komentoon tutustutaan seuraavilla viikoilla