Programmēšana

SQL — īsa rokasgrāmata iesācējiem

2021. gada 30. oktobris

SQL nozīmē strukturēto vaicājumu valodu. Tā ir domēnam specifiska valoda, ko izmanto datu bāzē saglabāto datu izgūšanai. SQL apstrādā datus, kas tiek glabāti relāciju datu bāzes pārvaldības sistēma (RDBMS), t.i., dati, kas ietver attiecības starp entītijām un mainīgajiem. Strukturētā vaicājumu valoda ir saderīga ar visiem galvenajiem operētājsistēmas .

Agrāk datu manipulācijas tika veiktas, izmantojot ISAM (indeksētās secīgās piekļuves metode) un VSAM (virtuālās krātuves piekļuves metode) . Strukturētajai vaicājumu valodai ir vairāk priekšrocību nekā ISAM un VSM. Izmantojot vienu SQL komandu, varat izgūt vairākus ierakstus vai datus. Vēl viena priekšrocība ir tā, ka nav nepieciešams norādīt, kā sasniegt datus.

Satura rādītājs

Kas ir SQL?

SQL ir valoda datu bāzes izveidei, manipulēšanai un uzturēšanai. Tas palīdz arī ievietot datus, dzēst tos vai modificēt tos. Šī valoda ietver vairākas apakšvalodas, piemēram datu definīcijas valoda (DDL) , datu manipulācijas valoda (DML) , datu vaicājuma valoda (DQL) , un datu vadības valoda (DCL) .

SQL sastāv no datu vaicājuma, datu definīcijas, datu apstrādes un datu piekļuves kontroles. Datu vaicājums ir komanda, ko izmanto datu izgūšanai no datu bāzes. Datu definīcija ietver datu bāzes shēmas definēšanu, un datu manipulācijas ietver datu ievietošanu, atjaunināšanu un dzēšanu.

1986. gadā SQL kļuva par Amerikas Nacionālais standartu institūts (ANSI) standarta. Nākamajā gadā tas kļuva par Starptautiskā standartizācijas organizācija (ISO) standarta. 1970. gadā Donalds D. Čemberlins un Raimonds F. Boiss izstrādāja SQL uzņēmumā IBM.

Agrāk tā bija pazīstama kā SEQUEL (strukturētā angļu vaicājumu valoda). Tas bija īpaši izstrādāts IBM datu glabāšanai un izguvei. Ir dažādas SQL versijas, kas izlaistas 1989., 1992., 1996., 1999., 2003., 2006., 2008., 2011. un 2016. gadā.

SQL ir galvenā valoda visām relāciju datu bāzes pārvaldības sistēmām, piemēram, MySQL, Oracle, Sybase, SQL Server, MS Access, Postgres un Informix. Šī vaicājuma dialekta izmantošanai ir vairākas priekšrocības. SQL ļauj lietotājiem piekļūt informācijai no jebkuras relāciju datu bāzes pārvaldības sistēmas.

Lietotāji var definēt datus, modificēt tos vai dzēst datus, izmantojot SQL. Varat arī iegult šo dialektu jebkurā citā programmēšanas valodā, kur nepieciešama datu izguve. Tas ļauj lietotājiem ģenerēt un iestatīt atļaujas saglabātajām procedūrām, funkcijām un skatiem.

Tagad mēs zinām par SQL un tā vēsturi. Tagad pievērsīsimies relāciju datu bāzes pārvaldības sistēmai (RDBMS). PL/SQL, Procedūras valodas paplašinājums uz SQL , palīdz paplašināt SQL un nodrošina tai procesuālās iespējas

RDBMS datu bāzes

Mēs esam redzējuši, ka SQL izmanto daudzas RDBMS datu bāzes, piemēram, MySQL, SQL Server, Oracle, MS Access utt. Tāpēc šajā sadaļā mēs uzzināsim dažas RDBMS datu bāzes. Mēs redzēsim katras datu bāzes funkcijas, un tad varēsim atzīt atšķirību starp tām.

viens. MySQL:

Zviedrijas uzņēmums MySQL AB izstrādāja MySQL datu bāze, kas ir brīvi lietojama un atvērtā koda. MySQL ir saderīgs ar visām galvenajām sistēmām, piemēram, Microsoft Windows, Linux , Unix un macOS operētājsistēmas. Varat izmantot tā komerciālās vai nekomerciālās versijas. Saskaņā ar versijām jums tiek nodrošinātas funkcijas. Tas ietver izturīgu, ātrāku, daudzpavedienu un vairāku lietotāju datu bāzes serveri.

1994. gadā Maikls Videniuss un Deivids Aksmarks izstrādāja MySQL, un tas tiek izrunāts “mans ess-que-ell” kontekstā. 1995. gada 23. maijā tika palaists pirmais MySQL datu bāzes laidiens. Šī datubāze bija saderīga darbam ar Windows sistēmu 1998. gada 8. janvārī. Pirmo reizi tā tika izlaista operētājsistēmām Windows 95 un NT.

The MySQL versija 3.23: beta tika izlaista no 2000. gada jūnija līdz 2001. gada janvārim. Nākamā versija 4.0: beta tika izlaista no 2002. gada augusta līdz 2003. gada martam. No 2004. gada jūnija līdz 2004. gada oktobrim tika izlaista versija 4.1: beta. Šī versija 5.1: beta tika ražota no 2005. gada marta līdz 2005. gada oktobrim. Vēlāk, 2008. gadā, MySQL iegādājās Sun Microsystems, un pēc tam tika palaists jaunākā versija 5.2: beta.

Iespējas:

MySQL piedāvā augstu veiktspēju, augstu pieejamību un elastību, lai palaistu jebko. Tas arī atbalsta jaudīgus darījumus. Visi dati MySQL datubāzē ir aizsargāti un ļoti aizsargāti. Tas ir brīvi pieejams un atvērtā koda.

divi. Orākuls:

Orākuls ir viena no plaši izmantotajām relāciju datu bāzēm, kurā ir daudzlietotāju un lielas pārvaldības sistēmas. Oracle Corporation uzsāka Oracle relāciju datu bāzi. Šī DBVS ir vislabāk piemērota klienta/servera operācijām. Vairāki klienti var piekļūt datiem un sūtīt tos tīklā. Oracle ir saderīgs ar klientu un serveru sistēmām, piemēram, UNIX, UnixWare, OS/2, NetWare un MSDOS.

Lerijs Elisons, Eds Oatess un Bobs Miners 1977. gadā izstrādāja Oracle datubāzi un izveidoja Programmatūras izstrādes laboratorijas. 1979. gadā nākamo divu gadu laikā tika izlaista 2.0 Oracle versija, pirmā komerciālā Oracle versija. Viņi mainīja nosaukumu Software Development Laboratories uz Relational Software Inc. (RSI). Vēlāk šo organizāciju 1982. gadā nosauca par Oracle Corporation. Nākamā versija 3.0 tika izlaista 1983. gadā C valodā. Oracle versija 4.0, kas izstrādāta 1984. gadā, ietver papildu funkcijas, piemēram, vairāku versiju lasīšanas konsekvenci, vienlaicīguma kontroli utt. Oracle 11g, jaunākā versija, tika izlaista 2007. gadā.

Oracle relāciju datu bāzē ir iekļauti uzlaboti līdzekļi, piemēram, vienlaicīgums, bloķēšanas mehānisms, SQL Plus, resursu pārvaldnieks, datu ieguve, sadalīšana, datu glabāšana, paralēla izpilde utt.

3. MS SQL serveris:

Microsoft relāciju datu bāze ir MS SQL serveris . Šīs datu bāzes galvenais mērķis ir saglabāt un izgūt datus datu bāzē. Tas ir saderīgs ar Microsoft Windows, Linux un Windows Server operētājsistēmas. MS SQL Server ļauj jebkurai programmatūras lietojumprogrammai, kas atrodas tajā pašā datorā vai citā datorā, vai visā tīklā, lai izgūtu datus. Tas izmanto ANSI SQL un T-SQL datu bāzes valodas.

