ÒdinatèPwogram

Debaz deklarasyon SQL

SQL estanda te adopte an 1992 epi li toujou nan itilize jodi a. Ke li te vin devni yon referans pou anpil sistèm jesyon baz done. Natirèlman, gen kèk manifaktirè sèvi ak entèpretasyon pwòp yo nan estanda la. Men, nan nenpòt ki sistèm, gen toujou eleman prensipal yo - deklarasyon SQL.

entwodiksyon

Lè l sèvi avèk deklarasyon SQL nan baz done a rive tab valè jesyon ak preparasyon yo pou plis analiz ak ekspozisyon. Yo se yon seri mo kle, pa ki sistèm nan konnen ki sa fè ak done yo.

Defini kategori plizyè nan deklarasyon SQL:

  • definisyon nan objè baz done;
  • manipile valè;
  • pwoteksyon ak jesyon;
  • paramèt sesyon;
  • Enfòmasyon sou baz la;
  • estatik SQL;
  • dinamik SQL.

deklarasyon SQL pou done manipilasyon

Kategori sa a gen ladan mo kle sa yo ak kote ou ka kontwole plasman an nan valè nan baz done a.

INSERT. Foure yon ranje nan yon tab ki egziste deja. Li kapab itilize kòm yon valè yon selibatè oubyen miltip, defini nan yon kondisyon sèten. Pou egzanp:

insert nan

non an tab (kolòn 1 non, non kolòn nan 2)

Valè (valè 1 valè 2).

Pou itilize operatè deklarasyon SQL INSERT la ak valè miltip, sèvi ak sentaks ki anba la a:

insert nan

Non 1 tab (non nan kolòn nan 1, kolòn Non 2)

Chwazi Non kolòn 1, non kolòn nan 2

Nan non tab 2

KI KOTE Non 2.imya tab kolòn 1> 2

rechèch sa a chwazi tout done a nan Tablo 2, ki se pi gwo pase 2 pou 1 kolòn ak keratin yo nan premye a.

MIZAJOU. Kòm non an implique, deklarasyon sa a dènye done yo rechèch SQL nan yon tab ki egziste deja sou yon baz sèten.

egzanp:

MIZAJOU tab Non 1

Non SET kolòn = 2 "Basil"

KI KOTE tab Non 1.imya kolòn 1 = 1

Estrikti sa a ranpli valè Basil tout ranje ki satisfè nimewo a 1 nan premye kolòn nan.

Efase. Efase done ki nan tab la. Ou ka presize nenpòt ki kondisyon oswa yo retire tout ranje yo.

Efase nan non tab

KI KOTE Non tablitsy.imya kolòn 1 = 1

rechèch ki anwo la a pral efase tout done ki nan baz done a ak yon sèl valè a nan premye kolòn nan. Men ki jan ou ka klè tab la tout antye:

Efase nan non tab.

Next se nesesè yo di sou deklarasyon an chwazi. Li se youn nan pi enpòtan an, se konsa li pral gen konsakre yon chapit apa.

chwazi deklarasyon

Objektif prensipal chwazi - seleksyon nan done dapre sèten kondisyon. Rezilta a nan travay li se toujou yon tab nouvo ak chwazi done. MS operatè SQL chwazi ka itilize yo pwa demann diferan. Se poutèt sa, ansanm ak li, ou ka konsidere lòt mo kle ki gen rapò.

Pou chwazi tout done senbòl la "*" se itilize nan yon tab an patikilye.

chwazi *

Nan non tab 1

Rezilta a nan rechèch sa a pral yon kopi egzak la tab la 1.

Ak isit la se chache pa KI KOTE kondisyon ki rale soti nan tablo 1, tout valè ki pi konsekan pase 2 nan kolòn 1.

chwazi *

Nan non tab 1

KI KOTE Non 1.imya tab kolòn 1> 2

Ou kapab tou presize nan seleksyon an ke se sèlman sèten kolòn yo bezwen.

Chwazi Non tab 1.imya kolòn 1

Nan non tab 1

