KompjûtersProgramming

Basis SQL jierrekken

SQL standert waard oannommen yn 1992 en noch altyd yn gebrûk is hjoed. Dat hy is in benchmark foar in soad databank behear systemen. Fansels, guon fabrikanten brûke harren eigen ynterpretaasje fan de standert. Mar yn elts systeem, der binne noch altyd de wichtichste ûnderdielen - SQL útspraken.

yntroduksje

Mei help fan SQL-útspraken yn de databank komt wearden behear tafels en harren tarieding foar fierdere analyze en optsjocht. Se binne in set fan keywords, troch dat it systeem wit wat te dwaan mei de gegevens.

Definiear ferskate kategoryen fan SQL ferklearrings:

  • definysje fan databank foarwerpen;
  • manipulearjende wearden;
  • beskerming en behear;
  • session parameters;
  • Ynformaasje oer it base;
  • statyske SQL;
  • dynamysk SQL.

SQL-útspraken foar data manipulaasje

Dizze kategory befettet allinne de stekwurden dêr't kinne jo beskiede it pleatsen fan wearden yn de databank.

INSERT. Inserts in rige yn in besteande tabel. It kin brûkt wurde as ien wearde of mear, bepaald troch in bepaalde kondysje. Bygelyks:

INSERT into

de tafel namme (kolom 1 namme, namme fan de kolom 2)

Wearden (wearde 1 value 2).

Om brûk de operator SQL ferklearring INSERT mei meardere wearden, brûk de folgjende syntaksis:

INSERT into

1 tabelnamme (namme fan de kolom 1, kolom namme 2)

SELECT kolomnamme 1, namme fan de kolom 2

FROM tabelnamme 2

WHERE namme 2.imya tafel kolom 1> 2

Dit query selektearret alle gegevens yn Tabel 2, wat grutter is as 2 foar 1 kolom en plak se yn it earste.

UPDATE. Sa't de namme al seit, dizze ferklearring bywurkjen fan de SQL query data yn in besteande tabel op in bepaalde basis.

foarbyld:

UPDATE tabelnamme 1

SET column name = 2 "Basil"

WHERE tabelnamme 1.imya kolom 1 = 1

Dizze struktuer fill wearde Basil alle rigen dy't foldogge oan de nûmer 1 yn de earste kolom.

Fuorthelje. Wiskje: Smyt de gegevens fan 'e tafel. Jo kinne opjaan eltse betingst of ferwiderje alle rigen.

Wiskje fan tabelnamme

WHERE namme tablitsy.imya kolom 1 = 1

It boppesteande query sil wiskjen alle gegevens út de databank mei de wearde ien yn de earste kolom. Hjir is hoe kinne jo dúdlik de hiele tafel:

Wiskje fan tafel namme.

Neist is nedich om te fertellen oer it SELECT útspraak. Hy is ien fan de wichtichste, dus hy sil moatte wijen in apart haadstik.

SELECT ferklearring

It wichtichste doel fan SELECT - seleksje fan gegevens neffens bepaalde betingsten. It resultaat fan syn wurk is altyd in nije tabel mei selektearre data. MS operator SQL SELECT kin brûkt wurde om gewicht ferskillende fersiken. Dêrom, tegearre mei, kinne jo beskôgje oare besibbe kaaiwurden.

Om selektearjen alle gegevens symboal "*" wurdt brûkt út in bepaalde tafel.

SELECT *

FROM tabelnamme 1

It resultaat fan dizze query sil wêze in eksakte kopy fan 'e tabel 1.

En hjir is ophelle troch WHERE tastân dy't lûkt út tabel 1, alle wearden grutter as 2 yn kolom 1.

SELECT *

FROM tabelnamme 1

WHERE namme 1.imya tafel kolom 1> 2

Jo kinne ek oanjaan yn de seleksje dy't allinnich bepaalde pylders binne nedich.

SELECT tabelnamme 1.imya kolom 1

FROM tabelnamme 1

It resultaat fan dizze query sil alle rigels mei wearden fan kolom 1. Using MS SQL operators kinne meitsje syn eigen tafel, yn de rin fan ferfanging, berekkenjen en substituting bepaalde wearden.

SELECT

tabelnamme 1.imya kolom 1

tabelnamme 1.imya kolom 2

tabelnamme 1.imya kolom 3

«=» AS EQ

tabelnamme 1.imya kolom 2 fan 'e tafel namme * 1.imya kolom 3 AS Summa

FROM tabelnamme 1