Sākotnēji, 1987. gadā, SQL Server UNIX sistēmām izstrādāja Sybase. Nākamajā gadā Microsoft, Aston-Tate un Sybase izlaida SQL Server 1.0 operētājsistēmai OS/2. Operētājsistēmas Windows 3.0 lietotājiem SQL Server versija 1.1 tika izlaista 1990. gadā. Vēlāk Aston-Tate pameta organizāciju, un Micorosft 2000. gadā izlaida SQL Server 2000. Nākamajā gadā šai datubāzei tika izstrādāts XML. SQLXML 2.0 izstrādāts 2002. gadā un vēlāk izdots SQLXML 3.0. Jaunākā versija SQL Server 2005 tika izstrādāta 2005. gada 7. novembrī.

MS SQL Server piedāvā datu bāzes spoguļošanu, DDL aktivizētājus, netraucētu XML integrāciju, datu bāzes pastu, augstu veiktspēju un augstu pieejamību.

Četri. MS Access:

Vēl viena populāra relāciju datu bāze ir MS Access. Tāpat kā iepriekš minētā datu bāze, arī MS Access ir Microsoft produkts. Šī DBVS tiek izmantota maziem uzņēmumiem un ir ārkārtīgi lēta. Tas ietver Jet datu bāzes dzinēju. Šo dzinēju sauc arī par Jet SQL, jo tas izmanto SQL valodu.

1992. gadā tika izstrādāta pirmā MS Access versija 1.0. Nākamajā gadā tas tika izstrādāts ar Access Basic programmēšanas valodu, lai uzlabotu saderību. Vēlāk tika palaists Access 2007, kurā tika izmantots ACCDB formāts. Šī MS Access versija ir uzlabota un ietver sarežģītus datu tipus un daudzvērtīgus laukus.

MS Access izmanto makro savienotajām tabulām, veidlapām, pārskatiem un vaicājumiem. Izmantojot šo sistēmu, varat eksportēt un importēt savus datus vairākos formātos, piemēram, ASCII, Oracle, ODBC, SQL Server utt. Jet formātā lietojumprogramma un tās dati tiek turēti vienā failā. Tāpēc jebkuras lietojumprogrammas kopīgošana ir vienkārša. Tā neatbalsta datu bāzes aktivizētājus, saglabātās procedūras un darījumu reģistrēšanu, jo tā ir uz failu servera balstīta sistēma.

Kas ir RDBMS?

Gandrīz visas pašreizējās datu bāzes sistēmas, piemēram, SQL, Oracle, MySQL, Microsoft Access utt., izmanto relāciju datu bāzes pārvaldības sistēmu. Šī datu bāzes sistēma ir balstīta uz relāciju modeli. E. F. Kods ierosināja relāciju datu bāzes pārvaldības sistēmu. Ir daži RDBVS elementi, kas jums jāzina, pirms mēs virzāmies uz SQL. Tālāk apspriedīsim katru aspektu.

viens. Tabula:

RDBMS dati tiek glabāti tabulas veidā. Šo tabulu sauc par objektu. To sauc arī par a attiecības . Tabulā RDBMS ir rindas un kolonnas. Katrai tabulai RDBMS ir noteikts tabulas nosaukums. Tabula tiek uzskatīta par vienkāršāko datu uzglabāšanas formu.

Apskatīsim tabulu ar tabulas nosaukumu “Students”. Studenta tabulā tiks saglabāta informācija par studentu, piemēram, vārds, uzvārds, vecums, studenta_ID un pilsēta.

VārdsVecumsStudenta_IDPilsēta
Stīvs231092Ņujorka
Olivers241093Eņģeļi
Robertsdivdesmitviens1094Čikāga
Marija251095Kalifornija
Dženifera231096Ņujorka
Džeimss221097Vašingtona DC
Džonsdivdesmitviens1098Kalifornija
Džonijs241099Čikāga

Iepriekšējā tabulā sniegta informācija par studentiem.

divi. Lauks:

Nākamais RDBMS elements ir lauks. Lauks ir tabulas mazākā vienība. Piemēram, iepriekšējā tabulā ir lauki “Students”, Vārds, Vecums, Studenta_ID un Pilsēta. Tāpēc katra tabulas kolonna ir lauks, kurā tiek glabāta konkrētā informācija vai ieraksts.

3. Rinda:

Rinda tiek saukta arī par ierakstu. Ieraksts vai rinda satur informāciju par konkrēto entītiju. Iepriekš esošajā tabulā “Students” ir astoņas dažādas rindas vai ieraksti. Citiem vārdiem sakot, iepriekšējā tabulā ir dati par astoņiem dažādiem studentiem. Viena horizontāla entītija ir rinda vai ieraksts. Tālāk ir norādīta rinda vai ieraksts no tabulas “Students”.

|_+_|

Četri. Sleja:

Mēs esam redzējuši, ka rinda ir horizontāla vienība. Atšķirībā no rindas kolonna ir vertikāla vienība. Kolonnā ir visi ar lauku saistītie dati. Tabulā “Students” ir lauki Vārds, uzvārds, Vecums, Studenta_ID un Pilsēta. Tāpēc kolonnā ar lauku “Vārds” ir iekļauti skolēnu vārdi. Šī kolonna ir attēlota šādi:

|_+_|

5. NULL:

Ja noteiktā laukā nav datu vai laukā ir tukša vieta, šāda vērtība ir NULL vērtība. NULL vērtība nav tāda pati kā nulle. Veidojot ierakstu, tas tiek atstāts tukšs.

SQL pamati

Šajā segmentā mēs apgūsim visus SQL pamatus, piemēram, sintaksi, vaicājumu apstrādi, ierobežojumus, komandas un datu bāzes normalizēšanu.

SQL sintakse

SQL vaicājums satur vairākus elementus datu izgūšanai no datu bāzes. Tālāk ir norādīti vaicājumā iesaistītie komponenti.

    Klauzulas:

Klauzulas ir neobligātā vaicājuma daļa. Tie ir vaicājuma elementi. Piemēram, klauzulas ir UPDATE, SET, WHERE utt.

    Izteicieni:

Izteiksmes vaicājumā rada datus tabulas veidā, kurā ir rindas un kolonnas. Rinda tiek saukta par 'korpusi', bet kolonna tiek saukta par 'atribūtu'.

    Predikāti:

Predikāti ir nosacījumi, kas rada trīsvērtību loģiku (True/False/Unknown).

    Vaicājumi:

Vaicājumi iegūst nepieciešamos datus no datu bāzes, izmantojot nosacījumus.

    Paziņojumi:

Paziņojumi kontrolē programmas plūsmu, darījumus, savienojumus utt. Tas var ietvert arī semikolu ';.'.

    Nenozīmīgas atstarpes:

Nevēlamas atstarpes SQL vaicājumā netiek ņemtas vērā, padarot to saprotamāku un lasāmāku.

Šeit mēs redzēsim nelielus piemērus, izmantojot trīs klauzulas, atjaunināšanu, iestatīšanu un vietu.

  1. ATJAUNINĀT vecumu;

Iepriekš minētais vaicājums atjaunina vecuma atribūtu.

  1. SET vecums = vecums+2;

Iepriekš minētais ietver izteicienu “vecums+2”, kas palielina vecumu par diviem, un rezultāts tiek piešķirts vecumam.

  1. WHERE emp_name = 'Jānis';

Šeit “emp_name = “Jānis” ir predikāts, bet “Jānis” ir izteiksme.

Vaicājumu apstrāde

