1 / 16

SQL ALAPOK

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák , adatok kezelésének alapjai. Bevezetés. SQL: Structured Query Language – Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos “ nyelvjárása ” létezik – egy ilyen a MySQL rendszerben használt változat ( ezt vesszük )

nodin
Download Presentation

SQL ALAPOK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatokkezelésénekalapjai

  2. Bevezetés • SQL: Structured Query Language – StrukturáltLekérdezőNyelv • Szabványhatározza meg, azonbanszámos “nyelvjárása” létezik – egyilyen a MySQL rendszerbenhasználtváltozat(eztvesszük) • Nincsjelentőseltérés a különbözőváltozatokközt • Nemalgoritmikusnyelv, jellemzőhasználata: • Beágyazzukegyalgoritmikusnyelvenírtprogrambaaz SQL-utasítást • Az SQL-utasításhatásáraazadatbáziselőáll a válasszal • Azalgoritmikusnyelveníródóprogrambanfeldolgozzukazadatokat

  3. Az SQL kétrésze • Az SQL-utasításokat a jellegükalapjánkétrészreosztjuk

  4. Az SQL szintaxisa • “Beszédes” nyelv, azutasításokneveáltalában a megfelelőangolszó, ezekbőlalkotunk “mondatokat” • a nyelvalapszavaitáltalábannagybetűkkelírjuk, de a kisbetűsírásmód is egyenértékű • A parancsokatírhatjuksorfolytonosan, vagyakártagoltabban, a végüket ; jelzi • Változónincs, csakattribútumorkralehethivatkozni – ha egyutasításonbelülnemegyértelmű, mire, elérírjuk a táblanevét: tábla.attrib

  5. Az SQL szintaxisa, SQL Logika • Szövegkonstans: ‘idézőjelekközt’ • Relációjelek: =, <=, >=, !=, <> • A logikábanszokásosműveletek: AND, OR, NOT. • Az SQL logikanem a klasszikus “igaz-hamis” logika, hanemúgymondháromértékű: TRUE, FALSE, UNKNOWN. • Ha valahol NULL (“nemdefiniált, nemadott”) értékfordulelő, a rávonatkozólogikaikifejezéskiértékeléseismeretlent ad válaszul • Ha aztakarjukellenőrizni, hogyegyadottatttribútum NULL-e, akkor: • attrib IS NULL • NEM fog helyesválasztadni: attrib=NULL

  6. Adatbázislétrehozása • CREATE DATABASE adatbázis_neve; • Létrehozegyúj, üresadatbázist a kiszolgálón (pl. kiadható a konzolon.) • Konzoloselérésnél a USE adatbázis_neve; paranccsallehetkiválasztaniegyadatbázist, programozásikörnyezetekbőlelérveáltalábanvalamilyenmetódushívással.

  7. Sémákdefiniálása • A relációsadatbázissémákatdefiniálnunkkellazadatbázislétrehozásaután CREATE TABLE [IF NOT EXISTS] séma_neve ( attr1 {ADATTÍPUS} [{megszorítások}], attr2 {ADATTÍPUS} [{megszorítások}], … attrn{ADATTÍPUS} [{megszorítások}] [,{táblaszintű_megszorítások}] ) [{táblára_vonatkozó_megszorítások}];

  8. SQL adattípusok • a korábbiparancsban {adattípus} helyére a következőkvalamelyikekerül: • (léteziknéhányegyébadattípus is)

  9. Példa: TÁBLA DEFINIÁLÁSA • Egyautókadataittárolótáblátígydefiniálnánk: CREATE TABLE IF NOT EXISTS auto ( sorszam INT(10) PRIMARY KEY, rendszam CHAR(6), gyarto VARCHAR(128), evjarat INT(4), tipus VARCHAR(128) ); Elsődlegeskulcs

  10. MEgszorítások • Oszlopszinten: • PRIMARY KEY – elsődlegeskulcs • UNIQUE – kulcs • REFERENCES más_tábla(attrib) [{ON-feltételek}] – külsőkulcs • NOT NULL – nemlehet null • AUTO_INCREMENT – mindignövekszikazértéke • Táblaszinten: • PRIMARY KEY (oszlop_lista) – ha többattribútumbóláll a kulcs • FOREIGN KEY (oszlop_lista) REFERENCES másik_tábla(oszlop_lista) [{ON-feltételek}] – hasonlóan

  11. MEgszorítások • ON feltételek: külsőkulcsoknálmegadható, hogytörténjen-e valamiazaktuálistáblában, ha a táblában, aholelsődlegeskulcskéntfordulelőazattribútum, valamilyenváltozásáll be – pl. ha egyvevőttörölnekegyadatbázisból, elérhetőígy, hogyautomatikusantörlődjönazösszesvásárlása is. • ON UPDATE CASCADE – adatmódosításnál a frissadatbemásolódik • ON DELETE CASCADE – ha törlik a hivatkozott sort, törlődnek a ráhivatkozósorok is • ON DELETE SET NULL – a hivatkozottsortörlésekor a hivatkozósorokban NULL kerül a külsőkulcsba

  12. Táblákmódosítása • Létrehozásutánlehetőség van a tábákszerkezetén, kulcsain, kapcsolatainváltoztatni – valaminttörölhetők • ALTER TABLE tábla_neve ADD (oszlopnév {TÍPUS} [{feltételek}]); • ALTER TABLE tábla_neve MODIFY (oszlopnév [{feltételek}]); • ALTER TABLE tábla_neve DROP(oszlopnév1, …, oszlopnévk); • DROP TABLE tábla_neve;

  13. ADATBEVITEL • INSERT INTO tábla_neve VALUES ({azoszlopokértékeiazújrekordban}); • ha csaknéhányoszlopottöltenénkfel, és a többimaradjon null: INSERT INTO tábla_neve (oszlop1,…,oszlopk) VALUES (érték1,…,értékk); • Például: INSERT INTO hallgato (eha, nev, szak, eletkor) VALUES (‘mintaat.sze’, ‘MintaÁron’, ‘programtervezőinformatikus BSc’, 22);

  14. Adatmódosítás UPDATE tábla_neve SET oszlop1 = érték1, …, oszlopk = értékk [WHERE feltétel]; A WHERE feltételbenvalamilyenfeltételtkellmegadniarra, melysorokmódosuljanak. Példa: UPDATE hallgato SET eletkor=23 WHERE eha=‘mintaat.sze’;

  15. Adatoktörlése DELETE FROM tábla_neve [WHERE feltéltel]; Törli a feltételszerinti sort vagysorokatazadotttáblából Példa: Töröljük a hallgatókat, akiknek 34 és 40 köztiazéletkoruk: DELETE FROM hallgato WHERE eletkor BETWEEN 34 AND 40;

  16. FELADATOK Osztály (osztálykód, osztálynév, vezAdószám) Dolgozó (adószám, név, lakcím, fizetés, osztálykód) 6.1 Hozzuklétre a sémákfelettitáblákat! Hogyanadnánk meg, hogyvezAdószámkülsőkulcs? 6.2 Szúrjunk be a ‘hulladékgatdálkodási’ osztályt, ésegyújdolgozóterreazosztályra. Nevezzük is kiosztályvezetőnek. 6.3 Növeljükazösszes 10 és 20 köztiosztálykódúdolgozófizetését 20%-kal. 6.4 KovácsMártanyugdíjbament. Töröljükazadatait. 6.5 Töröljükki a ‘hulladékgazdálkodási’ osztályt.

More Related