Kategorijos archyvai: knygos apie SQL. SQL pagrindai pradedantiesiems su pamokomis Interaktyvi sql pamoka

Dauguma šiuolaikinių žiniatinklio programų sąveikauja su duomenų bazėmis, dažniausiai naudodamos kalbą, vadinamą SQL. Mūsų laimei, šią kalbą išmokti labai lengva. Šiame straipsnyje apžvelgsime paprastus SQL užklausas ir išmokite jas naudoti bendraujant MySQL duomenų bazė.

Ko tau reikia?

SQL (struktūrinės užklausos kalba) kalba, specialiai sukurta sąveikai su duomenų bazių valdymo sistemomis, tokiomis kaip MySQL, Oracle, Sqlite ir kiti... Atlikti SQL šiame straipsnyje pateiktų užklausų, patariu įdiegti MySQL į vietinį kompiuterį. Taip pat rekomenduoju naudoti phpMyAdmin kaip vaizdinė sąsaja.

Visa tai galima įsigyti visų mėgstamame Denveryje. Manau, kiekvienas turėtų žinoti, kas tai yra ir kur jo gauti :). Gali kitu atveju naudokite WAMP arba MAMP.

Denveryje yra įmontuotas MySQL konsolė. Mes jį panaudosime.

KURTI DUOMENŲ BAZĘ:duomenų bazės kūrimas

Štai mūsų pirmasis prašymas. Sukursime pirmąją duomenų bazę tolesniam darbui.

Norėdami pradėti, atidarykite MySQL konsolė ir prisijungimas. Dėl WAMP numatytasis slaptažodis tuščias. Tai nieko :). Dėl MAMP – „šaknis“. Denverį reikia išsiaiškinti.

Prisijungę įveskite šią eilutę ir spustelėkiteĮveskite:

KURTI DUOMENŲ BAZĘ mano_pirmasis_db;

Atminkite, kad užklausos pabaigoje, kaip ir kitomis kalbomis, pridedamas kabliataškis (;).

Taip pat komandos SQL didžiosios ir mažosios raidės. Jas rašome didžiosiomis raidėmis.

Galimybės tik: simbolių rinkinysir Surinkimas

Jei norite įdiegti simbolių rinkinys (simbolių rinkinys) ir palyginimas (palyginimas) gali parašykite šią komandą:

KURTI DUOMENŲ BAZĘ my_first_db NUMATYTOJI CHARACTER SET UTf8 COLLATE utf8_general_ci;

Raskite palaikomų simbolių rinkinių sąrašą MySQL.

RODYTI DUOMENŲ BAZES:išvardija visas duomenų bazes

Ši komanda naudojama visoms turimoms duomenų bazėms rodyti.

DROP DUOMENŲ BAZĖ:duomenų bazės ištrynimas

Su šia užklausa galite atsisakyti esamo db.

Būkite atsargūs naudodami šią komandą, nes ji vykdoma be įspėjimo. Jei duomenų bazėje yra duomenų, jie visi bus ištrinti.

NAUDOJIMAS:Duomenų bazės pasirinkimas

Techniškai tai nėra užklausa, o operatorius, kurio pabaigoje nereikia kabliataškio.

Tai sako MySQL pasirinkite duomenų bazę, kuri pagal numatytuosius nustatymus veiktų dabartinėje sesijoje. Dabar esame pasirengę kurti lenteles ir daryti kitus dalykus su duomenų baze.

Kas yra lentelė duomenų bazėje?

Lentelę duomenų bazėje galite pavaizduoti kaip excel failas.

Kaip ir paveikslėlyje, lentelėse yra stulpelių pavadinimai, eilutės ir informacija. Naudojant SQL užklausas galime sukurti tokias lenteles. Taip pat galime pridėti, skaityti, atnaujinti ir ištrinti informaciją.

KURTI LENTELĘ: Sukurkite lentelę

C Su šia užklausa galime sukurti lenteles duomenų bazėje. Deja, dokumentacija MySQL nėra labai aišku naujokams šia tema. Šio tipo užklausos struktūra gali būti labai sudėtinga, bet pradėsime nuo paprastos.

Šia užklausa bus sukurta lentelė su 2 stulpeliais.

CREATE TABLE vartotojai (vartotojo vardas VARCHAR(20), kūrimo_data DATA);

Atkreipkite dėmesį, kad savo užklausas galime rašyti keliose eilutėse ir su skirtukais įtraukoms.

Pirma eilutė paprasta. Mes paprasčiausiai sukuriame lentelę pavadinimu „vartotojai“. Toliau skliausteliuose, atskirtuose kableliais, yra visų stulpelių sąrašas. Po kiekvieno stulpelio pavadinimo turime informacijos tipus, pvz., VARCHAR arba DATE.

VARCHAR(20) reiškia, kad stulpelis yra eilutės tipo ir gali būti daugiausia 20 simbolių ilgio. DATA taip pat yra informacijos tipas, naudojamas datoms saugoti tokiu formatu: "YYYY - MM-DD".

PIRMINIS RAKTAS ( pirminis raktash)

Prieš vykdydami kitą užklausą, taip pat turime įtraukti stulpelį „user_id“, kuris bus mūsų pagrindinis raktas. Galite galvoti apie PIRMINĮ RAKTĄ kaip informaciją, kuri naudojama kiekvienai lentelės eilutei identifikuoti.

CREATE TABLE vartotojai (user_id INT AUTO_INCREMENT PRIMARY KEY, vartotojo vardas VARCHAR(20), kūrimo_data DATE);

INT daro 32 bitų sveikųjų skaičių tipą (kaip skaičiai). AUTO_INCREMENT automatiškai sukuria naują vertę ID kiekvieną kartą, kai pridedame naujas informacijos eilutes. Tai nėra būtina, bet palengvina visą procesą.

Šis stulpelis nebūtinai turi būti sveikasis skaičius, bet jis dažniausiai naudojamas. Pirminio rakto turėjimas taip pat neprivalomas, tačiau rekomenduojamas duomenų bazės architektūrai ir našumui.

Vykdykime užklausą:

RODYTI LENTELES:rodyti visas lenteles

Ši užklausa leidžia gauti duomenų bazėje esančių lentelių sąrašą.

PAAIŠKINTI:Rodyti lentelės struktūrą

Galite naudoti šią užklausą esamos lentelės struktūrai parodyti.

Rodomi stulpeliai su visomis savybėmis.

NURODYTI LENTELĖ:ištrinti lentelę

Kaip ir DROP DATABASES, ši užklausa atmeta lentelę ir jos turinį be įspėjimo.

KEITI LENTELĘ: keitimo stalas

Šioje užklausoje taip pat gali būti sudėtinga struktūra, nes ji gali atlikti daugiau lentelės pakeitimų. Pažiūrėkime į pavyzdžius.

(jei lentelę ištrynėte paskutiniame veiksme, sukurkite ją dar kartą, kad galėtumėte atlikti bandymus)

Stulpelio PRIDĖJIMAS

ALTER TABLE vartotojai PRIDĖTI el. paštą VARCHAR(100) PO vartotojo vardo;

Dėl gero SQL skaitomumo, manau, nėra prasmės to detaliai aiškinti. Po "vartotojo vardas" pridedame naują stulpelį "email".

Stulpelio pašalinimas

Taip pat buvo labai lengva. Naudokite šią užklausą atsargiai, nes duomenys gali būti ištrinti be įspėjimo.

Atkurkite ką tik ištrintą stulpelį, kad galėtumėte toliau eksperimentuoti.

PAKEISTI Stulpelį

Kartais gali tekti pakeisti stulpelio ypatybes, tačiau norint tai padaryti, jo nereikia visiškai pašalinti.

Ši užklausa pervardijo vartotojo stulpelį į „user_name “ ir pakeitė jo tipą iš VARCHAR(20) į VARCHAR(30). Toks pakeitimas neturėtų pakeisti lentelės duomenų.

ĮDĖTI: Informacijos įtraukimas į lentelę

Pridėkite šiek tiek informacijos į lentelę naudodami šią užklausą.

Kaip matote, VALUES() yra kableliais atskirtas reikšmių sąrašas. Visos vertės pateikiamos viename stulpelyje. Ir reikšmės turi būti stulpelių, kurie buvo apibrėžti kuriant lentelę, tvarka.

Atminkite, kad pirmoji lauko PIRMINIS RAKTAS reikšmė yra NULL, pavadinta „user_id“. Tai darome, kad ID būtų sugeneruotas automatiškai, nes stulpelyje yra AUTO_INCREMENT ypatybė. Kai informacija įtraukiama pirmą kartą, ID bus 1. Kita eilutė bus 2 ir tt...

ALTERNATYVUMAS

Yra dar viena užklausos parinktis, skirta pridėti eilutes.

Šį kartą vietoj VALUES naudojame raktinį žodį SET ir jame nėra skliaustų. Yra keletas niuansų:

Stulpelį galima praleisti. Pavyzdžiui, nepriskyrėme reikšmės „user_id“, kuri pagal numatytuosius nustatymus gaus AUTO_INCREMENT reikšmę. Jei praleisite stulpelį VARCHAR, bus pridėta tuščia eilutė.

Kiekvienas stulpelis turi būti nurodytas pavadinimu. Dėl šios priežasties jie gali būti paminėti bet kokia tvarka, skirtingai nei ankstesnė versija.

2 ALTERNATYVA

Štai dar vienas variantas.

Vėlgi, kadangi yra nuorodų į stulpelio pavadinimą, reikšmes galite nurodyti bet kokia tvarka.

LAST_INSERT_ID()

Galite naudoti šią užklausą norėdami gauti ID, kuris buvo AUTO_INCREMENT paskutinėje dabartinės sesijos eilutėje.

DABAR ()

Dabar atėjo laikas parodyti, kaip galite naudoti MySQL funkciją užklausose.