SQL vaicājumi tiek apstrādāti, lai pārvērstu tos zema līmeņa izteiksmēs, kas ir saprotamas datoriem. Jebkura vaicājuma apstrāde ietver vairākus komponentus, piemēram, parsētāju, tulkotāju, evolūcijas programmu, datu bāzi utt. Augsta līmeņa vaicājums tiek pārveidots par izteiksmēm, kas ir saderīgas ar failu sistēmas fizisko līmeni. Tālāk ir parādīta diagramma, kas parāda, kā vaicājums tiek apstrādāts un optimizēts, lai to ieviestu fiziskajā līmenī.

img 617dd1be21877

Pirmkārt, augsta līmeņa vaicājums tiek pārveidots par saprotamu izteiksmi, t.i., algebrisko izteiksmi. Šīs konvertēšanas laikā vaicājums iziet vairākas fāzes, kā parādīts iepriekš redzamajā diagrammā. Pirmajā posmā parsētājs pārbauda vaicājuma sintaksi un novēro, vai iesaistītā relācija un atribūti ir pareizi. Tulkotājs pārveido vaicājumu iekšējā attēlojumā, kas tiek nodots optimizētājam.

Vaicājuma optimizētājs pārvērš vaicājuma iekšējo attēlojumu izteiksmēs, kuras var izpildīt. Šīs izteiksmes pēc tam izpilda DBVS dzinējs vai vaicājumu novērtēšanas dzinējs. DBVS dzinēja rezultāts tiek piešķirts datu bāzes fiziskajam līmenim.

SQL klauzulas

SQL klauzula ir vaicājuma sastāvdaļa. SQL ir vairākas klauzulas. Apskatīsim katru klauzulu sīkāk ar tālāk norādīto sintaksi.

    SELECT klauzula:

Ja vēlaties izgūt datus no norādītajām kolonnām vai rindām, varat izmantot klauzulu SELECT. Tā var arī izgūt datus no vairāku tabulu vai skatu rindām. Izvēles priekšraksta rezultātu kopa ir arī tabula.

Sintakse:

|_+_|
    DISTINCT klauzula:

DISTINCT klauzula tiek izmantota kopā ar klauzulu SELECT. Tas atgriež unikālas un atšķirīgas vērtības. Rezultātu kopā nav vērtību dublikātu.

Sintakse:

|_+_|
    WHERE klauzula:

Klauzula Kur tiek izmantota, lai norādītu datu izguves nosacījumu. Tas parāda vienīgās rindas, kuras ir norādītas nosacījumā.

Sintakse:

|_+_|
    GROUP BY klauzula:

Šī klauzula grupē rindas, kurām ir līdzīgas vērtības, vienā rezultātu kopā. Klauzula GROUP BY vienmēr tiek izmantota vaicājumā ar tādām funkcijām kā SUM, MAX, MIN, COUNT un AVG.

Sintakse:

|_+_|
    SAKĀRTOT PĒC:

Ja ir nepieciešams kārtot rezultātu augošā vai dilstošā secībā, varat izmantot priekšrakstu ORDER BY. Pēc noklusējuma šis paziņojums sakārto rezultātu augošā secībā. Ja vēlaties sakārtot rezultātu kopu dilstošā secībā, vaicājumā varat norādīt ‘desc’.

Sintakse:

|_+_|
    IR:

Atslēgvārda HAVING galvenais mērķis ir tas, ka tas tiek izmantots tikai ar apkopotām funkcijām, piemēram, SUM, MIN, MAX, COUNT un AVG. Atslēgvārds WHERE nav saderīgs ar apkopotajām funkcijām.

Sintakse:

|_+_|

Komandas SQL

SQL komandas ir iedalītas piecos dažādos veidos: DDL, DML, DQL, TCL un DCL. Tālāk mēs sīkāk uzzināsim katru no šiem trim veidiem.

    DDL:

Datu definīcijas valoda sastāv no četrām SQL komandām izveidot, mainīt, saīsināt un nomest. Šīs komandas tiek izmantotas, lai mainītu tabulas struktūru. Tās visas ir automātiski veiktas, t.i., tabulas struktūrā veiktās izmaiņas tiek saglabātas neatgriezeniski.

Tabulas izveides priekšraksts tiek izmantots, lai izveidotu jaunu tabulu, tabulas skatu vai jebkuru citu objektu datu bāzē.

Sintakse:

|_+_|

Piemērs:

|_+_|

Cita komanda alter tiek izmantota, lai modificētu vai veiktu izmaiņas esošajā skatā vai tabulā. Izmantojot komandu alter, tabulai var pievienot jaunu kolonnu vai mainīt konkrētas tabulas esošo kolonnu.

Sintakse:

|_+_|

Piemērs:

|_+_|

Saīsināt DDL komanda izdzēš visas tabulas rindas. Ņemiet vērā, ka tas neizdzēš tabulu.

Sintakse:

|_+_|

Piemērs:

|_+_|

Visbeidzot, nomešanas komanda izdzēš tabulu vai skatu. Tas pilnībā izdzēš tabulas struktūru un tabulā saglabātos datus.

Sintakse:

|_+_|

Piemērs:

|_+_|
    DML:

Datu apstrādes valoda ietver trīs komandas: ievietošana, dzēšana un atjaunināšana. Šīs komandas modificē tabulas datus. Atšķirībā no DDL komandām, DML komandas netiek automātiski izpildītas. Kad izmantojat kādu no trim komandām, jums ir jāizmanto atslēgvārds “commit”, lai izmaiņas saglabātu neatgriezeniski.

Komanda INSERT ievieto datus tabulā. Ikreiz, kad tabulai tiek pievienoti jauni dati, korešu skaits tiek palielināts.

Sintakse:

|_+_|

Or

|_+_|

Piemērs:

|_+_|

Nākamais ir atjaunināšanas paziņojums. Šis paziņojums atjaunina vai maina viena atribūta esošo vērtību.

Sintakse:

|_+_|

Piemērs:

|_+_|

Visbeidzot, dzēšanas paziņojums no tabulas izdzēš noteiktas rindas.

Sintakse:

|_+_|

Piemērs:

|_+_|
    DCL:

SQL mēs piešķiram noteiktas pilnvaras vai tiesības cilvēkiem manipulēt ar datiem, piekļūt tiem vai dzēst tos no datu bāzes. Mēs varam piešķirt un pieņemt pilnvaras, izmantojot komandas GRANT un REVOKE.

Paziņojums GRANT tiek izmantots, lai piešķirtu tiesības piekļūt datu bāzei. Lietotāji var piekļūt datubāzei, ja viņiem ir piešķirta atļauja.

Sintakse:

|_+_|

Paziņojums REVOKE ir pretējs paziņojumam GRANT. Tas atņem visas lietotāja privilēģijas piekļūt datu bāzei .

|_+_|
    DQL:

Datu vaicājuma valodā ir tikai viena komanda SELECT. Šo komandu izmanto, lai tabulā atlasītu konkrētus atribūtus. Tas atlasa atribūtus atkarībā no norādītā WHERE nosacījuma.

Sintakse:

|_+_|

Piemērs:

|_+_|
    TCL:

Darījumu kontroles valoda ietver trīs komandas: commit, rollback un savepoint. TCL priekšrakstus var izmantot tikai ar DML komandām. Tos nevar izmantot ar DDL priekšrakstiem, jo ​​tie automātiski neatgriezeniski saglabā izmaiņas datu bāzē.

Saistību paziņojums saglabā visas izmaiņas, kas pastāvīgi veiktas tabulā datubāzē.

Sintakse:

|_+_|

Piemērs:

|_+_|

Ja vēlaties atsaukt jebkuru iepriekšējo transakciju, kas nav veikta datu bāzē, var izpildīt atcelšanas paziņojumu.

Sintakse:

|_+_|

Piemērs:

|_+_|

Visbeidzot, SAVEPOINT paziņojums veic efektīvu darījumu atcelšanu. Tas atgriež konkrēto darījumu līdz vajadzīgajam punktam, un nav nepieciešams atsaukt visu darījumu.

Sintakse:

|_+_|

Datu ticamība