Rezilta a nan rechèch sa a pral tout liy ak valè nan kolòn 1. Lè l sèvi avèk operatè MS SQL ka kreye tab pwòp li yo, nan kou a nan ranplase, kalkile ak ranplase valè sèten.

chwazi

Non tab 1.imya kolòn 1

Non tab 1.imya kolòn 2

Non tab 1.imya kolòn 3

«=» AS EQ

Non tab 1.imya kolòn 2 nan non an tab * 1.imya kolòn 3 AS sòm

Nan non tab 1

Sa a rechèch w pèdi konplèks èkstre tout valè yo nan tablo 1, ak Lè sa kreye yon kolòn ak nouvo EQ sòm. Premye antre nan "+" siy, nan kolòn nan done dezyèm nan pwodwi a 2 ak 3. rezilta Sa a ka reprezante kòm yon tab, pou konprann ki jan li fonksyone:

kolòn 1

kolòn 2

kolòn 3

EQ

SUMMA

Non Product 1

10

50

+

500

Non Product 2

15

100

+

1500

Si w ap itilize yon deklarasyon chwazi, ou ka imedyatman pase kòmann-nan done sou nenpòt ki rezon. Li itilize LÒD nan mo pa.

chwazi

Non tab 1.imya kolòn 1

Non tab 1.imya kolòn 2

Non tab 1.imya kolòn 3

Nan non tab 1

LÒD pa non kolòn 2

tab la ki kapab lakòz pral gade tankou sa a:

kolòn 1

kolòn 2

kolòn 3

1

1

54

3

2

12

7

3

100

2

5

1

Sa se, tout liy yo yo te enstale nan yon fason ki kolòn 2 valè yo te moute.

Done kapab tou gen pou jwenn nan tab miltip. Pou klè, ou dwe premye imajine ke yo gen de, gen kèk ki nan baz done a:

Table "Anplwaye"

nimewo

non

ti non

1

Vasya

Vasin

2

Petya

Petin

Tab "Salè"

nimewo

pousantaj

kredite yo ak

1

1

10000

2

0.5

3500

Koulye a, ou bezwen, tankou ki lye ak de tab yo jwenn valè komen. Lè l sèvi avèk deklarasyon SQL debaz li ka fè jan sa a:

chwazi

Sotrudniki.Nomer

Sotrudniki.Imya

Zarplata.Stavka

Zarplata.Nachisleno

KI SOTI NAN Anplwaye Salè

KI KOTE Sotrudniki.Nomer = Zarplata.Nomer

Gen chache nan de tab diferan nan valè, ini pa kantite. Rezilta a se seri ki anba la a nan done:

nimewo

non

pousantaj

kredite yo ak

1

Vasya

1

10000

2

Petya

0.5

3500

Yon ti kras plis enfòmasyon sou chwazi a. Lè l sèvi avèk fonksyon total

Youn nan debaz deklarasyon sa yo SQL chwazi ka pwodwi kèk kalkil nan echantiyon an. Pou fè sa, li itilize sèten fonksyon ak fòmil.

Pou egzanp, yo ka resevwa nimewo a nan dosye nan tablo "Anplwaye yo", ou bezwen sèvi ak rechèch la:

Chwazi konte (*) AS N

KI SOTI NAN Anplwaye

Rezilta a pral gen yon tab la avèk yon kolòn ak valè.

N

2

ka fonksyon dwe itilize nan demann ki kalkile sòm, kantite maksimòm la ak valè minimòm, ak mwayèn. Pou fè sa, mo kle yo te itilize sòm, MAX, MIN, Proved.

Pou egzanp, li nesesè yo kenbe yon echantiyon nan deja li te ye "Salè" tab la:

nimewo

pousantaj

kredite yo ak

1

1

10000

2

0.5

3500

Ou ka aplike yon demand konsa ak wè sa ki k ap pase:

chwazi

Sòm (Zarplata.Nachisleno) AS sòm

MAX (Zarplata.Nachisleno) AS MAX

