Įvadas į SQL pagrindus

click fraud protection

Struktūrinė užklausų kalba (SQL) yra vienas iš pagrindinių šiuolaikinės duomenų bazės architektūros elementų. SQL apibrėžia metodus, naudojamus reliacinėms duomenų bazėms kurti ir manipuliuoti visose pagrindinėse platformose. Iš pirmo žvilgsnio kalba gali atrodyti bauginanti ir sudėtinga, tačiau tai nėra viskas taip sunku.

Apie SQL

Teisingas SQL tarimas yra ginčytinas klausimas duomenų bazių bendruomenėje. Amerikos standartų institutas savo SQL standarte paskelbė, kad oficialus tarimas yra „es queue“ el. "Tačiau daugelis duomenų bazių specialistų ėmėsi žargono tarimo„ tęsinys ". Panašiai kaip su tarimu apie GIF, nėra teisingo atsakymo.

SQL yra įvairių skonių. „Oracle“ duomenų bazėse naudojamas patentuotas PL / SQL. „Microsoft SQL Server“ naudoja „Transact-SQL“. Visi variantai yra pagrįsti pramonės standartu ANSI SQL.

Šiame įvade naudojamos ANSI suderinamos SQL komandos, veikiančios bet kurioje šiuolaikinėje reliacinių duomenų bazių sistemoje.

DDL ir DML

SQL komandas galima suskirstyti į dvi pagrindines antrines kalbas. Duomenų apibrėžimo kalba yra komandos, naudojamos kurti ir sunaikinti duomenų bazes ir duomenų bazės objektus. Apibrėžus duomenų bazės struktūrą su DDL, duomenų bazės administratoriai ir vartotojai gali naudoti duomenų tvarkymo kalbą, kad įterptų, nuskaitytų ir modifikuotų joje esančius duomenis.

instagram viewer

SQL palaiko trečią sintaksės tipą, vadinamą Duomenų valdymo kalba. DCL valdo prieigą prie duomenų bazės objektų saugumo. Pavyzdžiui, a DCL scenarijus suteikia arba panaikina konkrečių vartotojų abonementų teisę skaityti ar rašyti lenteles vienoje ar daugiau apibrėžtų duomenų bazės sričių. Daugumoje valdomų kelių vartotojų aplinkų duomenų bazių administratoriai paprastai vykdo DCL scenarijus.

Duomenų apibrėžimo kalbos komandos

Duomenų apibrėžimo kalba naudojama kuriant ir sunaikinant duomenų bazes ir duomenų bazės objektus. Šias komandas pirmiausia naudoja duomenų bazės administratoriai nustatydami ir pašalindami duomenų bazės projektą. DDL sukasi aplink keturias pagrindines komandas—sukurti, naudoti, pakeistiir lašas.

Kurti

The sukurti komanda sukuria duomenų bazes, lenteles ar užklausas jūsų platformoje. Pavyzdžiui, komanda:

KURTI DUOMENŲ BAZĖS darbuotojus;

sukuria tuščią duomenų bazę pavadinimu darbuotojų savo DBVS. Sukūrus duomenų bazę, kitas žingsnis yra sukurti lenteles, kuriose yra duomenų. Kitas variantas sukurti komanda įgyvendina šį tikslą. Komanda:

CREATE LENTELĖ personal_info (vardas_vardas char (20) nėra niekinis, pavardė char (20) nėra niekinis, darbuotojo_id int nėra nulinis);

nustato lentelę pavadinimu Asmeninė informacija dabartinėje duomenų bazėje. Pavyzdyje lentelėje yra trys atributai: Pirmas vardas, pavardėir Darbuotojo ID kartu su tam tikra papildoma informacija.

Naudokite

The naudoti komanda nurodo aktyvią duomenų bazę. Pvz., Jei šiuo metu dirbate pardavimo duomenų bazėje ir norite išleisti keletą komandų, kurios paveiks darbuotojų duomenų bazę, prieš jas įveskite šią SQL komandą:

USE darbuotojai;

Prieš išleisdami SQL komandas, kurios manipuliuoja duomenimis, dar kartą patikrinkite duomenų bazę, kurioje dirbate.

Keisti