Datu integritāte datu bāzē nozīmē precizitāti un atlaišanu. Datu bāzē esošajiem datiem jābūt precīziem un neatkārtotiem. Šiem nolūkiem mēs izmantojam ierobežojumus. Parasti ierobežojums nozīmē ierobežojumus vai ierobežojumus. SQL valodā ierobežojums nozīmē noteikumus vai noteikumus tabulas kolonnās. Citiem vārdiem sakot, ierobežojumi nosaka, kādi dati jāpievieno tabulai. Ierobežojumu piemērošana datu kolonnai nodrošina uzticamība un datu pareizību.

SQL

Iepriekš redzamā diagramma ilustrē dažādus ierobežojumus, kas ir sagrupēti trīs kategorijās: entītijas integritāte, atsauces integritāte un domēna integritāte.

Varat piemērot ierobežojumus tabulas kolonnām vai tieši tabulai. Ja vēlaties kolonnām piemērot ierobežojumus, tos sauc par kolonnu līmeņa ierobežojumiem. Kolonnas līmeņa ierobežojumus varat lietot vienai vai divām kolonnām. Un ierobežojumu izmantošanu visai tabulai sauc par tabulas līmeņa ierobežojumiem. Lietojot tabulas līmeņa ierobežojumus, tie tiek piemēroti visām tabulas kolonnām.

Ļaujiet mums uzzināt visas iepriekš minētās trīs datu integritātes kategorijas.

    Vienības integritāte:

Entītijas integritātē katrs tabulas bloks tiek identificēts unikāli, izmantojot tālāk norādītos trīs ierobežojumus.

  • NOT NULL Ierobežojums: tas nodrošina, ka tabulā vai kolonnā nav NULL vērtības.
  • UNIKĀLS ierobežojums: šis noteikums nosaka, ka tabulas kolonnai būs unikālas vērtības. Neviena vērtība kolonnā netiks atkārtota.
  • PRIMĀRĀ atslēga: Lietojot šo ierobežojumu jebkurai tabulas kolonnai, šī kolonna unikāli identificēs katru tabulas rindu vai virkni.
    Atsauces integritāte:

Ja datu bāzē vēlaties saistīt divas dažādas tabulas, varat izmantot atsauces integritāti.

  • SVEŠĀ atslēga: tā unikāli identificēs citas tabulas rindu vai kopu. Vienas tabulas primārajai atslēgai ir jābūt kā atribūtam otrā tabulā. Šāds atribūts tiek saukts par SVEŠANU atslēgu.
    Domēna integritāte:

Domēna integritāte tiek izmantota, lai nodrošinātu, ka visas vērtības tabulā atbilst definētajiem noteikumiem.

  • NOKLUSĒJUMA ierobežojums: tas piešķir kolonnai noklusējuma vērtību, ja konkrētā vērtība nav norādīta.
  • PĀRBAUDĪT ierobežojumus: ja vēlaties pārbaudīt, vai visas kolonnas vērtības atbilst norādītajam nosacījumam, varat piemērot ierobežojumu CHECK.

INDEKSS: ja vēlaties iegūt vai izveidot datu bāzes datus, varat izmantot INDEX.

Datu bāzes normalizēšana

Datu bāzes normalizācija ir datu bāzē esošo datu organizēšanas process labi strukturētā formātā. Ir dažādas parastās formas datu bāzes normalizācija , kas palīdz novērst dublēšanos un uzlabot datu integritāti. E. F. Kods ierosināja datu bāzes normalizācijas koncepciju. Datu bāzes normalizēšanai ir divi galvenie iemesli.

  • Atkārtotu datu noņemšana no datu bāzes.
  • Nodrošinot, ka visas datu atkarības ir pareizas un saprātīgas.

Lieku datu noņemšana palīdzēs atbrīvot vietu diskā. Izmantojot datu bāzes normalizēšanu, jūs varat izveidot labu datu bāzi un loģiski saglabāt tajā esošos datus. Datu bāzes normalizēšanā ir dažādas parastās formas, kas palīdz izveidot labi strukturētu datu bāzi. Šīs parastās formas ir norādītas zemāk:

  • Pirmā normālā forma
  • Otrā parastā forma
  • Trešā parastā forma
  • Boisa Koda parastā forma
  • Ceturtā parastā forma
  • Piektā parastā forma

SQL datu tipi

SQL datu tips nosaka izmantojamo datu veidu. SQL ir seši dažādi datu veidi: ciparu, datums un laiks, rakstzīme un virkne, unikoda rakstzīme, binārais un dažādi. Šie datu tipi tiek izmantoti, veidojot tabulu datu bāzē. Katra kolonna ir piešķirta datu tipam, un tajā jāietver tikai norādītā tipa dati.

Katra relāciju datu bāze neatbalsta visus SQL datu tipus. Oracle relāciju datu bāze neatbalsta datu tipu DATETIME, un MySQL datu bāze neatbalsta CLOB datu tipu. Ir dažas specifiskas datu bāzes, kurām ir papildus atsevišķi datu tipi. Programmā Microsoft SQL Server citi datu veidi ir “nauda” un “maznauda”. Tālāk apspriedīsim katru datu veidu.

viens. Skaitliskais datu tips

SQL ir vienpadsmit dažādi ciparu datu veidi, kas ir iedalīti divās grupās. Pirmajā grupā ir precīzi skaitļu datu tipi, bet otrajā ir aptuveni skaitlisku datu tipi. Precīzi ciparu datu veidi ietver bigint, int, smallint, tinyint, decimāldaļu, naudu, skaitlisku, mazo naudu un bitu. Un aptuvenie skaitliskie datu veidi ietver peldošos un reālos. Tālāk esošajās tabulās ir parādītas precīzu un aptuvenu datu tipu diapazona vērtības.

Precīzi datu veidi

Datu tips No Uz Uzglabāšana
mazliet0viens
bigint-9,223,372,036,854,775,8089,223,372,036,854,775,8078 baiti
tinyint02551 baits
maza nauda-214 748 3648+214 748 36474 baiti
naudu-922,337,203,685,477,5808+922 337 203 685 477 58078 baiti
smallint-32 76832 7672 baiti
starpt-2 147 483 6482 147 483 6474 baiti
ciparu-10^38 +110^38-15-17 baiti
decimālzīme-10^38 +110^38-15-17 baiti

Aptuvenie datu veidi

Datu tips No Uz Uzglabāšana
īsts-3,40E + 383,40E + 384 vai 8 baiti
peldēt-1,79E + 3081,79E + 3084 baiti

divi. Datums un laiks

Datuma un laika datu tipam ir četri dažādi datu veidi: datetime, date, time un smalldatetime. Ļaujiet mums uzzināt katra datuma un laika datu veida diapazona vērtības.

Datu tips No Uz Uzglabāšana
mazs datuma laiks1900. gada 1. janvāris2079. gada 6. jūnijs4 baiti
datums Laiks1753. gada 1. janvāris9999. gada 31. decembris8 baiti
datums un laiks20001. gada 1. janvāris9999. gada 31. decembris6-8 baiti
datumsŠis datu tips saglabā datumu 1991. gada 30. jūnija formā.3 baiti
laiksŠis datu veids saglabā laiku formā 12:30.3-5 baiti

3. Rakstzīme un virkne

Rakstzīmju un virkņu datu tips tiek izmantots alfabētu un vārdu ievietošanai. Ir četri atšķirīgi rakstzīmju un virkņu datu veidi, kā norādīts tālāk.

    char

Char datu tipam ir fiksēts garums, un tā maksimālais lielums ir 8000 rakstzīmes.

    varchar

Šis datu tips ir mainīga garuma, un tā maksimālais lieluma ierobežojums ir 8000 rakstzīmes.

    tekstu

Teksta datu tipam ir mainīgs garums, un maksimālais lieluma ierobežojums ir līdz 2 147 483 647 rakstzīmēm.

    varchar (maks.)

Šim datu tipam ir arī mainīgs garums, un tā maksimālā izmēra ierobežojums ir 2E + 31.