Dit skynber kompleks query hellet ek alle wearden fan tabel 1, en dan ûntstiet in nije kolom en EQ Summa. Earst stapt "+" teken, yn it twadde gegevens kolom fan it produkt 2 en 3. Dat resultaat kin wurde fertsjintwurdige as in tafel, foar begripen hoe't it wurket:

kolom 1

kolom 2

kolom 3

EQ

Summa

Produkt Namme 1

10

50

+

500

Produkt Namme 2

15

100

+

1500

As jo in SELECT ferklearring, kinne jo fuortendaliks útjaan bestelle gegevens op alle terrein. It brûkt it wurd ORDER BY.

SELECT

tabelnamme 1.imya kolom 1

tabelnamme 1.imya kolom 2

tabelnamme 1.imya kolom 3

FROM tabelnamme 1

ORDER BY kolomnamme 2

It gefolch tabel sil der sa útsjen:

kolom 1

kolom 2

kolom 3

1

1

54

3

2

12

7

3

100

2

5

1

Dat is, alle linen binne ynstallearre op sa'n wize dat de kolom 2 wearden waarden opgeande.

Gegevens kinne ek jo krije by meardere tabellen. Foar de dúdlikens, moatte jo earst yntinke dat se hawwe twa, guon binne yn de databank:

Tabel "Meiwurkers"

number

namme

surname

1

Vasya

Vasin

2

Petya

Petin

Tabel "Salaris"

number

rate

útfiner

1

1

10000

2

0.5

3500

No jo nedich hawwe, lykas it keppeljen fan de beide tabellen te krijen mienskiplike wearden. Mei help fan basale SQL útspraken kin dien wurde as folget:

SELECT

Sotrudniki.Nomer

Sotrudniki.Imya

Zarplata.Stavka

Zarplata.Nachisleno

FROM Meiwurkers Salary

WHERE Sotrudniki.Nomer = Zarplata.Nomer

Der is ophelle út twa ferskillende wetstafels fan wearden, ferienige troch nûmer. It resultaat is de folgjende set fan gegevens:

number

namme

rate

útfiner

1

Vasya

1

10000

2

Petya

0.5

3500

In bytsje mear oer de SELECT. Mei help fan aggregate funksjes

Ien fan 'e fûnemintele SQL SELECT útspraken kinne produsearje guon berekkenings yn de stekproef. Om do dit, hy brûkt bepaalde funksjes en formules.

Bygelyks, om it oantal platen út 'e tabel "Meiwurkers", moatte jo gebrûk meitsje fan de query:

SELECT COUNT (*) AS N

FROM Meiwurkers

It resultaat sil in tafel mei ien kolom en wearde.

N

2

funksje kin brûkt wurde yn de fragen dy't de som, maksimum en minimale wearden, en trochsneed. Om dit te keywords wurde brûkt SUM, MAX, MIN, AVG.

Bygelyks, is it nedich om te hâlden fan in stekproef fan de al bekende "Salaris" tabel:

number

rate

útfiner

1

1

10000

2

0.5

3500

Jo kinne jilde sa'n fersyk en sjen wat der bart:

SELECT

SUM (Zarplata.Nachisleno) AS Summa

MAX (Zarplata.Nachisleno) AS MAX

MIN (Zarplata.Nachisleno) AS MIN

AVG (Zarplata.Nachisleno) AS SRED

FROM Salary

De úteinlike tafel sil wêze as folget:

Summa

MAX

MIN

SRED

13500

10000

3500

6750

Dat is de wei, kinne jo kieze út in databank de passende wearden op it fly te fieren in berekkening fan ferskate funksjes.

Uny, krúspunt rjochttroch en ferskil

Kombinearje meardere queries in SQL

SELECT Sotrudniki.Imya

FROM Meiwurkers

WHERE Sotrudniki.Nomer = 1

UNION

SELECT Sotrudniki.Imya

FROM Meiwurkers Salary

WHERE Zarplata.Nomer = 1

Dêrby moat betocht dat yn dizze feriening tabel moatte ferienichber wêze. Dat is, hawwe itselde oantal kolommen.

De syntaksis fan it SELECT ferklearring en de proseduere foar de ferwurking

De earste ding SELECT bepaalt it gebiet dêr't it sil nim de gegevens. Om dit te dwaan, brûk it trefwurd FROM. As dizze net oantsjutte is, wat te kiezen.

Jo kinne dan presintearje de SQL-statement WHERE. Mei de help fan SELECT rint troch elke rige fan 'e tafel en besjocht de gegevens foar it neilibjen fan de betingst.

As de query hat in groep BY, dan is der de groepearring fan de wearden fan dy parameters.

Oanbieders te ferlykje gegevens