MIN (Zarplata.Nachisleno) AS MIN

Proved (Zarplata.Nachisleno) AS SRED

KI SOTI NAN Salè

tab final la pral jan sa a:

SUMMA

MAX

MIN

SRED

13500

10000

3500

6750

Sa a se fason a, ou ka chwazi nan yon baz done valè yo apwopriye sou vole a fè yon kalkil nan fonksyon divès kalite.

Union, entèseksyon ak diferans

Konbine queries miltip nan SQL

chwazi Sotrudniki.Imya

KI SOTI NAN Anplwaye

KI KOTE Sotrudniki.Nomer = 1

UNION

chwazi Sotrudniki.Imya

KI SOTI NAN Anplwaye Salè

KI KOTE Zarplata.Nomer = 1

Li ta dwe transmèt nan tèt ou ke nan tablo asosyasyon sa a dwe konpatib. Ki se, se gen menm kantite kolòn.

Sentaks la nan deklarasyon an chwazi ak pwosedi a pou yo travay sou

Premye bagay chwazi detèmine zòn nan ki soti nan ki li pral pran done yo. Pou fè sa, sèvi ak mo kle a soti nan. Si ou pa espesifye, ki sa yo chwazi.

Ou ka Lè sa a, prezante deklarasyon an SQL KI KOTE. Avèk èd nan chwazi kouri nan chak ranje nan tablo a ak chèk done yo pou konfòmite avèk kondisyon an.

Si rechèch la gen yon Group BY, lè sa gen gwoupman nan valè nan paramèt sa yo.

Operatè yo konpare done

Yo gen plizyè kalite. Nan SQL operatè konparezon ka fè tès diferan kalite valè.

  • "=". Vle di, jan ou ta ka devine, egalite a nan de ekspresyon yo. Pou egzanp, li te deja te itilize nan egzanp yo pi wo a - KI KOTE Zarplata.Nomer = 1.

  • ">". Greater-pase siy. Si valè a nan bò gòch nan ekspresyon a gen plis pouvwa Lè sa a, vre a ki lojik se tounen epi li se kondisyon an satisfè.

  • "<". Mwens pase siy. Ranvèse operatè a anvan yo.

  • Siy "<=" ak "> =". Li diferan de operatè senp pi plis ak mwens se ke ak opérandes egal kondisyon se verite tou.

  • "<>". Mwen pa pran swen. se kondisyon an konsidere kòm vre, si sèlman yon sèl opérande se pa egal a yon lòt. Li gen yon sèl plis entèpretasyon - "! =".

RENMEN

Translate mo kle sa a kapab kòm "menm jan an." RENMEN operatè nan SQL yo itilize apeprè sou prensip la menm - kouri yon rechèch ki sòti nan yon modèl. Ki se, se li pèmèt ou elaji done yo echantiyon soti nan baz done a lè l sèvi avèk ekspresyon regilye.

Pou egzanp, li kouche tankou yon travay: soti nan deja li te ye baz "anplwaye nan" jwenn tout pèp la ki gen non fini ak "I". Lè sa a, ka demann lan dwe konpoze jan sa a:

chwazi *

KI SOTI NAN Anplwaye