Visi iepriekš minētie datu tipi nav unikoda dati.

Četri. Binārs:

SQL ir četri binārie datu tipi: binārais, varbinārais, varbinārais (max) un attēls. Tālāk ir sniegts īss apraksts par katru no šiem datu veidiem.

    binārs

Šim datu tipam ir fiksēts garums, un tā maksimālais garuma ierobežojums ir 8000 baiti.

    varbinārs

varbinārs ir vēl viens bināro datu tips, kam ir mainīgs garums. Tā maksimālais lieluma ierobežojums ir 8000 baiti.

    varbinārs (maks.)

Tāpat kā varbinary, varbinary(max) ir arī mainīga garuma datu tips, kura maksimālais lieluma ierobežojums ir 2E + 31 baits. To izmanto tikai SQL Server 2005.

    attēlu

attēls ir arī mainīga garuma bināri dati ar maksimālo ierobežojumu 2 147 483 647 baiti.

5. Unikoda datu tips

Šai grupai ir arī četri atšķirīgi datu tipi: nchar, nvarchar, nvarchar(max) un ntext.

    nchar

nchar ir fiksēta garuma unikoda datu tips, kura maksimālais garums ir 4000 baiti.

    nvarchar

Atšķirībā no nchar, nvarchar ir mainīga garuma unikods ar maksimālo lieluma ierobežojumu 4000 baiti.

    nvarchar (maks.)

nvarchar(max) ir saderīgs tikai ar SQL Server 2005 datu bāzi. Tā maksimālā izmēra ierobežojums ir 2E + 31, un tam ir mainīgs garums.

    ntext

ntext ir mainīga garuma unikods, kura maksimālais garums ir 1 073 741 823 baiti.

6. Dažādi

Tālāk ir norādīti datu tipi, kas ietilpst grupā Dažādi.

    sql_variant: tajā ir visu SQL Server datu bāzes atbalstīto datu tipu vērtības, izņemot laikspiedolu, tekstu un ntekstu.unikālais identifikators: šim datu tipam ir GUID — globāli unikāls identifikators.kursors: tas attiecas uz kursora objektu.laika zīmogs: tas ir unikāls numurs, kas tiek mainīts ikreiz, kad tiek mainīta kāda datubāzes rinda.xml: To atbalsta SQL Server 2005, un tajā ir xml dati.tabula: tajā ir rezultātu kopa, kas tiek izmantota turpmākiem mērķiem.

SQL operatori

Operatori ir rezervētie vārdi vai rakstzīmes. Tie ir paredzēti noteiktu darbību veikšanai. Parasti nosacījumu WHERE klauzulā tiek izmantots operators. Operators var būt aritmētisks, loģisks vai salīdzinošs. Varat arī izmantot operatoru, lai vienā priekšrakstā apvienotu divus nosacījumus. SQL ir trīs dažādi operatoru veidi: aritmētiskie, salīdzināšanas un loģiskie operatori.

viens. Aritmētiskie operatori

Aritmētiskais operators var veikt aritmētiskas darbības, piemēram, saskaitīšanu, atņemšanu, reizināšanu, moduli un dalīšanu. Ņemsim par vienu mainīgo “a, kura vērtība ir 15” un kā citu mainīgo “b, kura vērtība ir 30”. Tālāk mēs redzēsim katra aritmētiskā operatora piemēru.

Operators Apraksts Piemērs
+Operators “+” veic divu mainīgo pievienošanu.a+b=15+30=45
Operators ‘-’ atņem labo mainīgo no kreisā mainīgā.a-b =15-30=-15
%“%” rada rezultāta atlikumu, ja kreiso mainīgo dala ar labo mainīgo.b/a=30%15=0
/“/” veic dalīšanu. Kreisā mainīgā vērtība tiek dalīta ar labā mainīgā vērtību.b/a =30/15=2
*“*” reizina divus mainīgos.a*b=15*30=450

divi. Loģiskie operatori

Šeit mēs redzēsim visus SQL izmantotos loģiskos operatorus ar to īsiem aprakstiem.

  • UN: UN izmanto vairāku nosacījumu apvienošanai vienā SQL priekšrakstā.
  • BETWEEN: Šis operators tiek izmantots, lai norādītu vērtību diapazonu. Varat iestatīt minimālo un maksimālo vērtību, izmantojot atslēgvārdu BETWEEN.
  • IN: lietojot IN atslēgvārdu, tā salīdzina vienu vērtību ar visām pārējām literālajām vērtībām, kas atrodas norādītajā sarakstā.
  • NAV: šis operators tiek izmantots kopā ar citiem loģiskajiem operatoriem, piemēram, EXISTS, BETWEEN. Piemēram, var pieteikties NOT EXISTS, NOT BETWEEN, NOT IN utt.
  • IS NULL: ja vēlaties salīdzināt jebkuru vērtību ar NULL vērtību, varat izmantot IS NULL.
  • ALL: šo operatoru izmanto, lai salīdzinātu vienas kopas vērtību ar visām pārējām vērtībām citā kopā.
  • Jebkurš: tas salīdzina vērtību ar jebkuru praktisko vērtību sarakstā.
  • EXISTS: pārbauda, ​​vai tabulā ir noteikta rinda.
  • LIKE: ja vēlaties salīdzināt vērtību ar līdzīgu vērtību, izmantojiet atslēgvārdu LIKE.
  • VAI: Like AND, OR arī apvieno vairākus nosacījumus WHERE klauzulā.
  • UNIKĀLS: šis atslēgvārds pārbauda katras tabulas rindas unikalitāti.

3. Salīdzināšanas operatori

Lai apstiprinātu salīdzināšanas operatorus, mēs ņemsim divus mainīgos lielumus a un b. Lai “a” ir 15, “b” ir 20.

Operators Apraksts Piemērs
Tas pārbauda, ​​vai abu mainīgo vērtības ir vienādas. Ja tie nav vienādi, tas atgriež patiesību, pretējā gadījumā nav patiess.(ab) =(1530) = patiess
==Tāpat kā , == arī pārbauda, ​​vai abi mainīgie ir vienādas vērtības. Ja vērtības ir vienādas, tas atgriež patiesu.(a==b)=(15==30)=nav patiesība
!=“!=” ir līdzīgs “.” Tas arī rada patiesu, ja abu mainīgo vērtības nav vienādas.(ab) =(1530) = patiess
>Ja kreisā mainīgā vērtība ir lielāka nekā labā mainīgā, “>” atgriež patieso vērtību.(a>b)=(15>30)= nav taisnība
!>“!>” ir pretējs operatoram “>”. Tas atgriež patiesu, ja kreisā mainīgā vērtība nav lielāka par labā mainīgā vērtību.(a!>b)=(15!>30)= patiess
>=Ja kreisais operands ir lielāks vai vienāds ar labo operandu, nosacījums kļūst patiess.(a=30)= nav taisnība
<Ja kreisā mainīgā vērtība ir mazāka par labā mainīgā vērtību, '<’ returns true. (uz
!<'!<’ is opposite to the ‘<’ operator. It returns true if the left variable value is not less than the right variable value. (uz
<=Ja kreisais operands ir mazāks vai vienāds ar labo operandu, nosacījums kļūst patiess.(uz<=b)=(15<=30)= true

SQL izteiksmes

SQL izteiksmi veido operatori, viena vai vairākas vērtības un SQL funkcijas. Tie vienmēr ir norādīti WHERE klauzulā. Zemāk ir sintakse, kas ilustrē izteiksmju izmantošanu datu bāzes vaicājumā.

Sintakse:

|_+_|

SQL tiek izmantotas trīs veidu izteiksmes, Būla, skaitliskās un datuma izteiksmes.

viens. Būla izteiksmes

Būla izteiksme izgūst datus, kas atbilst vienai vērtībai. Tas izgūst rindas, kas atbilst vērtībai, kas norādīta EXPRESSION.