Funkcija NOW() grąžina dabartinę datą. Taigi galite jį naudoti norėdami automatiškai nustatyti stulpelio datą į dabartinę, kai įterpiate naują eilutę.

Atkreipkite dėmesį, kad gavome 1 įspėjimą, bet nepaisykite jo. Taip yra todėl, kad DABAR () taip pat rodo laikiną informaciją.

PASIRINKTI: Duomenų skaitymas iš lentelės

Jei į lentelę įtrauktume informaciją, logiška būtų išmokti ją skaityti iš ten. Čia mums padės SELECT užklausa.

Žemiau pateikiama paprasčiausia įmanoma SELECT užklausa, skirta lentelei nuskaityti.

Šiuo atveju žvaigždutė (*) reiškia, kad mes paprašėme visų lentelės laukų. Jei norite tik tam tikrų stulpelių, užklausa atrodys taip.

BūklėKUR

Dažniausiai mus domina ne visos skiltys, o tik kai kurios. Pavyzdžiui, tarkime, kad mums reikia tik vartotojo „nettuts“ el. pašto adreso.

WHERE leidžia nustatyti užklausos sąlygas ir atlikti išsamius pasirinkimus.

Atkreipkite dėmesį, kad lygybė naudoja vieną lygybės ženklą (=), o ne du, kaip programuojant.

Taip pat galite naudoti palyginimus.

IR arba OR gali būti naudojami sąlygoms derinti:

Atminkite, kad skaitinės reikšmės neturi būti kabutėse.

IN()

Tai naudinga imant kelių verčių mėginius.

KAIP

Leidžia pateikti „pakeisto simbolio“ užklausas

Ženklas % naudojamas kaip pakaitos simbolis. Tai yra, jo vietoje gali būti bet kas.

BūklėRŪŠIUOTI PAGAL

Jei norite gauti rezultatą užsakyta forma pagal kokį nors kriterijų

Numatytoji tvarka yra ASC (nuo mažiausio iki didžiausio). Atvirkščiai naudojamas DESC.

RIBOTAS ... OFFSET ...

Galite apriboti gaunamų rezultatų skaičių.

LIMIT 2 apima tik pirmuosius 2 rezultatus. LIMIT 1 OFFSET 2 gauna 1 rezultatą po pirmųjų 2. RIBA 2, 1 reiškia tą patį (tiesiog atkreipkite dėmesį, kad pirmiausia yra poslinkis, o tada riba ).

ATNAUJINIMAS: Pakeiskite informaciją lentelėje

Ši užklausa naudojama lentelės informacijai pakeisti.

Daugeliu atvejų jis naudojamas kartu su WHERE sąlyga, nes greičiausiai norėsite pakeisti tam tikrus stulpelius. Jei nėra WHERE sąlygos, pakeitimai turės įtakos visoms eilutėms.

Taip pat galite naudoti LIMIT, kad apribotumėte eilučių, kurias reikia keisti, skaičių.

IŠTRINTI: Informacijos pašalinimas iš lentelės

Kaip ir UPDATE, ši užklausa naudojama su WHERE:

Norėdami pašalinti lentelės turinį, galite tiesiog atlikti šiuos veiksmus:

IŠtrinti iš vartotojų;

Bet geriau naudoti Sutrumpinti

Ši užklausa ne tik ištrina, bet ir iš naujo nustato reikšmes AUTO_INCREMENT ir vėl pridedant eilutes atgalinis skaičiavimas prasidės nuo nulio. IŠTRINTI to nepadaro ir atgalinis skaičiavimas tęsiasi.

Stygų reikšmių ir specialiųjų žodžių išjungimas

eilutės reikšmės

Kai kuriuos simbolius reikia išjungti ( Pabegti ), arba gali kilti problemų.

Tam naudojamas pasvirasis brūkšnys.(\).

Ypatingi žodžiai