Se hawwe ferskate soarten. Yn SQL ferliking operators kinne testen ferskillende typen fan wearden.

  • "=". Denotes, sa as jo al riede, de gelikensens fan 'e twa uteringen. Bygelyks, it hat al brûkt yn 'e foarbylden boppe - WHERE Zarplata.Nomer = 1.

  • ">". Greater-than sign. As de wearde fan 'e linker kant fan' e útdrukking is grutter dan it logysk TRUE weromjûn en de betingst foldien wurdt.

  • "<". Minder as teken. Reverse it foarige operator.

  • Tekenen fan "<=" en "> =". It ferskilt fan ienfâldige operators mear en minder is dat mei gelikense operands betingst is ek wier.

  • "<>". Ik wit net skele. De betingst is beskôge TRUE, as mar ien operand is net gelyk oan in oar. Hy hat noch ien ynterpretaasje - "! =".

LIKE

Translate dizze kaaiwurd kin wêze as "ferlykbere." LIKE operator yn SQL wurdt brûkt sawat op 'e selde prinsipe - rint fan dyn kar út in sjabloan. Dat is, dan kinne jo útwreidzje de stekproef gegevens út de databank mei help reguliere útdrukkings.

Bygelyks, it stelt sa'n opjefte: út de al bekende foet "personiel" om al it folk hwaens namme einiget mei "I". Dan it fersyk kin wurde gearstald as folget:

SELECT *

FROM Meiwurkers