Sintakse:

|_+_|

Iepriekš mēs esam izveidojuši tabulu ar tabulas nosaukumu 'Students'. Mēs izgūsim tās datus, izmantojot priekšrakstu SELECT.

|_+_|

Izvade:

|_+_|

Tagad mēs iegūsim datus, kas atbilst vērtībai Student_ID = 1098. Tālāk tiks parādīta tikai viena rinda.

|_+_|

Rezultāts:

|_+_|

divi. Skaitliskā izteiksme

Skaitliskās izteiksmes ir matemātiskas darbības. To izsaka šādi:

Sintakse:

|_+_|

Izmantojot skaitliskās izteiksmes, varat veikt jebkuru matemātisku darbību. Šeit ir viens piemērs, kas ilustrē matemātisko darbību, izmantojot skaitlisku izteiksmi.

|_+_|

Izvade:

|_+_|

Skaitliskajā izteiksmē varat iekļaut arī apkopotās funkcijas: avg(), max(), count(), min() un sum(). Tagad mēs saskaitīsim ierakstu vai rindu skaitu tabulā “Students”.

|_+_|

Izvade:

|_+_|

3. Datuma izteiksmes

Datuma izteiksmes ir vēlamākā izteiksme SQL, kas nodrošina sistēmas pašreizējo datumu un laiku. Ļaujiet mums redzēt vaicājumu, lai parādītu pašreizējo sistēmas datumu un laiku.

|_+_|

Izvade:

|_+_|

Izveidojiet, nometiet un izmantojiet datu bāzes paziņojumus SQL

viens. Izveidot datu bāzi

Pirms tabulu izveides mums vispirms ir jāizveido datu bāze. Pirmkārt, izveidojiet datu bāzi, kurā vēlaties strādāt. Tagad mēs redzēsim, kā izveidot datu bāzi.

Sintakse:

|_+_|

Jums jāpārliecinās, ka datu bāzes nosaukumam ir jābūt unikālam un atšķirīgam. Iepriekš to nevajadzētu lietot.

Tagad izveidosim datubāzi ar nosaukumu .

|_+_|

Lai izveidotu jebkuru datu bāzi, jums ir jābūt administratora tiesībām. Visas izveidotās datu bāzes var apskatīt, izmantojot komandu ‘SHOW DATABASES’. Iepriekš esam izveidojuši vairākas datu bāzes: school_info, softwaretesttips, test, company un origin.

|_+_|

Rezultāts:

|_+_|

Iepriekš redzamajā izvadē tika parādīts izveidoto datu bāzu saraksts.

divi. Atmest datu bāzi

Pieņemsim, ka mēs vēlamies dzēst kādu no iepriekš minētajām datu bāzēm. Šim nolūkam tiek izmantots priekšraksts “DROP DATABASE”.

Sintakse:

|_+_|

Apsveriet, ka mēs vēlamies dzēst 'pārbaudes' datu bāzi no SQL shēmas. Dzēšot jebkuru datu bāzi, tiks dzēsti visi tajā esošie dati. Lai dzēstu datu bāzi, jums ir jābūt arī administratora tiesībām.

|_+_|

Mēs esam izdzēsuši “pārbaudes” datubāzi. Tagad apskatīsim shēmā esošo datu bāzu sarakstu.

|_+_|

Izvade:

|_+_|

3. Izmantojiet un atlasiet datu bāzi

Mūsu shēmā ir vairākas datu bāzes. Pieņemsim, ka mēs vēlamies strādāt tikai ar vienu konkrētu datu bāzi; jums ir jāizvēlas viena no visām datu bāzēm. Pēc vienas datu bāzes izvēles tajā var veikt visas DDL darbības. Datu bāzes atlasei ir USE paziņojums.

Sintakse:

|_+_|

Mēs no sava datu bāzes saraksta atlasīsim vienu datubāzi ‘softwaretesttips’, kurā veiksim visas datu bāzes darbības.

|_+_|

Jebkas, ko izveidojat, tabulas vai skats, būs pieejams “softwaretesttips” datubāzē.

Šī bija visa ātrā apmācība par SQL. Tagad mēs izveidosim vienu tabulu “softwaretesttips” datu bāzē un veiksim visas SQL darbības šajā tabulā.

Izveidot tabulu

Mēs esam redzējuši tabulas izveides sintaksi un piemēru. Šis paziņojums ir uzrakstīts šādi,

|_+_|

Tabulas izveides priekšrakstā mēs norādām tabulas nosaukumu, atribūtus un datu tipus. Mēs pat varam piemērot ierobežojumus atribūtiem, izmantojot tabulas izveides priekšrakstu. Pārliecinieties, vai tabulas nosaukums ir unikāls un iepriekš nav izmantots.

Tagad mēs izveidosim tabulu, izmantojot paziņojumu “Izveidot tabulu”. Izveidosim tabulu ‘DARBINIEKS’, kurā glabājas darbinieku dati. Šai tabulai izveidosim piecus atribūtus: Emp_ID, Vārds, Vecums, Pilsēta un Alga.

|_+_|

Mēs esam izveidojuši tabulu “DARBINIEKS” ar atribūtiem EMP_ID, VĀRDS, VECUMS, PILSĒTA un ALGA. Tabulas “EMPLOYEE” primārā atslēga ir EMP_ID, kas nedrīkst būt NULL. Turklāt atribūtiem NAME un AGE arī nevajadzētu būt NULL.

Pēc iepriekš minētā tabulas izveides paziņojuma uzrakstīšanas ekrānā redzēsit ziņojumu “Tabula ir veiksmīgi izveidota”. Ja vēlaties redzēt tabulas vai tabulas shēmas atribūtus, ierakstiet tālāk norādīto komandu:

|_+_|

Izvade:

|_+_|

Mēs varam nomest tabulu “EMPLOYEE”, izmantojot paziņojumu DROP.

|_+_|


Pēc tabulas nomešanas tā tiek izdzēsta no datu bāzes. Ja mēģināt palaist komandu “DESC”, tiks parādīta šāda kļūda:

|_+_|

Ievietojiet vērtības tabulā

Mēs esam iemācījušies izveidot tabulu noteiktā datu bāzē un izmest to no datu bāzes. Tagad mēs koncentrēsimies uz datu ievietošanu tabulā. Šī raksta sākuma sadaļā mēs esam redzējuši, kā uzrakstīt ievietošanas paziņojumu. Šeit mēs iemācīsimies uzrakstīt ievietošanas paziņojumu, izmantojot piemēru.

Mēs paņemsim augstāk redzamo tabulu “DARBINIEKS” un ievietosim tajā darbinieku datus, izmantojot ievietošanas atslēgvārdu. Ir divi veidi, kā ievietot datus tabulā.

|_+_|

Vēl viens vienkāršākais INSERT paziņojuma rakstīšanas veids ir:

|_+_|

Pirmajā formātā esam norādījuši kolonnas un vērtības. Mums ir tikai norādītas vērtības otrajā formātā. Izmantojot otro formātu, pārliecinieties, vai vērtības ir ievietotas pareizajā secībā, jo tabulas izveides laikā norādījāt atribūtus.

Tagad ievietosim darbinieku datus tabulā DARBINIEKI.

|_+_|

Esam ievietojuši sešu darbinieku datus, izmantojot pirmo formātu. Ievietosim darbinieka datus, izmantojot otro formātu.

|_+_|

Tagad tabulā DARBINIEKI ir septiņi ieraksti vai rindas. Datu attēlošanai tabulā EMPLOYEE tiek izmantots priekšraksts SELECT. Tagad pievērsīsimies SELECT paziņojumam.

ATLASĪT paziņojumu

SELECT priekšraksts tiek izmantots datu izgūšanai no noteiktas tabulas. Kad mēs iegūstam datus, izmantojot priekšrakstu SELECT, tas atgriež datus tabulas formātā. Agrāk mums bija, kā uzrakstīt SELECT priekšrakstu.