Nes MySQL yra daug ypatingų žodžių PASIRINKTI arba ATNAUJINTI ), norint išvengti klaidų juos naudojant, reikia naudoti kabutes. Bet ne paprastos citatos, o šios(`).

Tai reiškia, kad turėsite pridėti stulpelį pavadinimu " Ištrinti “, jums reikia tai padaryti taip:

Išvada

Ačiū, kad perskaitėte iki galo. Tikiuosi, kad šis straipsnis buvo jums naudingas. Tai dar nesibaigė! Tęsinys:).

Šiame straipsnyje aš bandžiau sujungti visus pagrindinius dalykus Sandoris su SQL padėti pradedantiesiems duomenų bazių programuotojams išmokti kalbą ir rašyti užklausas bei programas Transact-SQL.

Duomenų bazių programavimas, o konkrečiau – duomenų bazės, kuriose veikia Microsoft SQL Server, labai išpopuliarėjo, todėl nusprendžiau padaryti savotišką mini žinyną, kuriame rasite visus pagrindinius dalykus su paaiškinimais ir, žinoma, su pavyzdžiais.

Norėdami išmokti rašyti SQL užklausas ar kurti duomenų bazės objektus, galite naudoti nemokamą SQL Server Express leidimą, kurio vadovo sudarymo metu naujausia versija yra Microsoft SQL Server 2014 Express.

„Transact-SQL“ nuoroda pradedantiesiems – nuorodos aprašymas

Šis vadovas atrodys taip, pirmiausia pateiksiu nedidelį turinį su navigacija, tada prasidės pats vadovas, prie kiekvieno elemento bus komentarai, paaiškinimai ir pavyzdžiai. Be to, jei mes jau išsamiai išnagrinėjome arba panaudojome tą ar kitą objektą ar veiksmą kur nors mūsų svetainės medžiagoje, aš, žinoma, įdėsiu nuorodas, kad galėtumėte pamatyti išsamius pavyzdžius arba kaip tą ar kitą veiksmą panaudoti praktiškai. .

Kadangi aprėpti absoliučiai visko tiesiog neįmanoma, todėl nenustebkite, jei čia kažko nerasite. Vėlgi, šis vadovas skirtas pradedantiesiems Transact-SQL programuotojams, taip pat paprastiems administratoriams, kuriems periodiškai reikia įkelti kai kuriuos duomenis iš SQL serverio.

Norėdami išsamiai ištirti T-SQL kalbą, rekomenduoju perskaityti mano knygą „T-SQL programuotojo kelias. Transact-SQL kalbos pamoka “, kurioje kuo išsamiau ir daug pavyzdžių kalbu apie T-SQL kalbą.

Duomenų bazė

Netgi pradedantysis „Transact-SQL“ programuotojas turėtų žinoti, kaip sukurti duomenų bazę arba pakeisti jos ypatybes, todėl prieš žiūrėdami į lenteles, rodinius, funkcijas ir visa kita, susipažinkime su duomenų bazės kūrimo, keitimo ir išmetimo „Transact“ procesą. SQL.

Kūrimas

Norėdami sukurti duomenų bazę, turite paleisti šią užklausą:

KURTI DUOMENŲ BAZĖS testą

kur testas yra duomenų bazės pavadinimas.

Norėdami gauti daugiau informacijos apie duomenų bazės kūrimą SQL serveryje, kalbėjome medžiagoje Kaip sukurti duomenų bazę MS Sql 2008

Pašalinimas

Jei reikia ištrinti duomenų bazę, galite naudoti užklausą:

DROP DUOMENŲ BAZĖS testas

Keisti

Norėdami pakeisti duomenų bazės parametrus, galite naudoti Management Studio grafinę sąsają, kurioje visi parametrai yra išsamiai aprašyti, arba galite siųsti ALTER DATABASE užklausas, pavyzdžiui, norėdami įjungti automatinį bandomosios duomenų bazės suspaudimą, naudokite šią užklausą

ALTER DATABASE test SET AUTO_SHRINK ON; --A išjungti ALTER DATABASE test SET AUTO_SHRINK OFF;

Tikiuosi aišku, komandą ALTER DATABASE pakeisti, testuoti keičiamos duomenų bazės pavadinimą, komandą SET nurodant, kad keisime duomenų bazės parametrus, AUTO_SHRINK patį parametrą, ON/OFF parametro reikšmę.

Duomenų tipai

Labiausiai paplitęs ir dažniausiai naudojamas

Tikslūs skaičiai

  • tinyint - 1 baitas
  • smallint - 2 baitai
  • int – 4 baitai
  • bigint - 8 baitai
  • skaitiniai ir dešimtainiai ( tipo su fiksuotu tikslumu ir masteliu)
  • pinigai - 8 baitai
  • maži pinigai - 4 baitai

Apytiksliai skaičiai

  • float [ (n) ] - dydis priklauso nuo n (n gali būti nuo 1 iki 53, numatytasis yra 53)
  • realus - 4 baitai

data ir laikas

  • data – data
  • laikas - laikas
  • datetime yra data, apimanti paros laiką sekundės dalimis 24 valandų formatu.

Simbolių eilutės

  • char [ (n) ] yra fiksuoto ilgio eilutė, kur n yra eilutės ilgis (nuo 1 iki 8000). Saugyklos dydis yra n baitų.
  • varchar [ (n | max) ] yra fiksuoto ilgio eilutė, kur n yra eilutės ilgis (nuo 1 iki 8000). Jei nurodysite max, tada maksimalus saugyklos dydis bus 2 ^ 31-1 baitas (2 GB), o jei nurodysite n, tada tikrasis įvestų duomenų ilgis plius 2 baitai.
  • tekstas – kintamo ilgio eilutės duomenys, maksimalus dydis 2 147 483 647 baitai (2 GB).
  • nchar [ (n) ] yra Unikodo fiksuoto ilgio eilutė, kur n yra eilutės ilgis (nuo 1 iki 4000). Saugyklos dydis yra dvigubai didesnis už n reikšmę baitais
  • nvarchar [ (n | max) ] yra Unikodo fiksuoto ilgio eilutė, kur n yra eilutės ilgis (nuo 1 iki 4000). Jei nurodytas maksimalus, maksimalus saugyklos dydis bus 2^31-1 baitas (2 GB), o jei n, tada du kartus didesnis nei tikrasis įvestų duomenų ilgis plius 2 baitai.
  • ntext – kintamo ilgio eilutės duomenys, kurių maksimalus eilutės ilgis yra 1 073 741 823 baitai.

Dvejetainiai duomenys

  • dvejetainis [ (n) ] – fiksuoto ilgio, n baitų dydžio dvejetainiai duomenys, kur n yra reikšmė nuo 1 iki 8000. Saugyklos dydis yra n baitų.
  • varbinary [ (n | max) ] – kintamo ilgio dvejetainiai duomenys, kur n reikšmė gali būti nuo 1 iki 8000. Jei nurodysite max, tai didžiausias saugyklos dydis bus 2 ^ 31-1 baitas (2 GB). Jei nurodytas n, tada saugyklos dydis yra tikrasis įvestų duomenų ilgis ir 2 baitai.
  • vaizdas – kintamo ilgio dvejetainiai duomenys, dydis nuo 0 iki 2^31 – 1 (2 147 483 647) baitas.

Kita

  • xml – xml duomenų saugojimas. Mes tai išsamiai aptarėme „Transact-sql“ medžiagoje - darbas su xml, o jei išvis nežinote, kas yra XML, tada apie tai kalbėjome straipsnyje „XML pagrindai pradedantiesiems“.
  • lentelė - gauto eilučių rinkinio saugojimas.

lenteles

Šioje svetainėje yra pakankamai lentelių kūrimo pavyzdžių, nes beveik kiekviename su SQL susijusiame straipsnyje pateikiu bandomosios lentelės kūrimo pavyzdį, tačiau norėdami konsoliduoti žinias, sukurkime, keiskime ir ištrinkite testo lentelę. Pažiūrėkime, kaip Transact-SQL lentelėse nustatomi lauko duomenų tipai.

Kūrimas

CREATE TABLE test_table( IDENTITY(1,1) NOT NULL,--identifikatorius, sveikasis skaičius int, NULL reikšmės neleidžiamos (50) NULL, -pavadinimas, eilutė 50 simbolių ilgio, NULL reikšmės leidžiamos NULL, -sum , apytikslė skaitinė reikšmė, nuliai leidžiami NULL, --data ir laikas, leistini nuliai (100) NULL --eilutė 100 simbolių ilgio, leidžiami nuliai) ON GO

Stulpelio pridėjimas

ALTER TABLE test_table ADD prosto_pole numeric(18, 0) NULL
  • test_table yra lentelės pavadinimas;
  • add - komanda pridėti;
  • prosto_polis – stulpelio pavadinimas;
  • polius numeric(18, 0) – naujo stulpelio duomenų tipas;
  • NULL – parametras, reiškiantis, kad šiame lauke galima išsaugoti NULL reikšmę.

Duomenų tipo keitimas

Pakeiskime ką tik sukurto naujo lauko duomenų tipą (prosto_pole) iš numeric(18, 0) į bigint ir padidinkime komentaro lauko ilgį iki 300 simbolių.

ALTER TABLE test_table ALTER COLUMN prosto_pole bigint; ALTER TABLE test_table ALTER COLUMN komentaras varchar(300);

Pastaba! SQL serveris negalės pakeisti duomenų tipo, jei neįmanoma konvertuoti reikšmių šiuose laukuose, tokiu atveju turėsite ištrinti stulpelį su visais duomenimis ir iš naujo pridėti arba išvalyti visus duomenis šis laukas.

Stulpelio ištrynimas

Norėdami pašalinti konkretų stulpelį, naudokite drop komandą, pavyzdžiui, norėdami pašalinti lauką prosto_pole, naudokite šią užklausą

ALTER TABLE test_table DROP COLUMN prosto_pole

Lentelės ištrynimas

Norėdami ištrinti lentelę, parašykite tokią paprastą užklausą, kur test_table yra lentelė, kurią norite ištrinti

DROP TABLE test_table

Atstovavimas

Labai naudingas objektas duomenų bazėje yra vaizdas (VIEW) arba, mūsų nuomone, tiesiog vaizdas. Jei kas nežino, tada rodinys yra tam tikra saugoma užklausa, kurią galima pasiekti taip pat, kaip lentelę. Sukurkime rodinį pagal test_table testo lentelę ir tarkime, kad labai dažnai reikia rašyti užklausą, pavyzdžiui, pagal sąlygą suma yra didesnė nei 1000, todėl kad šios užklausos nerašytume kiekvieną kartą, rašysime vieną kartą, o vėliau kreipsimės į jį.

Kūrimas

CREATE VIEW test_view AS SELECT ID, fio, komentaras FROM test_table WHERE suma > 1000 GO

Peržiūrėkite skambučio pavyzdį:

SELECT * FROM test_view

Keisti

ALTER VIEW test_view AS SELECT ID, fio, komentaras FROM test_table WHERE suma > 1500 GO

Pašalinimas

DROP VIEW test_view

Sistemos rodiniai

MS SQL Server DBVS taip pat turi sistemos objektų, kurie kartais gali suteikti gana naudingos informacijos, pavyzdžiui, sistemos rodinius. Dabar panagrinėsime keletą tokių vaizdų. Juos galima pasiekti taip pat kaip įprastus rodinius ( pvz., pavadinimo rodinyje pasirinkite *)

  • sys.all_objects – yra visi duomenų bazės objektai, įskaitant tokius parametrus kaip pavadinimas, tipas, sukūrimo data ir kiti.
  • sys.all_columns – pateikia visus lentelių stulpelius su išsamiomis jų charakteristikomis.
  • sys.all_views – pateikia visus duomenų bazės rodinius.
  • sys.tables – visos duomenų bazės lentelės.
  • sys.triggers – visi duomenų bazių aktyvikliai.
  • sys.databases – visos serveryje esančios duomenų bazės.
  • sys.sysprocesses – aktyvūs procesai, seansai duomenų bazėje.

Jų iš tiesų daug, todėl visko sutvarkyti neįmanoma. Jei norite pamatyti, kaip jie gali būti naudojami praktiškai, mes tai jau padarėme, pavyzdžiui, medžiagose

Funkcijos

MS SQL Server leidžia kurti funkcijas, kurios grąžins tam tikrus duomenis, kitaip tariant, pats vartotojas gali parašyti funkciją ir naudoti ją vėliau, pavyzdžiui, kai reikia gauti reikšmes, kurioms reikia sudėtingų skaičiavimų ar sudėtingų duomenų atrankos. Kartais tai tiesiog norint sumažinti kodą, kai funkcijos iškvietimas pakeis dažnai reikalingas reikšmes įvairiose užklausose ir programose.

Kūrimas

KURTI FUNKCIJĄ test_function (@par1 bigint, @par2 float) GRĄŽA varchar(300) AS BEGIN DEKLARUOTI @rezult varchar(300) SELECT @rezult=comment FROM test_table WHERE id = @par1 AND summa > @par2 RETURN @rezult END
  • CREATE FUNCTION – komanda funkcijos objektui sukurti;
  • test_function – naujos funkcijos pavadinimas;
  • @par1 ir @par2 yra gaunami parametrai;
  • RETURNS varchar(300) – grąžinimo tipas;
  • DEKLARUOTI @result varchar(300) – kintamojo, kurio tipas varchar(300), deklaravimas;
  • Select sakinys mūsų atveju yra funkcijos veiksmas;
  • GRĄŽINTI @result – grąžinti rezultatą;
  • BEGIN ir END yra atitinkamai funkcijos kodo pradžia ir pabaiga.

Naudojimo užklausoje pavyzdys:

PASIRINKITE testo_funkciją(1, 20)

Keisti

ALTER FUNCTION test_function (@par1 bigint, @par2 float) GRĄŽA varchar(300) AS BEGIN DEKLARUOTI @rezult varchar(300) SELECT @rezult=comment FROM test_table_new WHERE id = @par1 AND summa >= @par2 RETURN @rezult END

Pašalinimas

Funkcija DROP FUNCTION test_function

Integruotos funkcijos

Be to, kad SQL Server leidžia kurti vartotojo apibrėžtas funkcijas, jis taip pat suteikia galimybę naudoti integruotas funkcijas, kurias DBVS kūrėjai jau parašė jums. Jų labai daug, todėl dažniausiai pasitaikančius suskirstiau į grupes ir pabandžiau trumpai apibūdinti.

Sistemos funkcijos

Čia pateiksiu keletą funkcijų, kurios grąžina įvairius sistemos duomenis, pavyzdžių.

  • @@VERSION – grąžina SQL serverio versiją;
  • @@SERVERNAME – grąžina serverio pavadinimą;
  • SUSER_NAME() - vartotojo prisijungimo vardas serveryje, kitaip tariant, su kokiu prisijungimu dirba tas ar kitas vartotojas;
  • vartotojo_vardas() – duomenų bazės vartotojo vardas;
  • @@SERVICENAME yra DBVS paslaugos pavadinimas;
  • @@IDENTITY yra paskutinis identifikatorius, įterptas į lentelę;
  • db_name() yra dabartinės duomenų bazės pavadinimas;
  • db_id() yra duomenų bazės ID.

Suvestinės funkcijos

Funkcijos, kurios apskaičiuoja tam tikrą reikšmę pagal reikšmių rinkinį (grupę). Jei iškviečiant šias funkcijas reikia nurodyti stulpelį rezultatui rodyti, tuomet duomenis reikia sugrupuoti (grupuoti pagal) pagal šį lauką. Šią konstrukciją išsamiai aptarėme straipsnyje „Transact-SQL“ duomenų grupavimas pagal

  • avg – grąžina vidutinę reikšmę;
  • count – reikšmių skaičius;
  • max - maksimali vertė;
  • min – minimali reikšmė;
  • suma yra reikšmių suma.

Naudojimo pavyzdys:

PASIRINKITE SKAIČIUS(*) kaip skaičių, SUM(suma) kaip sumą, MAX(id) kaip maks., MIN(id) kaip min, AVG(suma) kaip vid. FROM test_table

Styginių funkcijos

Šio tipo funkcija atitinkamai veikia su eilutėmis.

Kairė (styginių išraiška, Personažai) – grąžina nurodytą simbolių skaičių eilutėje, pradedant nuo kairės.

Pavyzdys

SELECT LEFT("Kairiosios funkcijos pavyzdys", 10) - "Pavyzdys" rezultatas

Teisingai (styginių išraiška, Personažai) - grąžina nurodytą eilutės simbolių skaičių, pradedant iš dešinės

Pavyzdys

SELECT Right ("Teisingas funkcijos pavyzdys", 10) - "Teisingo veiksmo" rezultatas

Len (linija) – grąžina eilutės ilgį.

Pavyzdys

SELECT len ("Len pavyzdys") - 28 rezultatas

Žemesnis (linija) – grąžina eilutę su visais simboliais, konvertuotais į mažąsias raides.

Pavyzdys

SELECT žemesnis("žemesnis pavyzdys") - rezultatas "žemesnis pavyzdys"

Viršutinė (linija) – grąžina eilutę, kurioje visi simboliai paverčiami didžiosiomis raidėmis.

Pavyzdys

SELECT Upper ("Viršutinis pavyzdys") - Rezultatas "UPER EXAMPLE"

Ltrim (linija) – grąžina eilutę, iš kurios pašalintos visos priekinės erdvės.

Pavyzdys

SELECT ltrim(" ltrim pavyzdys") - Rezultatas "ltrim pavyzdys"

Rtrim (linija) – grąžina eilutę, iš kurios pašalinami visi tarpai dešinėje

Pavyzdys

SELECT Rtrim (" Apkarpymo pavyzdys ") - Rezultatas" Apkarpymo pavyzdys"

Pakeiskite (linija, ko mes ieškome, ką mes pakeisime) – pakeičia visus antrajame parametre nurodytos eilutės išraiškos atvejus trečiajame parametre nurodytais simboliais.

Pavyzdys

SELECT Replace ("Pakeisti pavyzdį", "darbe", "PAKEISTI") - rezultatas "Pavyzdys REPLACE funkcija Pakeisti"

Atkartoti (linija, pakartojimų skaičius) – pakartoja eilutę (pirmasis parametras) tiek kartų, kiek nurodyta antrajame parametre.

Pavyzdys

SELECT replikuoti ("Pavyzdinis kopijavimas", 3) - rezultatas "Pavyzdys Pakartotinis pavyzdys Pakartojimo pavyzdys Pakartoti"

atvirkščiai (linija) – viską grąžina atvirkštine tvarka.

Pavyzdys

SELECT Reverse („Atvirkštinis pavyzdys“) – rezultatas „esreveR iiccnuf etobar op remirP“

Erdvė (tarpų skaičius) – grąžina eilutę kaip nurodytą tarpų skaičių.

Pavyzdys

PASIRINKTI TARPĄ(10) – Rezultatas „ “

Poeilutė (linija, pradinė padėtis, kiek simbolių) - grąžina eilutę, trečiame parametre nurodyto skaičiaus ilgį, pradedant nuo antrajame parametre nurodyto simbolio.

Pavyzdys

SELECT Substring("Poeilutės funkcijos pavyzdys", 11, 14) – "Funkcijos operacijos" rezultatas

Matematinės funkcijos

Apvalus (numerį, apvalinimo tikslumas) – apvalina skaitinę išraišką iki antrame parametre nurodyto skaitmenų skaičiaus

Pavyzdys

SELECT Round(10.4569, 2) – rezultatas "10.4600"

grindų (numerį) – grąžina sveikąjį skaičių, suapvalintą žemyn.

Pavyzdys

SELECT Floor (10.4569) – rezultatas „10“

Lubos (numerį) – grąžina sveikąjį skaičių, suapvalintą aukštyn.

Pavyzdys

PASIRINKITE lubas (10.4569) – rezultatas „11“

galia (numerį, laipsnį) – grąžina skaičių, padidintą iki antrame parametre nurodytos galios.

Pavyzdys

PASIRINKTI galią(5,2) – rezultatas "25"

Kvadratas (numerį) – grąžina skaitinę reikšmę kvadratu

Pavyzdys

PASIRINKTI kvadratą(5) – rezultatas "25"

abs (numerį) – grąžina absoliučią teigiamą reikšmę

Pavyzdys

SELECT Abs(-5) – rezultatas "5"

Žurnalas(numerį) yra slankiojo kablelio natūralusis logaritmas.

Pavyzdys

PASIRINKTI žurnalą(5) – rezultatas "1.6094379124341"

Pi- Pi.

Pavyzdys

SELECT Pi() – rezultatas "3.14159265358979"

Rand- grąžina atsitiktinį slankiojo kablelio skaičių nuo 0 iki 1

Pavyzdys

SELECT rand() – rezultatas "0.713273187517105"

Datos ir laiko funkcijos

getdate ()- grąžina dabartinę datą ir laiką

Pavyzdys

SELECT Getdate() -- rezultatas "2014-10-24 16:36:23.683"

dieną(data) grąžina dieną iš datos.

Pavyzdys

SELECT Day(Getdate()) – rezultatas "24"

mėnuo(data) – grąžina mėnesio skaičių iš datos.

Pavyzdys

PASIRINKTI mėnesį(Getdate()) – rezultatas "10"

metų (data) – grąžina metus nuo datos

Pavyzdys

PASIRINKITE metus(Getdate()) – rezultatas "2014"

DATEPART(datos skyrius, data) – grąžina nurodytą skiltį nuo datos (DD,MM,MMMM ir kt.)

Pavyzdys

PASIRINKTI DATOS DALĮ(MM,GETDATE()) – rezultatas „10“

Isdate (data) – patikrina įvestą išraišką, jei tai data

Pavyzdys

SELECT Isdate(GETDATE()) – rezultatas "1"

Funkcijų konvertavimas

Aktoriai (išraiška kaip duomenų tipas) yra funkcija, skirta konvertuoti vieną tipą į kitą. Pavyzdyje mes konvertuosime float tipą į int

Pavyzdys

SELECT CAST(10.54 as int) – 10 rezultatas

Paversti – (duomenų tipas, išraiška, datos formatas) yra funkcija, skirta vieno tipo duomenų konvertavimui į kitą. Labai dažnai jis naudojamas konvertuoti datą, naudojant trečiąjį pasirenkamą parametrą - datos formatą.

Pavyzdys

SELECT GETDATE(), CONVERT(DATE, GETDATE(), 104) --Rezultatas --2014-10-24 15:20:45.270 - konvertavimo nėra; --2014-10-24 po konvertavimo.

Lentelės funkcijos

Jie kuriami norint gauti duomenis iš jų kaip iš lentelių, tačiau atlikus įvairius skaičiavimus. Mes išsamiai kalbėjome apie lentelių funkcijas medžiagoje Transact-sql - Lentelių funkcijos ir laikinosios lentelės

Kūrimas

--mūsų funkcijos pavadinimas CREATE FUNCTION fun_test_tabl (--įeinantys parametrai ir jų tipas @id INT) --grąžinama reikšmė, t.y. lentelė RETURNS TABLE AS --nedelsiant grąžinti rezultatą RETURN (--pati užklausa arba kai kurie skaičiavimai SELECT * FROM test_table kur id = @id) GO

Keisti

--mūsų funkcijos pavadinimas ALTER FUNCTION fun_test_tabl (--įeinantys parametrai ir jų tipas @id INT) --grąžinama reikšmė, t.y. lentelė RETURNS TABLE AS --nedelsiant grąžinti rezultatą RETURN (--pati užklausa arba kai kurie skaičiavimai SELECT * FROM test_table kur id = @id ir suma > 100) GO

Pašalinimas

NULEISKITE FUNKCIJĄ fun_test_table

Kaip matote, norint sukurti, modifikuoti ar ištrinti tokias funkcijas, naudojami tie patys operatoriai kaip ir įprastoms funkcijoms, skiriasi tik kokio tipo funkcija grąžina.

Šios funkcijos iškvietimo pavyzdys

PASIRINKTI * IŠ linksmybių_bandymo lentelės(1)

Procedūros

Procedūros yra SQL teiginių rinkinys, kuris sukompiliuojamas vieną kartą ir gali turėti skirtingus parametrus, kaip ir funkcijas. Naudojamas skaičiavimams supaprastinti, grupiniams veiksmams atlikti.

Kūrimas

KURTI PROCEDŪRĄ sp_test_procedure (@id INT) AS -- kintamųjų deklaravimas DECLARE @sum FLOAT --SQL sakiniai SET @sum = 100 UPDATE test_table SET summa = summa + @sum WHERE id = @id GO

Keisti

ALTER PROCEDURE sp_test_procedure (@id int) AS -- kintamųjų deklaravimas DEKLARUOTI @sum float --SQL sakiniai SET @sum = 500 UPDATE test_table SET summa = summa + @sum WHERE id = @id GO

Pašalinimas

ATMESTI PROCEDŪRĄ sp_test_procedure

Procedūros skambutis

Galite jį vadinti įvairiais būdais, pavyzdžiui:

EXECUTE sp_test_procedure 1 --arba EXEC sp_test_procedure 1

Kur EXECUTE ir EXEC procedūrų iškvietimas, sp_test_procedure atitinkamai mūsų procedūros pavadinimas, 1 parametro reikšmė

Sistemos procedūros

Sistemos procedūros yra procedūros, skirtos atlikti įvairius administracinius veiksmus tiek serveryje esančiuose objektuose, tiek paties serverio konfigūracijoje. Jie vadinami taip pat, kaip įprastos procedūros, bet bet kurios duomenų bazės kontekste.

Jų yra labai daug, todėl pateiksiu tik kelis pavyzdžius.

sp_configure- DBVS branduolio konfigūracijos rodymo ir pakeitimų procedūra. Pirmasis parametras yra konfigūracijos parametro pavadinimas, antrasis parametras yra reikšmė.

Pavyzdys

Pakeiskite parametro EXEC sp_configure reikšmę "Ad Hoc Distributed Queries",1 iš naujo sukonfigūruoti --taikyti EXEC sp_configure --tiesiog peržiūrėti visų parametrų reikšmes

kur „Ad Hoc paskirstytos užklausos“ yra parametro pavadinimas, 1 atitinkamai reikšmė, kurią norime pakeisti, iš naujo sukonfigūruoti, taikys įvestą reikšmę.

Praktiškai šią procedūrą taikėme Transact-SQL medžiagoje Cross-database užklausoje

sp_executesql- vykdo Transact-SQL sakinį arba teiginių rinkinį, kurį galima sugeneruoti dinamiškai. Šią procedūrą naudojome medžiagų registravimo duomenų pasikeitimams Transact-SQL lentelėje

Pavyzdys

VYKDYTI sp_executesql N"SELECT * FROM test_table WHERE id = @id", N"@id int", @id = 1

Kur pirmasis parametras yra sql sakinys (Unicode eilutė), antrasis yra visų parametrų, integruotų į sql sakinį, apibrėžimas, trečiasis yra parametrų reikšmė.

sp_help– pateikia išsamią informaciją apie bet kurį duomenų bazės objektą.

Pavyzdys

VYKDYTI sp_help "test_table"

sp_pervardyti– pervardija objektą duomenų bazėje. Galima naudoti pervardyti lenteles, indeksus, stulpelių pavadinimus lentelėse.. Nerekomenduojama šios procedūros pervardyti vartotojo procedūroms, trigeriams, funkcijoms.

Lentelės pervadinimo pavyzdys

EXEC sp_rename "test_table", "test_table_new"

kur pirmasis parametras yra objektas senuoju pavadinimu, o antrasis parametras yra naujas objekto pavadinimas.

Lentelės stulpelio pervadinimo pavyzdys

EXEC sp_rename "test_table.summa", "summa_new", "COLUMN"

Trečiasis parametras rodo, kad stulpelis pervadinamas.

trigeriai

Trigeris yra įprasta procedūra, tačiau ją iškviečia įvykis, o ne vartotojas. Pavyzdžiui, įvykis gali būti naujos eilutės įterpimas į lentelę (įterpimas), duomenų atnaujinimas lentelėje (atnaujinimas) arba duomenų ištrynimas iš lentelės (ištrinti).

Kūrimas

CREATE TRIGGER trg_test_table_update ON test_table for UPDATE --taip pat galima ištrinti, įterpti AS BEGIN --sql sakinius, jei UPDATE END GO

Keisti

ALTER TRIGGER trg_test_table_update ON test_table for insert --taip pat gali ištrinti, atnaujinti AS BEGIN --sql sakinius, jei įterpti END GO

Pašalinimas

PALEISTI TRIGGERĮ trg_test_table_update

Įjungti išjungti

--disable DISABLE TRIGGER trg_test_table_update ON test_table; --įgalinti ĮJUNGTI TRIGGERĮ trg_test_table_update ON test_table;

Mes kalbėjome apie aktyviklius straipsnyje - Kaip sukurti paleidiklį Transact-SQL.

Indeksai

Tai duomenų bazės objektas, kuris pagerina duomenų paieškos našumą rūšiuodamas duomenis pagal konkretų lauką. Jei nubrėžtume analogiją, tai, pavyzdžiui, tam tikros informacijos knygoje ieškoti pagal jos turinį yra daug lengviau ir greičiau, nei jei turinio nebūtų. MS SQL Server DBVS yra šių tipų indeksai:

Klasterizuotas indeksas- su šiuo indeksu lentelės eilutės rūšiuojamos duotu raktu, t.y. nurodytame lauke. Šio tipo lentelės indeksas MS SQL Server gali būti tik vienas ir, pradedant nuo MS SQL 2000, automatiškai sukuriamas, kai lentelėje nurodomas pirminis raktas (PRIMARY KEY).

Negrupuotas indeksas– naudojant šio tipo indeksą, indekse yra eilučių indeksai, surūšiuoti pagal nurodytą lauką, o ne pačios eilutės, dėl kurių greitai ieškoma reikiamos eilutės. Lentelėje gali būti keli tokie indeksai.

Stulpelių saugyklos indeksas- šio tipo indeksai yra paremti lentelės duomenų saugojimo ne eilučių, o stulpelių pavidalu (iš čia ir pavadinimas), lentelė gali turėti vieną stulpelių saugyklos indeksą.

Naudojant šio tipo indeksą, lentelė iš karto tampa tik skaitoma, kitaip tariant, nebebus galima pridėti ar keisti duomenų lentelėje, tam turėsite išjungti indeksą, pridėti / keisti duomenis, tada vėl įjunkite rodyklę.

Tokie indeksai tinka labai dideliam sandėliuose naudojamų duomenų rinkiniui.

Veiksmai, kuriuose naudojamos agregacinės funkcijos naudojant grupavimą, yra daug greitesnės (kelis kartus!) esant tokiam indeksui.

Stulpelių saugyklos indeksas pasiekiamas nuo SQL Server 2012 Enterprise, Developer ir Evaluation leidimuose.

Kūrimas

Klasterizuotas indeksas

KURTI KLASTERINĘ INDEKSĄ idx_clus_one ON test_table(id) GO

Kur CREATE CLUSTERED INDEX yra grupinio indekso kūrimo instrukcija, idx_clus_one yra indekso pavadinimas, test_table(id) yra atitinkamai lentelė ir rūšiavimo rakto laukas.

Neklasterinis indeksas

CREATE INDEX idx_no_clus ON test_table(summa) GO

Stulpelių saugyklos indeksas

CREATE stulpelių saugykla INDEX idx_columnstore ON test_table(date_create) GO

Išjungti

--disable ALTER INDEX idx_no_clus ON test_table DISABLE --įgalinti, atstatyti ALTER INDEX idx_no_clus ĮJUNGTI test_table REBUILD

Pašalinimas

DROP INDEX idx_no_clus ON test_table GO

Kursoriai

Žymeklis - tai tam tikras duomenų tipas, kuris daugiausia naudojamas procedūrose ir trigeriuose. Tai įprastas duomenų rinkinys, t.y. užklausos rezultatas.

Pavyzdys (visa tai nurodyta procedūros kode)

Kintamųjų deklaravimas DEKLARUOTI @id BIGINT DEKLARUOTI @fio VARCHAR(100) DEKLARUOTI @summa FLOAT --žymeklio deklaravimas DEKLARUOTI test_cur CURSOR FOR SELECT id, fio, summa FROM test_table --žymeklio atidarymas ATIDARYTI test_cur --nuskaityti pirmąją žymeklio eilutę --ir įrašykite juos į kintamuosius FETCH NEXT FROM FROM test_cur INTO @id, @fio, @summa -- paleiskite kilpą, kol baigsis žymeklio eilutės WHILE @@FETCH_STATUS = 0 BEGIN -- galime vykdyti sql instrukcijas kiekvienam ciklo iteracija -- .................SQL sakiniai .................. --perskaitykite kitą eilutę žymeklis ATGAUTI KITAS IŠ test_cur Į @id , @fio, @summa END -- uždaryti žymeklį UŽDARYTI test_cur ATŠAUKTI test_cur

Išsamiai kalbėjome apie žymeklius medžiagoje „Cursors and Loops in Transact-SQL“.

DML užklausos

DML (Duomenų manipuliavimo kalba) yra SQL sakiniai, kurie manipuliuoja duomenimis. Tai apima pasirinkimą, atnaujinimą, įterpimą, ištrynimą.

PASIRINKTI

Pavyzdys

SELECT * FROM test_table

ATNAUJINTI

Naudojamas duomenims atnaujinti

Pavyzdys

Visos lentelės eilutės bus atnaujintos UPDATE test_table SET summa=500 – bus atnaujintos tik eilutės, kurių ID didesnis nei 10, bus atnaujintos UPDATE test_table SET summa=100 WHERE id > 10

ĮDĖTI

Duomenų pridėjimo operatorius

Pridedama viena eilutė INSERT INTO test_table (fio, summa, data_create, comment) VALUES ("visas vardas", 100, "10/26/2014", "bandomasis įrašas") -- masinis papildymas pagal užklausą INSERT INTO test_table SELECT fio, suma, data_create , komentaras FROM test_table

IŠTRINTI

Naudodami šį operatorių galite ištrinti duomenis.

Pavyzdys

Visos lentelės išvalymas DELETE test_table -- ištrinamos tik eilutės, kurios atitinka sąlygą DELETE test_table WHERE suma > 100

Štai viskas, vadovas baigėsi! Tikiuosi, kad jis tau kažkaip padėjo. Sėkmės!

Struktūrinės užklausos kalba (struktūrinės užklausos kalba) arba SQL- yra deklaratyvi programavimo kalba, skirta naudoti kvazirelacinėse duomenų bazėse. Daugelį originalių SQL funkcijų perėmė kortelių skaičiavimai, tačiau naujausi SQL plėtiniai apima vis daugiau reliacinės algebros.
SQL iš pradžių sukūrė IBM, tačiau daugelis pardavėjų sukūrė savo dialektus. Jį kaip standartą priėmė Amerikos nacionalinis standartų institutas (ANSI) 1986 m., o ISO 1987 m. SQL programavimo kalbos standarte ANSI nurodė, kad oficialus SQL tarimas yra „es cue el“. Tačiau daugelis duomenų bazių specialistų naudojo „slengo“ tarimą „Sequel“, atspindintį pradinį kalbos pavadinimą „Sequel“, kuris vėliau buvo pakeistas dėl prekės ženklų ir pavadinimų konfliktų IBM. Programavimas pradedantiesiems.
SQL programavimo kalba buvo peržiūrėta 1992 m. ir ši versija žinoma kaip SQL-92. Tada 1999 buvo dar kartą peržiūrėtas ir tapo SQL: 1999 (AKA SQL3). Programavimas manekenams. SQL 1999 palaiko objektus, kurie anksčiau nebuvo palaikomi kitose versijose, tačiau tik 2001 m. pabaigoje tik kelios duomenų bazių valdymo sistemos palaikė SQL diegimą: 1999 m.
SQL, nors ir apibrėžiama kaip ANSI ir ISO, turi daug variantų ir plėtinių, kurių dauguma turi savo ypatybes, pavyzdžiui, „Oracle“ korporacijos „PL/SQL“ diegimas arba „Sybase“ ir „Microsoft“ diegimas, vadinamas „Transact-SQL“. gali suklaidinti vartotoją.programavimo pagrindai. Taip pat neretai pasitaiko atvejų, kai komerciniuose diegimuose nepalaikomos pagrindinės standarto funkcijos, pvz., duomenų tipai, pvz., data ir laikas, o kai kurios iš jų nepalaikomos. Dėl to, skirtingai nei ANSI C ar ANSI Fortran, kuriuos paprastai galima perkelti iš platformos į platformą be didelių struktūrinių pakeitimų, SQL programavimo kalbos užklausos retai gali būti perkeltos tarp skirtingų duomenų bazių sistemų be didelių pakeitimų. Dauguma duomenų bazių srityje dirbančių žmonių mano, kad šis sąveikos trūkumas yra tyčinis siekiant kiekvienam kūrėjui suteikti savo duomenų bazių valdymo sistemą ir susieti klientą su konkrečia duomenų baze.
Kaip rodo pavadinimas, SQL programavimo kalba sukurta tam tikram, ribotam tikslui – reliacinėje duomenų bazėje esančių duomenų užklausai. Iš esmės tai yra programavimo kalbos instrukcijų rinkinys, skirtas duomenų pavyzdžiams sudaryti, o ne procedūrinė kalba, pvz., C arba BASIC, kurios skirtos daug platesniam problemų spektrui išspręsti. Kalbos plėtiniai, tokie kaip „PL/SQL“, yra skirti pašalinti šį apribojimą, į SQL įtraukiant procedūrinių elementų, išlaikant SQL pranašumus. Kitas būdas yra leisti SQL užklausoms įterpti procedūrinės programavimo kalbos komandas ir sąveikauti su duomenų baze. Pavyzdžiui, „Oracle“ ir kiti palaiko „Java“ kalbą duomenų bazėje, o „PostgreSQL“ leidžia funkcijas rašyti Perl, Tcl arba C.
Vienas SQL pokštas: „SQL nėra nei struktūrizuota, nei kalba“. Pokšto esmė ta, kad SQL nėra Turingo kalba. .

Pasirinkite * iš T
C1 C2
1 a
2 b
C1 C2
1 a
2 b
Pasirinkite C1 iš T
C1
1
2
C1 C2
1 a
2 b
Pasirinkite * iš T, kur C1 = 1
C1 C2
1 a

Pateikus lentelę T, užklausoje Pasirinkti * iš T bus rodomi visi lentelės eilučių elementai.
Iš tos pačios lentelės užklausoje Pasirinkti C1 iš T bus rodomi visų lentelės eilučių C1 stulpelio elementai.
Iš tos pačios lentelės užklausa Select * iš T kur C1=1 parodys visus elementus iš visų eilučių, kuriose C1 stulpelio reikšmė yra "1".

SQL raktiniai žodžiai

SQL žodžiai yra suskirstyti į keletą grupių.

Pirmasis yra Duomenų manipuliavimo kalba arba DML(duomenų valdymo kalba). DML yra kalbos, naudojamos duomenų bazių užklausoms, duomenims pridėti, atnaujinti ir ištrinti, poaibis.

  • SELECT yra viena iš dažniausiai naudojamų DML komandų ir leidžia vartotojui nurodyti užklausą kaip norimo rezultato aprašymą kaip rinkinį. Užklausoje nenurodoma, kaip turi būti išdėstyti rezultatai – užklausos vertimas į formą, kurią galima atlikti duomenų bazėje, yra duomenų bazių sistemos, tiksliau užklausos optimizatoriaus, darbas.
  • INSERT naudojamas norint pridėti eilutes (formalų rinkinį) į esamą lentelę.
  • UPDATE naudojamas esamos lentelės eilutės duomenų reikšmėms pakeisti.
  • DELETE nurodo esamas eilutes, kurios turi būti pašalintos iš lentelės.

Galima sakyti, kad kiti trys raktiniai žodžiai patenka į DML grupę:

  • BEGIN WORK (arba START TRANSACTION, priklausomai nuo SQL kalbos dialekto) gali būti naudojamas norint pažymėti duomenų bazės operacijos pradžią, kuri bus vykdoma visiškai arba nevykdoma.
  • COMMIT nurodo, kad visi duomenų pakeitimai po operacijos yra išsaugomi.
  • ROLLBACK nurodo, kad visi duomenų pakeitimai nuo paskutinio įpareigojimo arba atšaukimo turi būti sunaikinti iki to momento, kai duomenų bazė buvo įtraukta į "atšaukimą".

COMMIT ir ROLLBACK naudojami tokiose srityse kaip operacijų valdymas ir užraktai. Abi instrukcijos užbaigia visas dabartines operacijas (duomenų bazės operacijų rinkinius) ir atleidžia visus užraktus keičiant duomenis lentelėse. BEGIN WORK ar panašaus teiginio buvimas ar nebuvimas priklauso nuo konkretaus SQL įgyvendinimo.

Antroji raktinių žodžių grupė nurodo grupę Duomenų apibrėžimo kalba arba DDL (duomenų apibrėžimo kalba). DDL leidžia vartotojui apibrėžti naujas lenteles ir susijusius elementus. Dauguma komercinių SQL duomenų bazių turi savo DDL plėtinius, kurie leidžia valdyti nestandartinius, bet dažniausiai gyvybiškai svarbius konkrečios sistemos elementus.
Pagrindiniai DDL punktai yra kūrimo ir trynimo komandos.

  • CREATE nurodo objektus (pvz., lenteles), kurie turi būti sukurti duomenų bazėje.
  • DROP nurodo, kurie esami objektai duomenų bazėje bus atmesti, paprastai visam laikui.
  • Kai kurios duomenų bazių sistemos taip pat palaiko komandą ALTER, kuri leidžia vartotojui įvairiais būdais modifikuoti esamą objektą, pavyzdžiui, pridėti stulpelių į esamą lentelę.

Trečioji SQL raktinių žodžių grupė yra Duomenų valdymo kalba arba DCL (duomenų valdymo kalba). DCL yra atsakingas už duomenų prieigos teises ir leidžia vartotojui kontroliuoti, kas turi prieigą prie duomenų bazės duomenų peržiūros ar manipuliavimo. Čia yra du pagrindiniai raktiniai žodžiai.

Jūsų dėmesiui pristatau nemokamą straipsnio SQL pradedantiesiems vertimą

Vis daugiau šiuolaikinių žiniatinklio programų sąveikauja su duomenų bazėmis, dažniausiai naudodamos kalbą SQL. Mūsų laimei, šią kalbą išmokti gana lengva. Šiame straipsnyje pradėsime mokytis SQL užklausų pagrindų ir jų sąveikos su duomenų baze. MySQL.

Ko tau reikia

SQL (struktūrinių užklausų kalba) yra kalba, skirta sąveikauti su reliacinėmis duomenų bazių valdymo sistemomis (DBVS), pvz. MySQL, Oracle, Sqlite ir kiti. Jei norite vykdyti šiame straipsnyje pateiktas SQL užklausas, manau, kad turite MySQL. Taip pat rekomenduoju naudoti phpMyAdmin kaip vaizdinis ekranas MySQL.

Šios programos palengvins diegimą MySQL ir phpMyAdminį savo kompiuterį:

  • WAMP, skirta „Windows“.
  • MAMP, skirtas Mac

Pradėkime vykdyti užklausas komandinėje eilutėje. WAMP jis jau yra konsolėje MySQL. Dėl MAMP jums gali tekti tai perskaityti.

KURTI DUOMENŲ BAZĘ: Sukurkite duomenų bazę

Mūsų pirmasis prašymas. Sukursime duomenų bazę, su kuria dirbsime.

Pirmiausia atidarykite konsolę MySQL ir prisijunk. Dėl WAMP, pagal numatytuosius nustatymus naudojamas tuščias slaptažodis. Dėl MAMP slaptažodis turi būti „root“.

Prisijungę įveskite šią užklausą ir spustelėkite Įeikite:

KURTI DUOMENŲ BAZĘ mano_pirmasis_db;

Atminkite, kad kabliataškis (;) pridedamas užklausos pabaigoje, kaip ir kodo eilutės pabaigoje.

Taip pat ir raktažodžiai KURTI DUOMENŲ BAZĘ didžiosios ir mažosios raidės neskiriamos, kaip ir visi raktiniai žodžiai SQL. Bet mes juos rašysime didžiosiomis raidėmis, kad būtų lengviau skaityti.

Pastaba: simbolių rinkinys ir lyginimo tvarka

Jei norite nustatyti numatytąjį simbolių rinkinį ir lyginimo tvarką, naudokite tokią užklausą:

KURTI DUOMENŲ BAZĘ my_first_db NUMATYTOJI CHARACTER SET UTf8 COLLATE utf8_general_ci;

Palaikomų simbolių rinkinių ir palyginimų sąrašą rasite adresu MySQL.

RODYTI DUOMENŲ BAZES: Visų duomenų bazių sąrašas

Ši užklausa naudojama visoms duomenų bazėms rodyti.

DROP DUOMENŲ BAZĖ: išmeskite duomenų bazę

Naudodami šią užklausą galite ištrinti esamą duomenų bazę.

Būkite atsargūs su šia užklausa, nes ji nespausdina jokių įspėjimų. Jei duomenų bazėje turite lentelių ir duomenų, užklausa juos visus išmes akimirksniu.

Techniniu požiūriu tai nėra prašymas. Tai yra „operatorius“, kurio pabaigoje nereikia rašyti kabliataškio.

Jis praneša MySQL kad reikia pasirinkti numatytąją duomenų bazę ir dirbti su ja iki seanso pabaigos. Dabar esame pasiruošę kurti lenteles ir likusią šios duomenų bazės dalį.

Kas yra duomenų bazės lentelė?

Duomenų bazės lentelę galite įsivaizduoti kaip įprastą lentelę arba kaip csv failą, kuriame yra struktūrinių duomenų.

Kaip ir šiame pavyzdyje, lentelėje yra eilučių pavadinimai ir duomenų stulpeliai. Naudodami SQL užklausas galime sukurti šią lentelę. Taip pat galime pridėti, skaityti, keisti ir ištrinti duomenis.

KURTI LENTELĘ: sukurkite lentelę

Su šia užklausa galime sukurti lentelę duomenų bazėje. Deja, dokumentacija MySQL nėra labai draugiškas naujiems vartotojams. Šios užklausos struktūra gali būti labai sudėtinga, bet pradėsime nuo paprastos.

Ši užklausa sukuria lentelę su dviem stulpeliais.

CREATE TABLE vartotojai (vartotojo vardas VARCHAR(20), kūrimo_data DATA);

Atminkite, kad užklausą galime parašyti keliose eilutėse ir naudoti Skirtukas atsitraukimui.

Su pirmąja eilute viskas paprasta. Sukuriame lentelę pavadinimu vartotojų. Be to, skliausteliuose lentelės stulpeliai pateikiami atskirti kableliais. Po kiekvieno stulpelio pavadinimo nurodomas duomenų tipas, pvz. VARCHAR arba DATA.

VARCHAR (20) reiškia, kad stulpelis yra eilutės tipo ir negali būti ilgesnis nei 20 simbolių. DATA- duomenų tipas, skirtas datoms saugoti tokiu formatu: "YYYY-MM-DD".

pirminis raktas

Prieš vykdydami šią užklausą, turime įterpti stulpelį Vartotojo ID, kuris bus PAGRINDINIS RAKTAS. Per daug nesigilindami, galite galvoti apie pirminį raktą kaip būdą atpažinti kiekvieną lentelės duomenų eilutę.

Prašymas tampa toks:

CREATE TABLE vartotojai (user_id INT AUTO_INCREMENT PRIMARY KEY, vartotojo vardas VARCHAR(20), kūrimo_data DATE);

INT- 32 bitų sveikųjų skaičių tipas (skaitinis). AUTO_INCREMENT automatiškai generuoja naują ID numerį kiekvieną kartą, kai pridedama duomenų eilutė. Tai nėra būtina, bet su juo patogiau.

Šis stulpelis gali būti ne sveikasis skaičius, nors tai yra labiausiai paplitęs duomenų tipas. Pirminio rakto stulpelis nebūtinas, bet rekomenduojamas siekiant pagerinti duomenų bazės našumą ir architektūrą.

Vykdykime užklausą:

RODYTI LENTELES: Visų lentelių sąrašas

Užklausa leidžia gauti visų dabartinės duomenų bazės lentelių sąrašą.

PAAIŠKINTI: Rodyti lentelės struktūrą

Naudokite šią užklausą esamos lentelės struktūrai peržiūrėti.

Dėl to rodomi laukai (stulpeliai) ir jų savybės.

NUMESTI STALIĄ: Numesk stalą

Kaip DROP DUOMENŲ BAZES, ši užklausa ištrina lentelę ir jos turinį be jokio įspėjimo.

ALTER TABLE: Keisti lentelę

Tokios užklausos struktūra gali būti sudėtinga, nes ji gali atlikti kelis lentelės pakeitimus. Pažvelkime į paprastus pavyzdžius.

Dėl skaitomumo SQL, šio prašymo paaiškinti nereikia.

Pašalinti taip pat paprasta. Naudokite prašymą atsargiai, duomenys ištrinami be įspėjimo.

Iš naujo pridėkite lauką paštu, jums jo prireiks vėliau:

ALTER TABLE vartotojai PRIDĖTI el. paštą VARCHAR(100) PO vartotojo vardo;

Kartais gali prireikti pakeisti stulpelio savybes, nebūtina jo ištrinti ir sukurti iš naujo.

Ši užklausa pervadina lauką Vartotojo vardas in Vartotojo vardas ir keičia jo tipą iš VARCHAR (20) ant VARCHAR (30). Tokie pakeitimai neturi įtakos lentelės duomenims.

INSERT: duomenų įtraukimas į lentelę

Į lentelę įtrauksime įrašus naudodami užklausas.

Kaip matai, VERTYBĖS () yra kableliais atskirtų reikšmių sąrašas. Eilučių reikšmės yra įtrauktos į atskiras kabutes. Reikšmės turi būti tokia tvarka, kokia buvo nurodyta kuriant lentelę.

Atminkite, kad pirmoji reikšmė yra NULL pirminiam raktui, kurio lauką pavadinome Vartotojo ID. Viskas, nes laukas pažymėtas kaip AUTO_INCREMENT ir ID generuojamas automatiškai. Pirmosios duomenų eilutės ID bus 1. Kitoje pridėtoje eilutėje bus 2 ir pan.

Alternatyvi sintaksė

Čia yra kita eilučių įterpimo sintaksė.

Šį kartą naudojome raktinį žodį NUSTATYTI vietoj VERTYBĖS. Atkreipkime dėmesį į keletą dalykų:

  • Stulpelį galima praleisti. Pavyzdžiui, laukui nepriskyrėme reikšmės Vartotojo ID nes jis pažymėtas kaip AUTO_INCREMENT. Jei laukui su tipu nepriskiriate reikšmės VARCHAR, tada pagal numatytuosius nustatymus ji paims tuščios eilutės reikšmę (jei kuriant lentelę nebuvo nustatyta kita numatytoji reikšmė).
  • Kiekvienas stulpelis gali būti vadinamas pavadinimu. Todėl laukai gali būti bet kokia tvarka, skirtingai nei ankstesnėje sintaksėje.

Alternatyvi sintaksės numeris 2

Štai dar vienas pavyzdys.

Kaip ir anksčiau, laukus galima pasiekti pagal pavadinimą, jie gali būti rodomi bet kokia tvarka.

Naudokite šią užklausą, kad gautumėte paskutinės įterptos eilutės ID.

DABAR ()

Atėjo laikas parodyti, kaip naudotis funkcijomis MySQL prašymuose.

Funkcija DABAR () grąžina dabartinę datą. Naudokite jį norėdami automatiškai pridėti dabartinę datą į lauką su tipu DATA.

Atkreipkite dėmesį, kad gavome įspėjimą iš MySQL, bet tai nėra taip svarbu. Priežastis ta funkcija DABAR () iš tikrųjų grąžina laiko informaciją.

Sukūrėme lauką sukūrimo_data, kuriame gali būti tik data, o ne laikas, todėl duomenys buvo sutrumpinti. Vietoj DABAR () galėtume pasinaudoti CURDATE (), kuris grąžina tik dabartinę datą, bet gautų tą patį rezultatą.

PASIRINKTI: duomenų gavimas iš lentelės

Akivaizdu, kad mūsų parašyti duomenys yra nenaudingi, kol negalime jų perskaityti. Prašymas ateina į pagalbą PASIRINKTI.

Paprasčiausias užklausos naudojimo pavyzdys PASIRINKTI Norėdami nuskaityti duomenis iš lentelės:

Žvaigždutė (*) reiškia, kad norime gauti visus lentelės stulpelius. Jei reikia gauti tik tam tikrus stulpelius, naudokite kažką panašaus į šį:

Dažniausiai norime gauti tik tam tikras eilutes, o ne visas. Pavyzdžiui, gaukime vartotojo el. pašto adresą nettuts.

Tai panašu į IF sąlygą. WHERE leidžia nustatyti užklausos sąlygą ir gauti norimą rezultatą.

Lygybės sąlygoje naudojamas vienas ženklas (=), o ne dvigubas ženklas (==), kurį galite naudoti programuodami.

Taip pat galite naudoti kitas sąlygas:

IR ir ARBA naudojami sąlygoms derinti:

Atminkite, kad skaitinių reikšmių nereikia rašyti kabutėse.

IN()

Naudojamas palyginimui su keliomis vertėmis.

KAIP

Leidžia nustatyti paieškos šabloną.

Procento ženklas (%) naudojamas modeliui nurodyti.

UŽSAKYTI PAGAL būklę

Naudokite šią sąlygą, jei norite, kad rezultatas būtų surūšiuotas:

Numatytoji tvarka yra ASC(Didėjantis). Papildyti DESC rūšiuoti atvirkštine tvarka.

LIMIT… OFFSET…

Galite apriboti grąžinamų eilučių skaičių.

2 RIBA užima pirmąsias dvi eilutes. 1 RIBO POSKAIS 2 užima vieną eilutę po pirmųjų dviejų. RIBA 2, 1 reiškia tą patį, tik pirmasis skaičius yra poslinkis, o antrasis riboja eilučių skaičių.

ATNAUJINIMAS: atnaujinkite duomenis lentelėje

Ši užklausa naudojama lentelės duomenims atnaujinti.

Daugeliu atvejų naudojamas kartu su KUR norėdami atnaujinti konkrečias eilutes. Jei sąlyga KUR nenustatyta, pakeitimai bus taikomi visoms eilutėms.

Norėdami apriboti eilutes, kurias galima keisti, galite naudoti LIMIT.

IŠTRINTI: ištrinti duomenis iš lentelės

Kaip , ši užklausa dažnai naudojama kartu su sąlyga KUR.

Sutrumpinta LENTELĖ

Norėdami pašalinti turinį iš lentelės, naudokite šią užklausą:

IŠtrinti iš vartotojų;

Norėdami pagerinti našumą, naudokite .

Taip pat iš naujo nustatykite lauko skaitiklį AUTO_INCREMENT, todėl naujai pridėtų eilučių ID bus lygus 1. Naudojant taip neatsitiks ir skaitiklis toliau augs.

Pabėgimas nuo eilučių verčių ir specialių žodžių

Eilučių reikšmės

Kai kuriuos simbolius reikia pabėgti, kitaip gali kilti problemų.

Pasvirasis brūkšnys (\) naudojamas pabėgimui.

Tai labai svarbu saugumo sumetimais. Bet kokie vartotojo duomenys turi būti pašalinti prieš įrašant juos į duomenų bazę. AT PHP naudokite funkciją mysql_real_escape_string() arba paruoštas užklausas.

Ypatingi žodžiai

Kadangi į MySQL daug santūrių žodžių kaip PASIRINKTI arba , kad išvengtumėte prieštaravimų, stulpelių ir lentelių pavadinimus rašykite kabutėse. Ir reikia naudoti ne įprastas kabutes, o varneles (`).