WHERE Namme LIKE `% Wer

Prosintteken yn dit gefal betsjut it masker, dat is, gjin karakter, en hjar tal. En yn 'e brief, "Ik» SQL bepaalt dat de lêste karakter te wêzen dat manier.

CASE

Dizze ferklearring SQL Tsjinner is in útfiering fan meardere kar. It liket in Switch ferklearring yn in protte programmearring talen. CASE statement yn SQL fiert in aksje op in tal betingsten.

Bygelyks, jo selektearje út in tabel "salaris" maksimum en minimabelied wearden.

number

rate

útfiner

1

1

10000

2

0.5

3500

Dan it fersyk kin wurde gearstald as folget:

SELECT *

FROM Salary

WHERE gefal as SELECT MAX (Charged) DAN Maximum

WHEN SELECT MIN (Charged) DAN Minimum

END resultaat

yn de "Charged" kolom yn dit ferbân, it systeem siket nei it maksimum en minimale wearde. Dan, mei help fan de ein fjild makke "totaal", dat sil wêze ynlogd yn it "maksimum" of "minimum" ôfhinklik fan it resultaat fan 'e tastân.

Troch de wei, yn SQL is der in kompakter foarm fan CASE - coalesce.

Data definysje

Yn dizze werjefte kinne jo te fieren út in ferskaat oan wikseljende tafels - skeppe, wiskjen, feroarjen, en wurkje mei yndeksen.

It earste, dat is de muoite wurdich deroer - DERYA TABLE. Hy docht neat oars as it meitsjen fan in tafel. As jo gewoan yntype CREATE TABLE query, neat sil barre, om't jimme moatte oantsjutte ferskate mear parameters.

Bygelyks, te meitsjen de fertroude tafel "Meiwurkers" wolle brûke it kommando:

CREATE TABLE Meiwurkers

(ID number (10) NOT NULL

Namme varchar (50) NOT NULL

Last Name varchar (50) NOT NULL)

Yn dit fersyk, tusken heakjes fuortendaliks definiearre fjild nammen en harren typen, likegoed as oft it kin wêze NULL.

DROP TABLE

Fiert in ienfâldige opjefte - fuortheljen sein tafel. It hat in ekstra opsje IF bestiet. It absorbearret in flater as wiskjen, as it nedich tafel bestiet net. Foarbyld fan gebrûk:

DROP TABLE Meiwurkers IF bestiet.

CREATE INDEX

Yn SQL, is der in systeem fan Indices, dat mooglik makket flugger tagong ta gegevens. Yn it algemien, is it in link dy't wiist op in bepaalde kolom. Meitsje in yndeks kin in ienfâldige fersyk:

CREATE INDEX nazvanie_indeksa

ON nazvanie_tablitsy (nazvanie_stolbtsa)

Brûk dizze ferklearring yn T-SQL, Oracle, PL SQL en in soad oare ynterpretaasjes technologyen.

Alter TABLE

Tige funksjoneel operator mei tal opsjes. Yn it algemien, de feroaring levert in struktuer definysje en ferdielen tafels. Operator wurdt brûkt yn Oracle SQL, Postgres, en in protte oaren.

Reference sil no presintearre mei ferskate opsjes brûkende Alter TABLE.

  • ADD. Fiert de tafoeging fan in kolom yn in tabel. Syntaksis him dit: Alter TABLE ADD nazvanie_tablitsy nazvanie_stolbtsa tip_hranimyh_dannyh. Kin hawwe in parameter sa net bestiet, dy't ûnderdrukke in flater as in kolom al hat makke;

  • DROP. Verwijdert kolom. IF bestiet wurdt ek klear, dat sil generearje in flater sizzen dat de opfrege kolom bestiet net;

  • Feroaring. Brûkt om omneame it fjild namme opjûn. Foarbyld usage: Alter TABLE feroaring nazvanie_tablitsy OldName new_name;

  • Feroarjen. Dit kommando sil feroarje it type fan in bepaald kolom en oanfoljende attributen. En it wurdt brûkt as dit: Alter TABLE feroarjen nazvanie_tablitsy nazvanie_stolbtsa datatype attributes;

CREATE VIEW

Yn SQL, der is sa'n ding as in idee. Koartsein, it is in soarte fan firtuele tafel mei de gegevens. It wurdt foarme as in gefolch fan 'e stekproef mei help fan de taal SQL SELECT útspraak. Views kinne beheine tagong ta de databank te ferbergjen se, as ferfanging fan de echte kolom nammen.

It proses fan it skeppen ûntstiet troch in simpel query:

CREATE VIEW view namme AS SELECT FROM * tabelnamme

Sampling kin plakfine as in hiele databank as gehiel, en yn in bepaalde kondysje.

In bytsje oer de funksjes

Yn SQL fragen faak brûke ferskillende ynboude funksjes dy't dy helpe kinne om ynteraksje mei de gegevens en omsette se op 'e fly. It is de muoite wurdich beriedt har, sa't se binne in yntegraal ûnderdiel fan in strukturearre taal.

  • COUNT. Produsearret telle rigen of fermeldingen yn in bepaalde tabel. As in opsje, jo kinne opjaan de kolom namme, dan de gegevens sille nommen fan him. SELECT COUNT * FROM Meiwurkers;

  • AVG. Dizze funksje is allinne fan kolommen mei numerike gegevens. Syn resultaat is it fêststellen fan it rekkenboek gemiddelde fan alle wearden;

  • MIN en MAX. Dy funksjes binne brûkt yn dit artikel. Se beskiede hokker maksimum en minimabelied wearden fan sein pylder;

  • SUM. It is simpel - de funksje berekkent de som fan wearden yn in kolom. It wurdt brûkt allinnich foar it numerike gegevens type. Taheakjen fan it fersyk parameter DISTINCT, sil taheakke wurde allinnich oan unike wearden;

  • ROUND. Funksje Rounding desimale fraksjonele nûmers. De syntaksis brûkt troch de kolom namme en it tal desimale plakken;

  • LEN. In ienfâldige funksje dy't berekkent de lingte fan 'e pylder. It resultaat sil in nije tabel mei dêrop de tal lettertekens;

  • NOW. Dit kaaiwurd wurdt brûkt foar it berekkenjen fan de aktuele datum en tiid.

oanfoljende operators

In protte foarbylden fan de SQL oersjoggen binne keywords dy't útfiere lytse taken, mar dochs sterk simplify Sample of databank aktiviteit.

  • AS. It wurdt brûkt as jo wolle fisueel regeljen it resultaat fan it tawizen fan de opjûne namme te krijen in tafel.

  • TUSKEN. In tige handige helpmiddel foar sampling. It jout it oanbod fan wearden, ynklusyf it ferlet te krijen de gegevens. De ynbring parameter krijt fan en nei in oantal berik wurdt brûkt;.

  • NOT. De operator jout it tsjinoerstelde fan 'e útdrukking.

  • Ynkoartsje. Smyt gegevens út sein basis diel. Oars as dy eksploitanten dy't bykomme gegevens nei syn brûken ûnmooglik. It is de muoite wurdich opskriuwen dat de útfiering fan in opjûne stekwurd yn ferskillende SQL kin wêze ferskillende ynterpretaasjes. Dus foardat jo besykje te brûken ynkoartsje, de kunde kommen mei de eftergrûn ynformaasje.

  • LIMIT. Stelt it oantal útfier rigels. De nuverheden fan de operator is dat it is altyd leit oan 'e ein. It duorret ien ferplichte en ien opsje parameter. It earste jout oan hoefolle rigen mei it selektearre gegevens te sjen. En as de twadde, dan de operator wurket sawol it oanbod fan wearden.

  • UNION. Tige brûker-friendly operator te kombinearjen meardere queries. Hy hat al moete ûnder 'e foarbylden fan dit yn dit artikel. Jo kinne werjaan de rigen út meardere tabellen, UNION kombinearjen se foar mear handiger gebrûk. Syntaksis him dit: SELECT column_name FROM tafel UNION SELECT FROM imya_drugogo_stolbtsa imya_drugoy tafel. It resultaat is in gearfetting tafel fan 'e feriene easken.

  • Primêre kaai. Oerset as 'primêre kaai. " Eins, dat sa'n terminology wurdt brûkt yn in referinsje materialen. Hy is in unyk identifier foar de rige. It wurdt brûkt, as in regel, as it meitsjen fan in tafel oan te jaan fan it fjild, dat sil befetsje it.

  • Standert. Krekt as de foarige operator, brûkt yn 'e útfiering fan it meitsjen fan in sykopdracht. It definiearret de standert wearde, dat sil fold wurde op it fjild as it wurdt oanmakke.

In pear tips te ûntwikkeljen fan in platfoarm foar it wurkjen mei SQL

  1. NULL. Begjinners en net allinne programmeurs yn de tarieding fan fersiken faak ferjitte oer de beskikberens fan NULL wearden. As gefolch, de koade flater krûpt yn, dat is dreech te folgjen yn de útbrek proses. Dêrom, as it meitsjen fan in tafel, of opnij berekkene Sample wearden moatte ophâlde en tinke, en oft NULL foarkommen wurdt rekken holden yn de query gebiet.

  2. Ûnthâld. Yn dit papier we wiene mocht in oantal funksjes, by steat útfieren bepaalde taken. Yn 'e ûntwikkeling fan' e skulp te wurkjen mei de databank, kinne jo "opwaacht tsjin" de berekkening fan de ienfâldige uteringen oan de databank systeem. Yn guon gefallen, dit jout in wichtige ympuls yn de foarstelling.

  3. Beheinings. As jo wolle helje út de databank mei tûzenen rigen mar twa, is it nedich om te brûken operators lykas LIMIT of TOP. Gjin needsaak om te heljen gegevens troch middel fan 'e skulp fan' e taalûntwikkeling.

  4. Ferbine. Nei ûntfangst fan de gegevens fan ferskate tafels, in protte programmeurs begjinne te ferminderjen se tegearre envelope ûnthâld betsjut. Mar wêrom? Ommers, kinne jo in fersyk wêryn it sil allegearre wêze oanwêzich. Jo hoege net te skriuwen koade ienris en reservearje ekstra ûnthâld yn it systeem.

  5. Sorting. As it mooglik is te passen de feroardering yn it fersyk, dat wol sizze, de DBMS troepen, is it nedich om te brûken is. Dit bin heechlik besparje helpboarne doe't it programma of tsjinst.

  6. In soad fersiken. As jo ynfoegje in soad rekôrs yn folchoarder, dan optimalisearjen moatte tinke oer it pakket gegevens wurdt ynfoege ien fersyk. Dat sil ek tanimme de prestaasjes fan it hiele systeem.

  7. Foarsichtich pleatsen fan gegevens. Foardat it opstellen fan de basis struktuer nedich nei te tinken oer hoe't en oft sa'n oantal tafels en fjilden nedich. Miskien is der in wei te kombinearjen se, of opjaan wat. Hiel faak, programmeurs brûke in al te grutte hoemannichte gegevens dy't nearne en nea brûkt.

  8. Types. Om besparjen romte en middels moatte wurde gefoelich foar it typen fan gegevens brûkt. As jo kinne nimme foardiel fan in minder "swier" foar it type ûnthâld, jo hawwe te brûken syn namme. Bygelyks, as it is bekend dat yn dit fjild is in nûmerike wearde sil net mear as 255, wêrom't de brûken fan 4-byte INT, as der TINYINT 1 byte.

konklúzje

Yn konklúzje, dat moat sein wurde dat de taal wurdt strukturearre SQL fragen wurdt no brûkt hast oeral - websites, web tsjinsten, buroblêd software, mobile tapassings. Dêrom, SQL kennis sil helpe alle sektoaren fan ûntwikkeling.

Lykwols, modifikaasje fan memmetaal standert soms ferskille fan elkoar. Bygelyks, PL SQL operators meie hawwe ferskillende syntaksis as in SQL-tsjinner. Dus foardat jo begjinne ûntwikkeljen mei dizze technyk, is it nedich om 'e kunde komme mei it troch de rjochtlinen.

Yn de takomst collega, dy't koe boppen de SQL funksjonaliteit en prestaasjes, liket it der net om te ferskine, dus dit wurkingssfear is nochal in kânsrike nis foar eltse programmeur.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fy.birmiss.com. Theme powered by WordPress.