|_+_|

Iepriekš minētajā paziņojumā tiks parādīta tikai kolonna 1 un kolonna 2 no norādītās tabulas. Ja vēlaties parādīt visus konkrētas tabulas datus, visas kolonnas vietā tiek izmantots “*”.

|_+_|

Mēs parādīsim visus datus no tabulas DARBINIEKI.

|_+_|

Izvade:

|_+_|

Pieņemsim, ka vēlaties izgūt tikai darbinieku vārdus un ID; SELECT priekšrakstā varat norādīt EMP_ID un NAME.

|_+_|

Izvade:

|_+_|

KUR Klauzula

WHERE klauzula tiek izmantota, lai definētu datu izguves nosacījumu. To izmanto arī divu dažādu galdu apvienošanai. Lietojot konkrēto nosacījumu WHERE klauzulā, dati tiek izgūti tikai tad, ja nosacījums ir patiess. Atslēgvārdu WHERE parasti izmanto, ja lietotājiem ir nepieciešama konkrēta informācija. Šis atslēgvārds tiek izmantots priekšrakstos DELETE un UPDATE.

|_+_|

Šajā stāvoklī mēs varam izmantot loģiskos un salīdzināšanas operatorus. Apsveriet tabulu DARBINIEKI. Tagad izgūsim visus darbinieku ID, vārdus un algas, kuru alga ir lielāka vai vienāda ar 40 000. Tāpēc nosacījumu WHERE norādīsim kā alga >= 40 000.

|_+_|

Izvade:

|_+_|

Rezultātu kopa satur visus darbinieku ID, vārdus un algas, kuru alga ir lielāka vai vienāda ar 40 000.

Ja jūsu nosacījums priekšrakstā WHERE satur virkni, ierakstiet to atsevišķās pēdiņās (''). Izgūsim darbinieka, kura vārds ir Marija, vārdu, ID un vecumu.

|_+_|

Izvade:

|_+_|

UN un VAI operatori

UN un VAI operatori apvieno divus vai vairākus dažādus nosacījumus. Ja jums ir nepieciešami precīzi un kodolīgi dati no tabulas, varat apvienot vairākus nosacījumus, izmantojot operatorus UN vai VAI.

Apvienojot nosacījumus, izmantojot operatoru UN, tas atgriež rezultātu tikai tad, ja ir izpildīti visi nosacījumi. Tā neatgriezīs datus, ja būs izpildīts kāds no nosacījumiem. Mēs zinām, ka atslēgvārdā WHERE tiek izmantoti operatori. Tas ir rakstīts šādi:

|_+_|

Varat norādīt vairākus nosacījumus. Apsveriet tabulu DARBINIEKI. Tagad izgūsim to darbinieku vārdu, uzvārdu, ID, vecumu un algu, kuru vecums ir lielāks par 40 gadiem un alga ir lielāka vai vienāda ar 35 000.

|_+_|

Izvade:

|_+_|

Darbinieka dati tiek izgūti, ja abi nosacījumi ir spēkā.

OR operators arī apvieno divus vai vairākus nosacījumus. Atšķirībā no atslēgvārda UN, nav nepieciešams, lai visi nosacījumi būtu patiesi, kas norādīti atslēgvārdā WHERE, izmantojot klauzulu VAI. Pat ja viens nosacījums ir patiess, tas ierakstīs datus rezultātu kopā. Varat norādīt vairākus nosacījumus, izmantojot atslēgvārdu VAI, kā norādīts tālāk:

|_+_|

No tabulas DARBINIEKS mēs izgūsim vārdu, pilsētu un algu, kura pilsēta ir Kalifornija vai alga ir 30 000.

|_+_|

Izvade:

|_+_|

Iepriekš minētajā rezultātu kopā ir visi darbinieku vārdi, kuri dzīvo Kalifornijā vai kuru alga ir 30 000.

AR klauzulu

Ja vēlaties filtrēt rezultātu pēc konkrētākiem datiem, tiek izmantota klauzula HAVING. Atslēgvārdam HAVING varat lietot tikai apkopotās funkcijas, kas norādīs datu izguves nosacījumu. Atslēgvārda HAVING rakstīšanas forma ir šāda:

|_+_|

Mēs paņemsim tabulu ar tabulas nosaukumu DARBINIEKS2. Tabula ir šāda:

|_+_| |_+_|

Izvade:

|_+_|

Apkopotās funkcijas

Apkopotās funkcijas datu bāzes pārvaldība sistēma ņem vairākus datus no ierakstiem un pēc aprēķiniem atgriež vienu vērtību. Ir piecas dažādas apkopošanas funkcijas: summa (), avg (), count (), min () un max (). Visas šīs funkcijas var lietot tikai skaitliskiem datiem, izņemot funkciju count(). Tālāk sīkāk apspriedīsim katru funkciju. Mēs izmantosim tabulu DARBINIEKI, lai saprastu apkopotās funkcijas ar piemēriem.

|_+_|
    Summa():Funkcija summa () atgriež visu kolonnā esošo skaitļu summu. Iepriekš redzamajā tabulā mēs summēsim visu darbinieku algas, izmantojot sum() funkciju. Tas aizņem vairākus datus un atgriež vienu vērtību.
|_+_|

Rezultāts:

|_+_|
    Vid.():Funkcija avg() arī atgriež vienu vērtību. Tas aprēķina visu kolonnā esošo datu skaitļu summu un dala to ar kopējo kolonnu skaitu. Funkcija avg() aprēķina visu skaitlisko datu vidējo vērtību.
|_+_|

Rezultāts:

|_+_|
    Max():Ja ir jāatrod maksimālā vērtība no datu kopas, varat lietot funkciju max() konkrētai kolonnai. Tas arī atgriež vienu vērtību rezultātu kopā.
|_+_|

Izvade:

|_+_|
    Min ():Funkcija min () ir pretēja funkcijai max (). Tas atgriež minimālo vērtību no konkrētās kolonnas.
|_+_|

Izvade:

|_+_|
    Skaits():Count() tiek izmantots, lai saskaitītu ierakstu skaitu tabulā. Funkciju count() var lietot visu veidu datiem tabulā. Tas arī ņem vērā NULL un dublētos datus. Ja vēlaties noņemt dublētos datus, jums ir jāpievieno atslēgvārds DISTINCT.
|_+_|

Izvade:

|_+_|

Funkcija count() atgriež tipu skaitu tabulā EMPLOYEE.

|_+_|

Izvade:

|_+_|

Šeit mēs izmantojām DISTINCT atslēgvārdu ar funkciju count() kolonnā PILSĒTA. Tas atgrieza atšķirīgo pilsētu nosaukumu skaitu. Varat arī pievienot frāzi WHERE ar funkciju count().

|_+_|

Izvade:

|_+_|

Mums ir vairāki darbinieki, kuru vecums ir lielāks par 40 gadiem.

Atjaunināt atslēgvārdu

Varat izmantot atjaunināšanas atslēgvārdu, ja vēlaties mainīt tabulā esošos datus. Izmantojot atjaunināšanas atslēgvārdu, varat pievienot arī atslēgvārdu WHERE. Izmantojot atslēgvārdu WHERE, varat atjaunināt tikai tos ierakstus, kurus vēlaties modificēt. Ja nepievienosiet atslēgvārdu WHERE, visi ieraksti tiks atjaunināti. Atjaunināšanas vaicājumu var uzrakstīt šādi:

|_+_|

Ja izmaiņas ir jāpiemēro diviem vai vairākiem ierakstiem, varat lietot operatorus UN un VAI. Paņemiet DARBINIEKU tabulu. Atjaunināsim vecumu darbiniekam ar ID 405. Vecumu noteiksim no 37 līdz 40.

|_+_|

Atjauninot vecumu darbiniekam ar ID 405, šīs izmaiņas tiks atspoguļotas tabulā. Mēs uzzināsim, kā DARBINIEKU tabula izskatīsies pēc modifikācijas.