Tarkime, dėl kokių nors priežasčių norite pridėti stulpelį pavadinimu :

Išvada

Ačiū, kad perskaitėte straipsnį. Tikiuosi, kad man pavyko jums parodyti tą kalbą SQL labai funkcionalus ir lengvai išmokstamas.

Sveiki atvykę į mano tinklaraščio svetainę. Šiandien kalbėsime apie sql užklausas pradedantiesiems. Kai kuriems žiniatinklio valdytojams gali kilti klausimų. Kodėl mokytis sql? Negalite apsieiti?

Pasirodo, profesionaliam interneto projektui to nepakaks. Sql naudojamas darbui su duomenų baze ir „WordPress“ programoms kurti. Pažiūrėkime, kaip naudoti užklausas išsamiau.

Kas tai yra

SQL yra struktūrinių užklausų kalba. Sukurta siekiant nustatyti duomenų tipą, suteikti prieigą prie jų ir apdoroti informaciją per trumpą laiką. Jame aprašomi komponentai arba kai kurie rezultatai, kuriuos norite matyti interneto projekte.

Paprastai tariant, ši programavimo kalba leidžia pridėti, keisti, ieškoti ir rodyti informaciją duomenų bazėje. Mysql populiarumą lėmė tai, kad jis naudojamas kuriant dinamiškus interneto projektus, kurie yra pagrįsti duomenų baze. Todėl, norėdami sukurti funkcinį tinklaraštį, turite išmokti šią kalbą.