KI KOTE non tankou:% Mwen `ll

Pousantaj siy nan ka sa a vle di mask la, se sa ki, nenpòt karaktè, ak nimewo yo. Ak nan lèt la, "Mwen» SQL detèmine ki karaktè ki sot pase a yo dwe ki fason.

CASE

Sa a sèvè deklarasyon SQL se yon aplikasyon nan plizyè chwa. Li sanble ak yon deklarasyon switch nan lang pwogramasyon anpil. deklarasyon CASE nan SQL fè yon aksyon sou plizyè kondisyon.

Pou egzanp, ou chwazi nan yon tab maksimòm "salè" ak valè minimòm.

nimewo

pousantaj

kredite yo ak

1

1

10000

2

0.5

3500

Lè sa a, ka demann lan dwe konpoze jan sa a:

chwazi *

KI SOTI NAN Salè

KI KOTE CASE LÈ chwazi MAX (chaje) EPI Maksimòm

LÈ chwazi MIN (chaje) EPI Minimòm

rezilta END

nan "chaje" kolòn nan nan kontèks sa a, sistèm nan sanble pou valè a maksimòm ak minimòm. Lè sa a, lè l sèvi avèk jaden an END kreye "manm", ki pral louvri sesyon nan "maksimòm la" oswa "minimòm" depann sou rezilta a nan kondisyon an.

By wout la, nan SQL gen yon fòm plis kontra enfòmèl ant nan CASE - sunir.

Done definisyon

Sa a wè pèmèt ou pote soti nan yon varyete de chanje tab - kreye, efase, modifye, ak travay avèk endis.

Yon sèl nan premye, ki se vo konsidere - KREYE TAB. Li fè pa gen anyen lòt pase kreye yon tab. Si ou tou senpleman tape KREYE rechèch TABLE, pa gen anyen ki pral rive, paske ou bezwen presize plizyè plis paramèt.

Pou egzanp, yo kreye tab la abitye "Anplwaye" vle sèvi ak kòmandman an:

KREYE Anplwaye TABLE

(Nimewo ID (10) PA nil

Non varchar (50) PA nil

Siyati varchar (50) PA nil)

Nan demann sa a, nan parantèz imedyatman defini non jaden ak kalite yo, osi byen ke si wi ou non li kapab nil.

gout TAB

Fè yon travay ki senp - yo retire di tab. Li te gen yon opsyon anplis SI egziste. Li absòbe yon erè lè efase, si tab la mande pa egziste. Egzanp yo itilize:

Gout TAB Anplwaye SI egziste.

KREYE Main Index

Nan SQL, gen yon sistèm nan endis, ki pèmèt pi vit aksè a done. An jeneral, li se yon lyen ki lonje dwèt nan yon kolòn patikilye. Kreye yon endèks kapab yon demann senp:

KREYE Main Index nazvanie_indeksa

SOU nazvanie_tablitsy (nazvanie_stolbtsa)

Sèvi ak deklarasyon sa a nan T-SQL, Oracle, PL SQL ak anpil lòt entèpretasyon teknoloji.

ALTER TABLE

Trè fonksyonèl operatè ak opsyon anpil. An jeneral, chanjman nan pwodui yon definisyon estrikti ak tab alokasyon. se operatè yo itilize nan Oracle SQL, postgr, ak anpil lòt moun.

pral Referans kounye a ka prezante ak opsyon divès kalite lè l sèvi avèk ALTER TABLE.

  • ADD. Pote soti adisyon a nan yon kolòn nan yon tab. Sentaks l 'sa a: ALTER TABLE ADD nazvanie_tablitsy tip_hranimyh_dannyh nazvanie_stolbtsa. Ka gen yon paramèt SI pa egziste, ki siprime yon erè si yon kolòn deja te kreye;

  • Gout. Retire kolòn. SI egziste se tou fini, ki pral jenere yon erè ki di ke kolòn nan mande pa egziste;

  • CHANJMAN. Itilize chanje non non an jaden espesifye. l 'Egzanp: ALTER TABLE CHANJMAN nazvanie_tablitsy oldname new_name;

  • Modifye. Kòmandman sa a pral chanje kalite a nan yon kolòn patikilye ak atribi figi adisyonèl. Epi li se itilize tankou sa a: ALTER TABLE MOTIFYE nazvanie_tablitsy datatip nazvanie_stolbtsa atribi;

KREYE VIEW

Nan SQL, gen tankou yon bagay tankou yon lide. Nan ti bout tan, li se yon kalite tab vityèl ak done yo. Li se ki te fòme kòm yon rezilta nan lè l sèvi avèk echantiyon an ak lang SQL chwazi deklarasyon an. Pwen de vi ka mete restriksyon sou aksè nan baz done a nan kache yo, yo ranplase non yo kolòn reyèl.

Pwosesis la nan Kreye fèt pa yon rechèch senp:

KREYE Non View VIEW AS chwazi nan * Non tab

Pran echantiyon ka pran plas kòm yon baz done antye kòm yon antye, ak nan yon kondisyon sèten.

Yon ti kras sou karakteristik yo ki

Nan SQL queries yo itilize souvan diferan fonksyon bati-an ki pèmèt ou kominike avèk done yo ak konvèti yo sou vole a. Li se vo konsidere yo, menm jan yo se yon pati entegral nan yon lang estriktire.

  • COUNT. Pwodui konte ranje oswa antre nan yon tab an patikilye. Kòm yon opsyon, ou ka presize non an kolòn, lè sa a done yo pral pran nan men l '. Chwazi konte * KI SOTI NAN Anplwaye;

  • Proved. Karakteristik sa a aplike sèlman nan kolòn ak done nimerik. rezilta li se detèminasyon an nan aritmetik a vle di nan tout valè;

  • MIN ak MAX. Fonksyon sa yo yo te itilize nan atik sa a. Yo defini maksimòm la ak valè minimòm de di kolòn;

  • Sòm. Li nan senp - fonksyon an kalkile sòm total la nan valè nan yon kolòn. Li se itilize sèlman pou kalite a done nimerik. Ajoute paramèt nan demann distenk, pral ajoute sèlman nan valè inik;

  • ROUND. Fonksyon awondi desimal nimewo fraksyon. Sentaks la itilize pa non an kolòn ak nimewo a nan kote desimal;

  • LEN. Yon fonksyon senp ki kalkile longè a nan kolòn nan. Rezilta a pral gen yon nouvo tab ki montre nimewo a nan karaktè;

  • Yo KOULYEYA. Sa a se mo kle itilize kalkile dat aktyèl la ak tan.

operatè adisyonèl

Anpil egzanp nan deklarasyon sa yo SQL yo mo kle ki fè travay piti, men kanmenm anpil senplifye echantiyon oswa aktivite baz done.

  • AS. Li se itilize lè ou vle vizyèlman fè aranjman pou rezilta a nan plase non an espesifye yo ka resevwa yon tab.

  • ANT. Yon zouti trè sou la men pou pran echantiyon. Li endike seri a nan valè, ki gen ladan bezwen an jwenn done yo. paramèt nan opinyon resevwa nan ak yon seri nimewo ki itilize;.

  • PA. Operatè a bay opoze a nan ekspresyon an.

  • Tronke. Retire done ki sòti nan di pòsyon baz. Diferan de sa yo operatè ki refè done apre yo fin itilize li yo enposib. Li nan vo anyen ke aplikasyon an nan yon mo kle ki te bay nan diferan SQL kapab entèpretasyon diferan. Se konsa, anvan ou eseye sèvi ak tronke, pi bon konnen ak enfòmasyon an jan nou koumanse.

  • Limit. Ansanm nimewo a nan liy pwodiksyon. Singularité a nan operatè a se ke li se toujou ki chita nan fen an. Li pran yon sèl obligatwa ak yon si ou vle paramèt. Premye a endike konbyen ranje ak done yo chwazi yo montre. Men, si dezyèm lan, Lè sa a, operatè a opere tou de seri a nan valè.

  • UNION. user-zanmitay Trè operatè nan konbine queries miltip. Li te deja te rankontre nan mitan egzanp yo nan sa a nan atik sa a. Ou ka montre ranje yo soti nan tab miltip, UNION konbine yo pou itilize pi bon. Sentaks l 'sa a: CHWAZI column_name nan tablo UNION chwazi nan tab imya_drugogo_stolbtsa imya_drugoy. Rezilta a se yon tab rezime de demand yo ini.

  • PRIMARY KLE. Tradui kòm "kle prensipal." Aktyèlman, se ke tèminoloji tankou yo itilize nan materyèl referans. Li se yon idantifyan inik pou ranje a. Yo itilize li, tankou yon règ, lè y ap kreye yon tab ki endike jaden an ki pral gen li.

  • Default. Menm jan operatè a anvan, yo itilize nan aplikasyon an nan kreye yon rechèch. Li defini valè a default, ki pral plen nan jaden an lè li se kreye.

Yon kèk ti konsèy yo devlope yon platfòm pou travay ak SQL

  1. Nil. Débutan epi li pa jis pwogramasyon nan preparasyon an nan demann souvan bliye sou disponiblite a nan valè null. Kòm yon rezilta a, kòd a erè trennen nan, ki se difisil yo swiv nan pwosesis la debogaj. Se poutèt sa, lè y ap kreye yon tab, oswa rekalkile valè echantiyon bezwen sispann ak panse, epi si nil ensidan se te pran an kont nan zòn nan rechèch.

  2. Memwa. Nan papye sa a nou te montre yon kantite fonksyon, kapasite pou fè sèten travay. Nan devlopman nan koki a yo travay avèk baz done a, ou ka "depasse" kalkil la nan ekspresyon senp nan sistèm nan baz done. Nan kèk ka, sa a bay yon ogmantasyon siyifikatif nan pèfòmans.

  3. Restriksyon sa yo. Si ou vle jwenn soti nan baz done a ak dè milye de ranje sèlman de, li se nesesè yo sèvi ak operatè tankou LIMIT oswa TOP. Pa bezwen rekipere done pa vle di nan koki a nan devlopman lang.

  4. Konekte. Lè yo resevwa done ki sòti nan tab plizyè, pwogramasyon anpil kòmanse diminye yo ansanm anvlòp memwa vle di. Men, poukisa? Apre yo tout, ou ka fè yon demann nan ki li pral tout dwe prezan. Ou pa oblije ekri kòd yon fwa rezève adisyonèl memwa nan sistèm nan.

  5. Fouye. Si li se posib pou aplike pou règleman an nan demann lan, se sa ki, fòs yo DBMS, li nesesè yo sèvi ak li. Sa a pral anpil konsève pou sou resous lè pwogram lan oswa sèvis.

  6. Anpil demann. Si ou gen insert yon anpil nan dosye nan sekans, lè sa a optimize ta dwe reflechi sou done yo pake se eleman yon sèl demann. Sa a pral tou ogmante pèfòmans nan nan sistèm nan tout antye.

  7. Atansyon plasman nan done. Anvan desen moute estrikti a baz bezwen panse osijè de ki jan ak si wi ou non tankou yon kantite tab ak jaden yo ki nesesè yo. Petèt gen se yon fason yo konbine yo, oswa bay moute kèk. Trè souvan, pwogramasyon sèvi ak yon kantite lajan twòp nan done ki se okenn kote epi pa janm itilize.

  8. Kalite. Pou konsève pou espas ak resous bezwen yo dwe sansib a ki kalite done itilize. Si ou ka pran avantaj de yon mwens "lou" pou di ki nan memwa, ou gen yo sèvi ak non l 'yo. Pou egzanp, si li se li te ye ki nan jaden sa a se se yon valè nimerik pa pral depase 255, poukisa itilize nan 4-multiple INT, si gen TINYINT 1 multiple.

konklizyon

An konklizyon, li ta dwe te note ke se lang la estriktire queries SQL se kounye a yo itilize prèske tout kote - sou sit entènèt, sèvis entènèt, lojisyèl Desktop, aplikasyon mobil. Se poutèt sa, konesans SQL pral ede tout sektè nan devlopman.

Sepandan, chanjman nan estanda lang natif natal pafwa diferan de youn ak lòt. Pou egzanp, PL operatè SQL ka gen diferan sentaks pase nan SQL sèvè. Se konsa, anvan ou kòmanse devlope ak teknoloji sa a, li nesesè jwenn konnen ak li pa direktiv.

Nan tokay yo nan lavni, sa ki kapab surpasser fonksyonalite a SQL ak pèfòmans, li se fasil a parèt, se konsa sijè ki abòde sa a se byen yon Tanporèman nich pwomèt pou nenpòt ki pwogramè.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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