Sukūrę lentelę duomenų bazėje, pakeiskite jos apibrėžimą naudodami pakeisti komanda, kuri pakeičia lentelės struktūrą neištrindama ir neatkurdama jos. Pažvelkite į šią komandą:

PAKEISTI LENTEL personal personal_info PRIDĖTI algos pinigus null;

Šis pavyzdys į lentelę „personal_info“ įtraukia naują atributą - darbuotojo atlyginimą. The pinigų argumente nurodoma, kad darbuotojo darbo užmokestis saugomas naudojant dolerių ir centų formatą. Galiausiai niekinis raktinis žodis nurodo duomenų bazei, kad šiame lauke nėra jokios darbuotojo vertės.

Lašas

Paskutinė duomenų apibrėžimo kalbos komanda, lašas, pašalina visus duomenų bazės objektus iš mūsų DBVS. Pvz., Norėdami visam laikui pašalinti sukurtą „personal_info“ lentelę, naudokite šią komandą:

LAŠYTI LENTEL personal personal_info;

Panašiai toliau nurodyta komanda būtų naudojama visai darbuotojų duomenų bazei pašalinti:

DROP DATABASE darbuotojai;

Naudokitės šia komanda atsargiai. The lašas komanda pašalina visas duomenų struktūras iš jūsų duomenų bazės. Jei norite pašalinti atskirus įrašus, naudokite Ištrinti Duomenų manipuliavimo kalbos komanda.

Duomenų manipuliavimo kalbos komandos

Duomenų manipuliavimo kalba naudojama duomenų bazės informacijai gauti, įterpti ir modifikuoti. Šios DML komandos siūlo įprastą duomenų bazės sąveikos pagrindą.

Įdėti

The Įdėti komanda prideda įrašus prie esamos lentelės. Grįžtant prie personal_info pavyzdžio iš ankstesnio skyriaus, įsivaizduokite, kad mūsų personalo skyrius turi pridėti naują darbuotoją prie savo duomenų bazės. Naudokite komandą, panašią į šią:

INSERT INTO personal_info
reikšmės ('bart', 'simpson', 12345, 45000 USD);

Atkreipkite dėmesį, kad įraše nurodytos keturios vertės. Jie atitinka lentelės atributus nustatyta tvarka: Pirmas vardas, pavardė, Darbuotojo ID ir atlyginimas.

Pasirinkite

The pasirinkite komanda yra dažniausiai naudojama komanda SQL. Ji gauna konkrečią informaciją iš operatyvinės duomenų bazės. Pažvelkite į keletą pavyzdžių, dar kartą naudodami lentelę personal_info iš darbuotojų duomenų bazės.

Žemiau parodyta komanda gauna visą informaciją, esančią lentelėje personal_info. Žvaigždutė yra pakaitinis simbolis SQL.

PASIRINKTI *
IŠ personal_info;

Arba nurodydami apribokite atributus, gaunamus iš duomenų bazės pasirenkamas. Pavyzdžiui, Žmogiškųjų išteklių skyrius gali pareikalauti visų įmonės darbuotojų pavardžių sąrašo. Ši SQL komanda atgaus tik tą informaciją:

PASIRINKITE pavardę
IŠ personal_info;

The kur išlyga apriboja gaunamus įrašus tik tiems, kurie atitinka nurodytus kriterijus. Generalinis direktorius gali būti suinteresuotas peržiūrėti visų gerai apmokamų darbuotojų personalo apskaitą. Ši komanda gauna visus „personal_info“ esančius duomenis įrašams, kurių atlyginimo vertė yra didesnė nei 50 000 USD:

PASIRINKTI *
IŠ personal_info
KUR atlyginimas> 50000 USD;

Atnaujinti

The atnaujinti komanda keičia lentelėje esančią informaciją ištisai arba atskirai. Tarkime, kad įmonė visiems darbuotojams kasmet padidina 3 procentus pragyvenimo išlaidų. Ši SQL komanda taiko šią klaidą visiems duomenų bazėje saugomiems darbuotojams:

ATNAUJINTI personal_info
SET atlyginimas = atlyginimas * 1,03;