Ką gali padaryti

SQL kalba leidžia:

  • kurti lenteles;
  • keisti priimti ir saugoti skirtingus duomenis;
  • sujungti informaciją į blokus;
  • apsaugoti duomenis;
  • sukurti prieigos užklausas.

Svarbu! Susidūrę su sql, galite rašyti bet kokio sudėtingumo „WordPress“ programas.

Kokia struktūra

Duomenų bazė susideda iš lentelių, kurios gali būti pavaizduotos kaip Excel failas.

Ji turi pavadinimą, stulpelius ir eilutę su tam tikra informacija. Tokias lenteles galite sukurti naudodami sql užklausas.

Ką tu turi žinoti


Pagrindiniai taškai mokantis SQL

Kaip minėta pirmiau, užklausos naudojamos apdoroti ir įvesti naują informaciją į duomenų bazę, kurią sudaro lentelės. Kiekviena eilutė yra atskiras įrašas. Taigi sukurkime duomenų bazę. Norėdami tai padaryti, parašykite komandą:

Sukurti duomenų bazę 'bazaname'

Duomenų bazės pavadinimą kabutėse rašome lotyniškai. Pabandykite sugalvoti jai prasmingą vardą. Nekurkite duomenų bazės, tokios kaip „111“, „www“ ir panašiai.