Izvade:

|_+_|

Tagad pieņemsim, ka vēlaties mainīt algu un vecumu darbiniekam ar ID 407. Mēs noteiksim algu uz 55 000 un vecumu uz 35 gadiem.

|_+_|

Izvade:

|_+_|

Iepriekšējā tabulā ir atjaunināti dati.

DZĒST vaicājumu

Ja vēlaties dzēst jebkuru ierakstu no tabulas, tiek izmantots dzēšanas atslēgvārds. Ja vēlaties dzēst konkrēto virkni vai rindu, nosacījuma norādīšanai pievienojiet atslēgvārdu WHERE. Apvienojiet vairākus nosacījumus, izmantojot operatorus UN vai VAI. Varat uzrakstīt dzēšanas vaicājumu, kā norādīts tālāk:

|_+_|

Piemēram, ņemiet tabulu DARBINIEKI. Mēs izdzēsīsim darbinieka ierakstu ar darbinieka ID 405.

|_+_|

Tabulā netiks iekļauts darbinieka ieraksts ar darbinieka ID 405 pēc iepriekš minētā vaicājuma izpildes.

Izvade:

|_+_|

Ja vēlaties dzēst visas tabulas rindas, izmantojiet tālāk norādīto vaicājumu,

|_+_|

Pēc šī vaicājuma izpildes tiks dzēsti tikai dati, nevis tabulas shēma.

PASŪTĪJUMS PĒC klauzulas

Kolonnas datus varat sakārtot augošā vai dilstošā secībā, izmantojot frāzi ORDER BY. Pēc noklusējuma kolonnas dati ir sakārtoti augošā secībā. Ievērojiet tālāk norādīto formātu, lai rakstītu ORDER BY frāzi.

|_+_|

Kolonnu sarakstā jāiekļauj visas kolonnas, kuras vēlaties kārtot vai sakārtot secībā. Lai saprastu šo frāzi, izmantojiet to pašu DARBINIEKU tabulu ar vienkāršu piemēru. Sleju sarakstam pievienosim kolonnas nosaukumu, NOSAUKUMS un ALGA.

|_+_|

Tabula tiks sakārtota atbilstoši nosaukumiem augošā secībā.

Izvade:

|_+_|

Tagad mēs ģenerēsim tabulu dilstošā secībā, izmantojot kolonnu NAME.

|_+_|

Izvade:

|_+_|

GROUP BY klauzula

Identiskai datu grupēšanai tiek izmantota klauzula GROUP BY. Aiz atslēgvārda WHERE vienmēr seko klauzula GROUP BY, bet frāzei GROUP BY seko klauzula ORDER BY. Tas grupē līdzīgus datus grupās, kas norādītas nosacījumā WHERE klauzulā. GROUP BY klauzula ir uzrakstīta šādi:

|_+_|

Mēs pielietosim frāzi GROUP BY uz otras tabulas. Apsveriet tālāk redzamo tabulu DARBINIEKS1.

|_+_|

Šeit Stīvs strādā gan Čikāgā, gan Kalifornijā. Tāpēc mēs varam grupēt Stīva datus, izmantojot frāzi GROUP BY, kas parādīs viņa vārdu un kopējo algu.

|_+_|

Izvade:

|_+_|

ATŠĶIRĪGS Atslēgvārds

Atslēgvārds DISTINCT no tabulas noņem visas dublētās vērtības. Daudzās tabulās var būt lieki vai dublēti dati. Šādās situācijās DISTINCT atslēgvārda izmantošana palīdzēs izgūt unikālus datus. Varat norādīt kolonnas, no kurām jāiegūst unikālie dati. Atslēgvārda DISTINCT rakstīšanas forma ir šāda:

|_+_|

Lai saprastu, kā darbojas atslēgvārds DISTINCT, ņemsim vērā tabulu EMPLOYEE. Vispirms tabulu sakārtosim augošā secībā pēc algas.

|_+_|

Izvade:

|_+_|

Iepriekš minētajā rezultātu kopā ir dublēti dati, t.i., 30 000 atrodas divās dažādās rindās. Lietojot atslēgvārdu DISTINCT, rezultāts nesaturēs dublētus datus.

|_+_|

Izvade:

|_+_|

SQL JOIN

SQL, join apvieno ierakstus no divām vai vairākām tabulām vienā tabulā. JOIN ir avots tabulu apvienošanai, izmantojot tabulu kopīgās kolonnas. Mēs redzēsim piemēru, kā apstiprināt, kā tiek veikta JOIN.

Mēs ņemsim divas tabulas un savienosim šīs divas tabulas, pamatojoties uz to kopīgo atribūtu. Paņemiet DARBINIEKU tabulu. Izveidosim vēl vienu tabulu NODAĻA.

|_+_|

Tagad mums ir divi galdi. Mēs savienosim šīs divas tabulas un parādīsim rezultātu kopu. Abās tabulās ir kopīgs atribūts EMP_ID.

|_+_|

Rezultāts ir šāds:

|_+_|

Klauzulā WHERE mēs varam savienot tabulas vai relācijas, izmantojot vairākus operatorus: , =, BETWEEN, !, NOT utt. Savienojumu var iedalīt vairākos veidos. IEKŠĒJAIS savienojums savieno tabulas un atgriež to datu rezultātu, kas atbilst abām relācijām. Vēl viens savienojums ir LEFT savienojums, kas atgriež visus datus no kreisās tabulas. Ja kreisajai tabulai nav atbilstošas ​​​​labās tabulas, tiek rakstīts NULL. LABAIS savienojums rada visus datus no labās tabulas. Pareizajai tabulai, kuras atbilstība nav pieejama, ierakstiet NULL.

Pa kreisi pievienoties

Kreisais savienojums apvieno divas relācijas, kurām ir kopīgs atribūts. Varat norādīt attēlojamās kolonnas no abām relācijām. Visi dati no kreisās tabulas ir pieejami rezultātu kopā. Labās tabulas datiem, kas nesakrīt ar kreisās puses tabulas datiem, tiek rakstīts NULL. Mēs redzēsim kreisās puses pievienošanās piemēru, izmantojot EMPLOYEE un DEPARTMENT.

|_+_|

NODAĻA

|_+_|

Tagad mēs uzrakstīsim vaicājumu šo divu relāciju savienošanai, izmantojot atslēgvārdu LEFT JOIN.

|_+_|

Rezultāts:

|_+_|

Pareizi pievienojies

Labais savienojums savieno arī divas tabulas. Lietojot labo savienojumu divām relācijām, tiks parādīti visi labās tabulas dati, kas atbilst kreisajai tabulai. Kreisajai tabulai, kas nesakrīt ar labās puses tabulas datiem, tiek rakstīts NULL. Mēs izmantosim tās pašas divas attiecības — DARBINIEKS un NODAĻA, lai saprastu pareizo pievienošanās atslēgvārdu.

|_+_|

Izvade:

|_+_|

Secinājums

Strukturētu vaicājumu valodu (SQL) izmanto visas galvenās datu bāzes: MySQL, MS Access, Oracle uc Šī valoda ļauj lietotājiem izveidot tabulas datu bāzē un manipulēt ar tām, izmantojot vairākas klauzulas, operatorus, paziņojumus. Šis raksts ir SQL ātrā uzziņa iesācējiem. Iesācēji lietotāji var apgūt visus SQL pamatus no šīs apmācības.

Šī ziņa ir SQL ātrā uzziņa, kas sniegs pamatzināšanas par datu apstrādi datubāzē. Mēs esam redzējuši visas DML, DDL, TCL, DQL, DCL komandu pamata sintakses. Vēlāk mēs uzzinājām dažādas klauzulas, datu integritāti , datu tipus, operatorus un izteiksmes. Nākamajā sadaļā mēs esam redzējuši piemērus datu izveidei, manipulēšanai un datu nomešanai datu bāzē.