Kai naujasis darbuotojas Bartas Simpsonas demonstruoja rezultatus viršijant pareigos ribas, vadovybė nori pripažinti jo puikius pasiekimus padidindama 5000 USD. WHERE išlyga išskiria Bartą už šį pakėlimą:

ATNAUJINTI personal_info
SET atlyginimas = atlyginimas + 5000
KUR darbuotojo ID = 12345;

Ištrinti

Galiausiai pažvelkime į Ištrinti komandą. Jūs pastebėsite, kad šios komandos sintaksė yra panaši į kitų DML komandų sintaksę. „DELETE“ komanda su a kur sąlygą, pašalinkite įrašą iš lentelės:

IŠTRINTI IŠ personal_info
KUR darbuotojo ID = 12345;

DML palaiko ir suvestinius laukus. A pasirinkite teiginys, matematiniai operatoriai patinka suma ir suskaičiuoti apibendrinti duomenis per užklausą. Pavyzdžiui, užklausa:

pasirinkite count (*) iš personal_info;

skaičiuoja lentelės įrašų skaičių.

Duomenų bazė prisijungia

A prisijungti sakinys sujungia duomenis keliose lentelėse, kad efektyviai apdorotų didelius duomenų kiekius. Šie teiginiai yra tikroji duomenų bazės galia.

Ištirti pagrindinio naudojimo būdus prisijungti operacija sujungti duomenis iš dviejų lentelių, tęskite pavyzdį naudodami lentelę „personal_info“ ir pridėkite papildomą lentelę prie mišinio. Tarkime, kad turite lentelę, pavadintą drausminantis kuris buvo sukurtas su šiuo teiginiu:

CREATE TABLE drausminimas (action_id int not null, worker_id int not null, comments char (500));

Šioje lentelėje pateikiami įmonės darbuotojų drausminių veiksmų rezultatai. Jame nėra jokios kitos informacijos apie darbuotoją, išskyrus darbuotojo numerį.

Tarkime, kad jums buvo pavesta sukurti ataskaitą, kurioje būtų išvardyti drausminiai veiksmai, taikomi visiems darbuotojams, kurių atlyginimas didesnis nei 40 000 USD. Šiuo atveju JOIN operaciją naudoti paprasta. Gaukite šią informaciją naudodami šią komandą:

PASIRINKITE personal_info.first_name, personal_info.last_name, disciplinary_action.comments
NUO personal_info INNER JOIN disciplinarinė priemonė ON personal_info.employee_id = disciplinary_action.employee_id
WHERE personal_info.salary> 40000;

Sujungimų tipai

Sujunkite tipus SQL

Sujungimai būna kelių skonių. SQL sakinyje pirmoji lentelė (paprastai vadinama A lentelė arba Kairysis stalas) prisijungia prie antrosios lentelės (paprastai vadinamos B lentelė arba Dešinė lentelė) suvokiant padėtį. Taigi, jei pakeisite lentelių tvarką prisijungimo sakinyje, operacijos rezultatai skirsis. Pagrindiniai prisijungimo tipai:

  • Vidinis prisijungimas: Atitinka tik tuos įrašus, kuriuose ant sąlyga atitinka tuos pačius įrašus abiejose lentelėse.
  • Išorinis prisijungimas: Atitinka tik abiejų lentelių įrašus Neįtraukti - programoje nustatyti rezultatai ant būklė.
  • Teisė prisijungti: Atitinka visus B lentelės įrašus ir A lentelės įrašus, kurie atitinka ant būklė.
  • Kairysis prisijungimas: Atitinka visus A lentelės įrašus ir B lentelės įrašus, kurie atitinka ant būklė.
  • Kryžminis prisijungimas: Atitinka visus įrašus taip, lyg lentelės būtų identiškos. Šis procesas sukuria tai, kas vadinama Dekarto produktas. Dažnai kryžminiai sujungimai yra nepageidaujami, nes jie sutampa su kiekviena A lentelės eile, atskirai, su kiekviena B lentelės eile. Taigi, jei A lentelėje buvo siūlomi penki įrašai, o B lentelėje - 9 įrašai, kryžminio sujungimo užklausoje pateikiamos 45 gautos eilutės.
instagram story viewer