Sukūrę duomenų bazę, įdiekite:

NUSTATYTI PAVADINIMUS „utf-8“

Tai būtina, kad svetainės turinys būtų rodomas teisingai.

Dabar mes sukuriame lentelę:

KURTI LENTELĘ 'bazaname' . "stalas" (

ID INT(8) NOT NULL AUTO_INCREMENT PIRMINIS RAKTAS,

žurnalas VARCHAR(10),

išlaikyti VARCHAR (10),

data DATE

Antroje eilutėje parašėme tris atributus. Pažiūrėkime, ką jie reiškia:

  • Atributas NOT NULL reiškia, kad langelis nebus tuščias (laukelis būtinas);
  • AUTO_INCREMENT reikšmė yra automatinis užbaigimas;
  • PIRMINIS RAKTAS yra pirminis raktas.

Kaip pridėti informaciją

Norėdami užpildyti sukurtos lentelės laukus reikšmėmis, naudojamas INSERT sakinys. Rašome šias kodo eilutes:

Įterpti į lentelę

(prisijungimas , leidimas , data) VERTYBĖS

('Vasa', '87654321', '2017-06-21 18:38:44');

Skliausteliuose nurodome stulpelių pavadinimus, o kitame – reikšmes.

Svarbu! Vadovaukitės stulpelių pavadinimų ir reikšmių seka.

Kaip atnaujinti informaciją

Tam naudojama komanda UPDATE. Pažiūrėkime, kaip pakeisti konkretaus vartotojo slaptažodį. Rašome šias kodo eilutes:

UPDATE „lentelė“ SET pass = „12345678“ WHERE id = „1“

Dabar pakeiskite slaptažodį į „12345678“. Pakeitimai įvyksta eilutėje su "id"=1. Jei neparašysite komandos WHERE, keisis visos eilutės, o ne konkreti.

Rekomenduoju įsigyti knygą SQL manekenams “. Jos pagalba galėsite profesionaliai dirbti su duomenų baze žingsnis po žingsnio. Visa informacija yra sukurta remiantis principu nuo paprastos iki sudėtingos ir bus gerai priimta.

Kaip ištrinti įrašą

Jei ką nors parašėte ne taip, pataisykite tai naudodami komandą DELETE. Veikia taip pat kaip UPDATE. Rašome šį kodą:

IŠTRINTI IŠ 'lentelės' WHERE id = '1'

Informacijos atranka

Komanda SELECT naudojama reikšmėms iš duomenų bazės nuskaityti. Rašome šį kodą:

SELECT * FROM 'lentelės' WHERE id = '1'

Šiame pavyzdyje mes pasirenkame visus galimus lentelės laukus. Taip atsitinka, jei komandoje įrašote žvaigždutę „*“. Jei reikia pasirinkti pavyzdinę vertę, rašykite taip:

PASIRINKTI žurnalą , pereiti IŠ lentelės WHERE id = '1'

Pažymėtina, kad gebėjimo dirbti su duomenų bazėmis nepakaks. Norėdami sukurti profesionalų interneto projektą, turėsite išmokti į puslapius įtraukti duomenis iš duomenų bazės. Norėdami tai padaryti, susipažinkite su php žiniatinklio programavimo kalba. Tai jums padės Šaunus Michailo Rusakovo kursas .


Lentelės ištrynimas

Atsiranda pateikus DROP užklausą. Norėdami tai padaryti, parašykite šias eilutes:

DROP TABLE stalas;

Įrašo išvedimas iš lentelės pagal tam tikrą sąlygą

Apsvarstykite šį kodą:

PASIRINKITE ID, šalį, miestą IŠ lentelės KUR žmonių>150000000

Jame bus rodomi šalių, kuriose gyventojų yra daugiau nei šimtas penkiasdešimt milijonų, įrašai.

Asociacija

Susieti kelias lenteles galima naudojant Join. Žiūrėkite, kaip tai veikia šiame vaizdo įraše:

PHP ir MySQL

Dar kartą noriu pabrėžti, kad užklausos kuriant interneto projektą yra įprastas dalykas. Norėdami juos naudoti php dokumentuose, vadovaukitės šiuo veiksmų algoritmu:

  • Prisijunkite prie duomenų bazės naudodami komandą mysql_connect();
  • Naudodami mysql_select_db() pasirinkite norimą duomenų bazę;
  • Užklausos apdorojimas mysql_fetch_array();
  • Uždarome ryšį su mysql_close() komanda.

Svarbu! Dirbti su duomenų baze nėra sunku. Svarbiausia teisingai parašyti prašymą.

Pradedantys žiniatinklio valdytojai pagalvos. O ką skaityti šia tema? Norėčiau rekomenduoti Martino Graberio knygą " SQL paprastiems mirtingiesiems “. Parašyta taip, kad pradedantieji viską suprastų. Naudokite jį kaip žinyną.

Bet tai yra teorija. Kaip tai veikia praktikoje? Tiesą sakant, interneto projektas turi būti ne tik sukurtas, bet ir įtrauktas į „Google“ ir „Yandex“ TOP. Vaizdo įrašų kursai padės jums tai padaryti Svetainės kūrimas ir reklama ».


Vaizdo instrukcija

Vis dar turite klausimų? Žiūrėkite daugiau internetinio vaizdo įrašo.

Išvada

Taigi, SQL užklausų rašymas nėra toks sudėtingas, kaip atrodo, bet bet kuris žiniatinklio valdytojas turi tai padaryti. Aukščiau aprašyti vaizdo kursai padės tai padaryti. Prenumeruok mano VKontakte grupė kad pirmieji sužinotų apie naują įdomią informaciją.