Shembulli i mashtrimit SQL SQL


Në këtë udhëzues, ju do të gjeni një fletë mashtrimi të dobishme që dokumenton disa nga elementët më të përdorur SQL, dhe madje disa nga më pak të zakonshëm. Shpresojmë, se do të ndihmojë zhvilluesit – si niveli fillestar ashtu edhe me përvojë – të bëhen më të aftë në kuptimin e tyre të gjuhës SQL.

Përdoreni këtë si një referencë të shpejtë gjatë zhvillimit, një ndihmë mësimore, ose madje shtypeni dhe lidhni nëse do të preferonit (çfarëdo që të funksionojë!).

Por para se të arrijmë në vetë fletën e mashtrimit, për zhvilluesit që mund të mos jenë të njohur me SQL, le të fillojmë me…

Farë është SQL

SQL qëndron për gjuhën e strukturuar të pyetjeve. Theshtë gjuha e zgjedhjes në rrjetin e sotëm për ruajtjen, manipulimin dhe marrjen e të dhënave brenda bazave të të dhënave relacionale. Shumica, nëse jo të gjithë të faqeve të internetit që vizitoni do ta përdorin atë në një farë mënyre, përfshirë kjo një.

Ja si duket një bazë e të dhënave themelore e marrëdhënieve. Ky shembull në mënyrë të veçantë ruan informacionin e tregtisë elektronike, konkretisht produktet në shitje, përdoruesit që i blejnë ato dhe regjistrimet e këtyre porosive që lidhin këto 2 entitete.

Një bazë e të dhënave relacionale themelore

Duke përdorur SQL, ju jeni në gjendje të bashkëveproni me bazën e të dhënave duke shkruar pyetje, të cilat kur ekzekutohen, kthejnë çdo rezultat që plotëson kriteret e tij.

Këtu është një pyetje shembulli:-

SELECT * NGA përdoruesit;

Duke përdorur këtë deklaratë SELECT, pyetja zgjedh të gjitha të dhënat nga të gjitha kolonat në tabelën e përdoruesit. Pastaj do të kthente të dhënat si më poshtë, e cila zakonisht quhet një grup i rezultateve:-

Tabela e përdoruesve të shembujve

Nëse do të zëvendësonim karakterin e kartolinave të yllit (*) me emra specifikë të kolonave, vetëm të dhënat nga këto kolona do të ktheheshin nga pyetja.

SELECT emrin e parë, mbiemrin NGA përdoruesit;

Tabela e përdoruesve të shembujve me kolona të zvogëluara

Ne mund të shtojmë pak komplekse në një deklaratë SELECT standarde duke shtuar një klauzolë WHERE, e cila ju lejon të filtroni atë që kthehet.

SELECT * NGA produkte KU Stock_count <= 10 ORDER BY stock_count ASC;

Kjo pyetje do të kthejë të gjitha të dhënat nga tabela e produkteve me një vlerë stock_count më pak se 10 në grupin e rezultateve të saj.

Përdorimi i fjalës ORDER BY do të thotë që rezultatet do të porositen duke përdorur kolonën stock_count, vlerat më të ulëta deri më të larta.

Tabela e produkteve shembuj

Duke përdorur deklaratën INSERT INTO, ne mund të shtojmë të dhëna të reja në një tabelë. Këtu është një shembull themelor duke shtuar një përdorues të ri në tabelën e përdoruesve:-

Përdoruesit e INSERT INTO (emri i parë, mbiemri, adresa, emaili)
VLERAT ('Tester', 'Jester', '123 Fake Street, Sheffield, Mbretëria e Bashkuar', '[e mbrojtur me email]');

Atëherë nëse do të ribashkonit kërkesën për të kthyer të gjitha të dhënat nga tabela e përdoruesit, rezultatet e vendosura do të dukeshin kështu:

Tabela Shembull me rresht të ri

Sigurisht, këto shembuj demonstrojnë vetëm një përzgjedhje shumë të vogël të asaj që është e aftë gjuha SQL.

SQL vs MySQL

Ju mund të keni dëgjuar për MySQL më parë. Shtë e rëndësishme që ta mos e ngatërroni këtë me vetë SQL, pasi ka një ndryshim të qartë.

SQL vs MySQLSQL eshte gjuhe. Ajo përshkruan sintaksën që ju lejon të shkruani pyetje që menaxhojnë bazën e të dhënave relacionale. Asgje me shume.

MySQL ndërkohë është një bazë e të dhënave sistem që funksionon në një server. ajo orendi gjuha SQL, duke ju lejuar të shkruani pyetje duke përdorur sintaksën e saj për të menaxhuar bazën e të dhënave MySQL.

Përveç MySQL, ekzistojnë edhe sisteme të tjera që implementojnë SQL. Disa nga ato më të njohura përfshijnë:

  • PostgreSQL
  • SQLite
  • Baza e të dhënave Oracle
  • Server SQL Microsoft

Instalimi i MySQL

Windows

Mënyra e rekomanduar për të instaluar MySQL në Windows është duke përdorur instaluesin që mund ta shkarkoni nga Uebfaqja e MySQL.

Instaloni MySQL Windows

MacOS

Në macOS, mënyra e rekomanduar për të instaluar MySQL është përdorimi i paketave amtare, gjë që tingëllon shumë më e ndërlikuar sesa është në të vërtetë. Në thelb, ajo gjithashtu përfshin vetëm shkarkimin e një installer.

Instaloni MySQL Mac

Përndryshe, Nëse preferoni të përdorni menaxherë të paketave si psh Homebrew, mund të instaloni MySQL si kështu:

krijoj instaloni mysql

Ndërsa nëse duhet të instaloni versionin më të vjetër MySQL 5.7, i cili përdoret akoma gjerësisht sot në internet, mund të:

instaloni krijoj [email i mbrojtur]

Duke përdorur MySQL

Me MySQL të instaluar tani në sistemin tuaj, për t'u ngritur dhe shpejt duke shkruar pyetje SQL, rekomandohet të përdorni një aplikim të menaxhimit SQL për të bërë menaxhimin e bazave të të dhënave tuaja një proces shumë më të thjeshtë dhe më të lehtë.

Ka shumë aplikacione për të zgjedhur nga të cilat kryesisht kryejnë të njëjtën punë, kështu që varet nga preferenca juaj personale në të cilën mund të përdorni:

  • Workbench MySQL është zhvilluar nga Oracle, pronari i MySQL.
  • HeidiSQL (Windows e rekomanduar) është një aplikacion falas me burim të hapur për Windows. Për përdoruesit e macOS dhe Linux, verë së pari kërkohet si parakusht.
  • phpMyAdmin është një alternativë shumë e njohur që funksionon në shfletuesin në internet.
  • Sequel Pro (MakOS e rekomanduar) është alternativa e vetme e makOS-it dhe falë preferimit tonë për ndërfaqen e saj të qartë dhe të lehtë për t’u përdorur.

Kur të jeni gati të filloni të shkruani pyetjet tuaja SQL, në vend që të shpenzoni kohë për krijimin e bazës së të dhënave tuaja, konsideroni të importoni të dhëna në gjumë në vend.

Uebfaqja e MySQL siguron një numër të databazat e dhive që mund ta shkarkoni falas dhe më pas të importoni në aplikacionin tuaj SQL.

Baza e të dhënave Dummy MySQL

E preferuara jonë e këtyre është botë bazën e të dhënave, e cila ofron disa të dhëna interesante për të praktikuar shkrimin e pyetjeve SQL për. Këtu keni një pamje të tabelës së vendit të saj në Sequel Pro.

Sequel Pro Shembull

Ky pyetje shembulli i kthen të gjitha vendet me Mbretëreshën Elizabeta II si kryetare e shtetit të tyre.

Sequel Pro Shembull

Ndërsa kjo i kthen të gjitha vendet evropiane me një popullsi prej mbi 50 milion, së bashku me kryeqytetin e tyre dhe popullsinë e saj.

Sequel Pro Shembull

Dhe kjo e fundit kthen përqindjen mesatare të folësve francezë në vendet ku numri i përgjithshëm i folësve francezë është më i lartë se 10%.

Sequel Pro Shembull

Fletë mashtrimi

Keywords

Një koleksion i fjalëve kyçe të përdorura në deklaratat SQL, një përshkrim, dhe aty ku është e përshtatshme, një shembull. Disa nga fjalët më të avancuara kanë pjesën e tyre të veçantë më vonë në fletën mashtruese.

Kur MySQL përmendet pranë një shembulli, kjo do të thotë që ky shembull është i zbatueshëm vetëm për bazat e të dhënave MySQL (në krahasim me çdo sistem tjetër të dhënash).

Fjalë kyçe SQL
KeywordPërshkrim
FuteniShton një kolonë të re në një tabelë ekzistuese.

shembull: Shton një kolonë të re të quajtur "email_address" në një tabelë të quajtur "përdoruesit".

SHKONI përdoruesit
Shtoni email_address varchar (255);
SHP CONRNDARJEKrijon një kufizim të ri në një tabelë ekzistuese, i cili përdoret për të specifikuar rregullat për çdo të dhënë në tabelë.

shembull: Shton një pengesë të re KEY PARIMORE, të quajtur "përdorues" në ID-të e kolonave dhe SURNAME.

SHKONI përdoruesit
Shtoni përdoruesin e KONSTRAINT KEY PARIMORE (ID, SURNAME);
NDRME TABELAShton, fshinë ose redakton kolonat në një tabelë. Mund të përdoret gjithashtu për të shtuar dhe fshirë kufizimet në një tabelë, sipas mësipërm.

shembull: Shton një kolonë të re boolean të quajtur "të aprovuar" në një tryezë të quajtur "marrëveshje".

SHKONI marrëveshjet TABELA
SH approvedRBIMI i miratuar i bool;

Shembulli 2: Fshin kolonën e ‘miratuar’ nga tabela ‘marrëveshjet’

SHKONI marrëveshjet TABELA
Miratuar KOLONI DROP;
SHTETI KOLONINdryshon llojin e të dhënave të kolonës së tabelës.

shembull: Në tabelën "përdoruesit", bëni kolonën "incept_date" në një "datetime".

SHKONI përdoruesit
ALTER COLUMN data incept_date;
ALLKthehet e vërtetë nëse të gjitha vlerat e subquery plotësojnë kushtin e kaluar.

shembull: Kthen përdoruesit me një numër më të madh detyrash sesa përdoruesi me numrin më të madh të detyrave në departamentin e HR (id 2)

SELECT emrin e parë, mbiemrin, detyrat
NGA përdoruesit
KU detyra_no> GJITHA (ZGJIDHJE detyrat NGA përdoruesi WHERE departamenti_id = 2);
DHEPërdoret për t'u bashkuar me kushte të ndara brenda një klauzole WHERE.

shembull: Kthen ngjarje të vendosura në Londër, Mbretëria e Bashkuar

SELECT * NGA ngjarje
WHERE host_country = 'Mbretëria e Bashkuar' DHE host_city = 'Londër';
NDONJEKthehet e vërtetë nëse ndonjë nga vlerat e subkursit plotëson kushtin e dhënë.

shembull: Kthen produkte nga tabela e produkteve të cilat kanë marrë porosi - të ruajtura në tabelën e porosive - me një sasi më shumë se 5.

SELECT emër
NGA produktet
WHERE productId = YDO (PRODHIMI I PLERZGJEDHUR nga urdhërat KU Sasia> 5);
ASRiemërton një tabelë ose kolonë me një vlerë alias e cila ekziston vetëm për kohëzgjatjen e pyetjes.

shembull: Emërton kolonën e veriut_east_user_subscription

SELECT veri_east_user_subscriptions AS ne_subs
NGA përdoruesit
KU NE_Subs> 5;
ASCPërdoret me ORDER BY për të kthyer të dhënat në rend ngjitje.

shembull: Mollë, Banane, Pjeshkë, Rrallë

NDËRMJETZgjedh vlerat brenda intervalit të caktuar.

Shembulli 1: Zgjedh stokun me një sasi midis 100 dhe 150.

SELECT * NGA aksioneve
KU Sasia midis 100 dhe 150;

Shembulli 2: Zgjedh stokun me një sasi JO ndërmjet 100 dhe 150. Përndryshe, duke përdorur fjalen NUK këtu ndryshon logjikën dhe zgjedh vlerat jashtë intervalit të dhënë.

SELECT * NGA aksioneve
KU Sasia NUK NDETR 100 dhe 150;
RASTNdryshoni rezultatin e pyetjes në varësi të kushteve.

shembull: Kthen përdoruesit dhe pajtimet e tyre, së bashku me një kolonë të re të quajtur activ_levels që bën një gjykim bazuar në numrin e pajtimeve..

SELECT emrin e parë, mbiemrin, abonimet
RASTI KU Pajtime> 10 THEN 'Shumë aktiv'
KUR SASI ND 3R 3 dhe 10 THEN 'aktiv'
ELSE 'joaktive'
Përfundoni si aktivitet_levels
NGA përdoruesit;
CHECKShton një kufizim që kufizon vlerën që mund të shtohet në një kolonë.

Shembulli 1 (MySQL): Sigurohet që çdo përdorues i shtuar në tabelën e përdoruesve të jetë mbi 18 vjeç.

Krijoni përdoruesit TABELA (
first_name varchar (255),
mosha int,
SHKENC (mosha> = 18)
);

Shembulli 2 (MySQL): Shton një kontroll pasi tabela është krijuar tashmë.

SHKONI përdoruesit
SHKENI KUJDES (mosha> = 18);
KRIJONI DHASNATKrijon një bazë të dhënash të re.

shembull: Krijon një bazë të dhënash të re me emrin "faqet e internetit".

Krijoni DATABASE faqet e internetit;
KRIJONI TABELNKrijon një tabelë të re .

shembull: Krijon një tabelë të re të quajtur "përdorues" në bazën e të dhënave "faqja e internetit".

Krijoni përdoruesit TABELA (
id int,
first_name varchar (255),
mbiemri varchar (255),
adresë varchar (255),
kontakt_number int
);
DEFAULTVendos një vlerë të paracaktuar për një kolonë;

Shembulli 1 (MySQL): Krijon një tabelë të re të quajtur Produkte e cila ka një kolonë emri me një vlerë të paracaktuar të "Emrit të Vendit të Vendit" dhe një kolonë të disponueshme_from me një vlerë të paracaktuar të datës së sotme.

Krijoni produkte TABELA (
id int,
emri varchar (255) DEFAULT 'Emri i mbajtësit të vendndodhjes',
në dispozicion_ nga data GETDATE DEFAULT ()
);

Shembulli 2 (MySQL): Njësoj si më lart, por duke redaktuar një tabelë ekzistuese.

SHKONI produktet e tabelës
SHQYRTI emri SET DEFAULT 'Emri i mbajtësit të vendndodhjes',
SHKONI në dispozicion_from DISPOZITA E DEPULLIMIT ();
DELETEFshini të dhënat nga një tabelë.

shembull: Heq një përdorues me një user_id prej 674.

DELETE NGA përdoruesit WHERE user_id = 674;
DESCPërdoret me ORDER BY për të kthyer të dhënat në rend zbritës.

shembull: Rrepkë, pjeshkë, banane, mollë

KOLONI DROPFshin një kolonë nga një tabelë.

shembull: Heq kolonën first_name nga tabela e përdoruesve.

SHKONI përdoruesit
DROP COLUMN first_name
DROBASE DROPFshin gjithë bazën e të dhënave.

shembull: Fshin një bazë të dhënash me emrin "faqet e internetit".

DROP DATABASE faqet e internetit;
DEPULTIMI I DROPITHeq një vlerë të paracaktuar për një kolonë.

Shembull (MySQL): Heq vlerën e paracaktuar nga kolona "emër" në tabelën "produkte".

SHKONI produktet e tabelës
ALTER emrin e kolonës DROP DEFAULT;
TABELA E BARNAVEFshin një tabelë nga një bazë të dhënash.

shembull: Heq tabelën e përdoruesve.

Përdoruesit e DROP TABELA;
EKZISTONKontrollon ekzistencën e ndonjë regjistrimi brenda subquery, duke u kthyer e vërtetë nëse janë kthyer një ose më shumë rekorde.

shembull: Liston çdo tregtar me një përqindje të financimit të marrëveshjes më pak se 10.

SELECT tregtimi_name
NGA shitjet
KU JANE SHKOLLAT (SELECT deal_name FROM merret WHERE dealership_id = marrëveshje.dealership_id DHE financa_përqendrimi < 10);
NGASpecifikon nga cila tabelë për të zgjedhur ose fshirë të dhënat nga.

shembull: Zgjedh të dhënat nga tabela e përdoruesve.

SELECT zonë_manager
NGA zonat_managers
KU JANE SHPENZIMET (ZGJEDHJE Emri i Produktit NGA Produkte KUSHI area_manager_id = marrëveshje.area_manager_id DHE Pricemimi < 20);
Përdoret së bashku me një klauzolë WHERE si një rrugë e shpejtë për kushte të shumëfishta OSE.

Kështu që në vend të:-

SELECT * NGA përdoruesit
KU vendi = 'SH.B.A. ose vend =' Mbretëria e Bashkuar 'OSE vend =' Rusia 'OSE vend =' Australia ';

Ju mund të përdorni:-

SELECT * NGA përdoruesit
KU SHTETI IN ("SH.B.A.", "Mbretëria e Bashkuar", "Rusia", "Australia");
INSERT nëShtoni rreshta të rinj në një tabelë.

shembull: Shton një automjet të ri.

INSERT INTO makina (bëj, model, largësi, vit)
VLERAT ('Audi', 'A3', 30000, 2016);
SHT N NULLTeste për vlerat boshe (NULL).

shembull: Kthen përdoruesit që nuk kanë dhënë një numër kontakti.

SELECT * NGA përdoruesit
KU kontakto_numër është NULL;
NUK është NULLE kundërta e NULL. Teste për vlerat që nuk janë bosh / NULL.
LIKEKthehet e vërtetë nëse vlera operand përputhet me një model.

shembull: Kthehet e vërtetë nëse emri i parë i përdoruesit përfundon me "djalin".

SELECT * NGA përdoruesit
WHERE first_name LIKE '% bir';
NUKKthehet e vërtetë nëse një rekord NUK e plotëson gjendjen.

shembull: Kthehet e vërtetë nëse emri i parë i përdoruesit nuk mbaron me "bir".

SELECT * NGA përdoruesit
KU E para_name NUK KENI '% bir';
ORPërdoret së bashku me WHERE për të përfshirë të dhëna kur secila gjendje është e vërtetë.

shembull: Kthen përdoruesit që jetojnë në Sheffield ose Manchester.

SELECT * NGA përdoruesit
KU qytet = 'Sheffield' OSE 'Manchester';
URDHËR NGAPërdoret për të renditur të dhënat e rezultatit në rend ngjitje (parazgjedhur) ose rend zbritës përmes përdorimit të fjalëve kyçe ASC ose DESC.

shembull: Kthen vendet në rend alfabeti.

SELECT * NGA vendet
RRETH NGA emri;
ROWNUMKthen rezultate kur numri i rreshtit plotëson gjendjen e kaluar.

shembull: Kthen 10 vendet e para nga tabela e vendeve.

SELECT * NGA vendet
KU ROWNUM <= 10;
SELECTPërdoret për të zgjedhur të dhënat nga një bazë të dhënash, e cila më pas kthehet në një grup rezultatesh.

Shembulli 1: Zgjedh të gjitha kolonat nga të gjithë përdoruesit.

SELECT * NGA përdoruesit;

Shembulli 2: Zgjedh kolonat first_name dhe mbiemër nga të gjithë përdoruesit.xx

SELECT first_name, mbiemri NGA përdoruesit;
ZGJIDHJE SHTYPEmrat si SELECT, përveç vlerave të kopjuara janë të përjashtuara.

shembull: Krijon një tabelë rezervë duke përdorur të dhëna nga tabela e përdoruesve.

SELECT * N users përdoruesitBackup2020
NGA përdoruesit;
ZGJIDHNI NOKopjon të dhënat nga një tabelë dhe i fut ato në një tjetër.

shembull: Kthen të gjitha vendet nga tabela e përdoruesve, duke hequr çdo vlerë të kopjuar (e cila do të ishte shumë e mundshme)

SELECT DISTINCT vend nga përdoruesit;
Zgjedhin kryeJu lejon të ktheni një numër të caktuar regjistrimesh për t'u kthyer nga një tabelë.

shembull: Kthen 3 makinat kryesore nga tabela e makinave.

SELECT TOP 3 * NGA makina;
SETPërdoret së bashku me UPDATE për të azhurnuar të dhënat ekzistuese në një tabelë.

shembull: Përditëson vlerat e vlerës dhe sasisë për një porosi me një identitet prej 642 në tabelën e urdhrave.

UPDATE porositë
Vlera e përcaktimit = 19.49, sasia = 2
KU IDE = 642;
DISAIdentike me DO.
TOPPërdoret së bashku me SELECT për të kthyer një numër të caktuar rekordesh nga një tabelë.

shembull: Kthen 5 përdoruesit kryesorë nga tabela e përdoruesve.

SELECT TOP 5 * NGA përdoruesit;
TABELA E TRUNCATSNgjashëm me DROP, por në vend që të fshijë tabelën dhe të dhënat e saj, kjo fshin vetëm të dhënat.

shembull: Zbraz tryezën e seancave, por e lë vetë tabelën të paprekur.

Sesione të tryezës;
UNIONKombinon rezultatet nga 2 ose më shumë deklarata SELECT dhe kthen vetëm vlera të dallueshme.

shembull: Kthen qytetet nga tabela e ngjarjeve dhe pajtimtarëve.

SELECT qytet NGA ngjarje
UNION
SELECT qytet nga pajtimtarët;
BASHKIMI T ALL GJITHANjëlloj si UNION, por përfshin vlera të kopjuara.
UNIKKy kufizim siguron që të gjitha vlerat në një kolonë të jenë unike.

Shembulli 1 (MySQL): Shton një kufizim unik në kolonën e id kur krijon një tabelë të re të përdoruesve.

Krijoni përdoruesit TABELA (
id int NULL,
emri varchar (255) NUK NUM NR,
UNIK (ID)
);

Shembulli 2 (MySQL): Ndryshon një kolonë ekzistuese për të shtuar një kufizim UNIQUE.

SHKONI përdoruesit
SHTOJ UNIK (ID);
UPDATEPërditëson të dhënat ekzistuese në një tabelë.

shembull: Azhurnon kilometrat e largësisë dhe shërbiminVlerat e vlerësimit për një automjet me një identitet prej 45 në tabelën e veturave.

UPDATE makina
Vendosni kilometrazhin = 23500, shërbimiDue = 0
KU IDE = 45;
VLERATPërdoret së bashku me fjalen INSERT INTO për të shtuar vlera të reja në një tabelë.

shembull: Shton një makinë të re në tryezën e veturave.

INSERT INTO makina (emri, modeli, viti)
VLERAT ('Ford', 'Fiesta', 2010);
KURezultatet e filtrave përfshijnë vetëm të dhënat që plotësojnë kushtin e dhënë.

shembull: Kthen urdhra me një sasi më shumë se 1 artikull.

SELECT * NGA urdhrat
KU Sasia> 1;

Comments

Komente ju lejojnë të shpjegoni pjesët e deklaratave tuaja SQL, ose të komentoni kodin dhe të parandaloni ekzekutimin e tij.

Në SQL, ekzistojnë 2 lloje të komenteve, linja të vetme dhe multiline.

Komente me një linjë

Komentet e një linje fillojnë me -. Anydo tekst pas këtyre 2 karaktereve deri në fund të rreshtit do të injorohet.

-- Kërkimi im Zgjidh
SELECT * NGA përdoruesit;

Komente shumëpalëshe

Komentet multiline fillojnë me / * dhe mbarojnë me * /. Ato shtrihen nëpër vija të shumta derisa të gjenden karakteret mbyllëse.

/ *
Kjo është pyetja ime e zgjedhur.
Ajo rrëmben të gjitha rreshtat e të dhënave nga tabela e përdoruesve
* /
SELECT * NGA përdoruesit;

/ *
Ky është një tjetër pyetje e zgjedhur, të cilën nuk dua ta ekzekutoj akoma

SELECT * NGA detyra;
* /

Llojet e të dhënave MySQL

Kur krijoni një tabelë të re ose redaktoni një ekzistues, duhet të specifikoni llojin e të dhënave që secila kolonë pranon.

Në shembullin e mëposhtëm, të dhënat e kaluara në kolonën e identitetit duhet të jenë një int, ndërsa kolona e parë_name ka një lloj të dhënash VARCHAR me maksimum 255 karaktere.

Krijoni përdoruesit TABELA (
id int,
first_name varchar (255)
);

Llojet e vargjeve të të dhënave

Llojet e vargjeve të të dhënave
Lloji i të dhënavePërshkrim
CHAR (madhësia)Vargu me gjatësi fikse i cili mund të përmbajë shkronja, numra dhe karaktere speciale. Parametri i madhësisë përcakton gjatësinë maksimale të vargut, nga 0 - 255 me një parazgjedhje prej 1.
VARCHAR (madhësia)Varg me gjatësi të ndryshueshme të ngjashme me CHAR (), por me një gjatësi maksimale të vargut nga 0 deri në 65535.
Binary (madhësia)Ngjashëm me CHAR () por ruan fillesat binare të bajtit.
VARBINARY (madhësia)Ngjashëm me VARCHAR () por për vargjet binare të bajtit.
TINYBLOBMban objekte të mëdha binare (BLOB) me gjatësi maksimale 255 byte.
TINYTEXTMban një varg me një gjatësi maksimale 255 karaktere. Përdorni VARCHAR () në vend të kësaj, pasi që ai fitohet shumë më shpejt.
TEXT (madhësia)Mban një varg me një gjatësi maksimale 65535 bytes. Përsëri, më mirë të përdorni VARCHAR ().
BLOB (madhësia)Mban objekte të mëdha binare (BLOB) me gjatësi maksimale 65535 bytes.
MEDIUMTEXTMban një varg me një gjatësi maksimale 16,777,215 karaktere.
MEDIUMBLOBMban objekte të mëdha binare (BLOB) me gjatësi maksimale 16,777,215 bajt.
LONGTEXTMban një varg me një gjatësi maksimale prej 4,294,967,295 karaktere.
LONGBLOBMban objekte të mëdha binare (BLOB) me gjatësi maksimale 4,294,967,295 byte.
ENUM (a, b, c, etj…)Një objekt vargu që ka vetëm një vlerë, e cila është zgjedhur nga një listë e vlerave që ju përcaktoni, deri në një maksimum prej 65535 vlerash. Nëse shtohet një vlerë e cila nuk është në këtë listë, ajo zëvendësohet me një vlerë të zbrazët. Mendoni që ENUM të jetë i ngjashëm me kutitë e radios HTML në këtë drejtim.

Krijoni bluza TABLET (ngjyra ENUM (‘e kuqe’, ‘jeshile’, ‘blu’, ‘e verdhë’, ‘vjollcë’));
Vendosni (a, b, c, etj…)Një objekt vargu që mund të ketë 0 ose më shumë vlera, i cili zgjidhet nga një listë e vlerave që ju përcaktoni, deri në maksimum 64 vlera. Mendoni se SET është i ngjashëm me kutitë HTML në këtë drejtim.

Llojet numerike të të dhënave

Llojet e vargjeve të të dhënave
Lloji i të dhënavePërshkrim
BIT (madhësia)Një lloj bit i vlerës me një parazgjedhje prej 1. Numri i lejuar i biteve në një vlerë vendoset përmes parametrit të madhësisë, i cili mund të mbajë vlerat nga 1 në 64.
TINYINT (madhësia)Një numër i plotë shumë i vogël me një gamë të nënshkruar prej -128 në 127, dhe një gamë të nënshkruar nga 0 në 255. Këtu, parametri i madhësisë specifikon gjerësinë maksimale të lejuar të ekranit, i cili është 255.
boolNë thelb një mënyrë e shpejtë e vendosjes së kolonës në TINYINT me madhësi 1. 0 konsiderohet e rremë, ndërsa 1 konsiderohet e vërtetë.
BooleanNjësoj si BALL.
SMALLINT (madhësia)Një numër i plotë i vogël me një gamë të nënshkruar prej -32768 deri 32767, dhe një interval të nënshkruar nga 0 në 65535. Këtu, parametri i madhësisë specifikon gjerësinë maksimale të lejuar të ekranit, i cili është 255.
MEDIUMINT (madhësia)Një numër i plotë mesatar me një gamë të nënshkruar prej -8388608 deri 8388607, dhe një interval të nënshkruar nga 0 në 16777215. Këtu, parametri i madhësisë specifikon gjerësinë maksimale të lejuar të ekranit, i cili është 255.
INT (madhësia)Një numër i plotë mesatar me një gamë të nënshkruar prej -2147483648 deri në 2147483647, dhe një interval të nënshkruar nga 0 në 4294967295. Këtu, parametri i madhësisë specifikon gjerësinë maksimale të lejuar të ekranit, i cili është 255.
INTEGER (madhësia)Njësoj si INT.
BIGINT (madhësia)Një numër i plotë mesatar me një gamë të nënshkruar prej -9223372036854775808 deri 9223372036854775807, dhe një interval të nënshkruar nga 0 në 18446744073709551615. Këtu, parametri i madhësisë specifikon gjerësinë maksimale të lejuar të ekranit, i cili është 255.
Float (p)Një vlerë e numrit të pikës lundruese. Nëse parametri i saktësisë (p) është midis 0 dhe 24, atëherë lloji i të dhënave vendoset në FLOAT (), ndërsa nëse është nga 25 në 53, lloji i të dhënave vendoset në DOUBLE (). Kjo sjellje do të bëjë që ruajtja e vlerave të jetë më efikase.
DOUBLE (madhësia, d)Një vlerë e numrit të pikës lundruese ku shifrat totale përcaktohen nga parametri i madhësisë, dhe numri i shifrave pas pikës dhjetore përcaktohet nga parametri d.
DECIMAL (madhësia, d)Një numër i saktë i pikës fikse ku numri i përgjithshëm i shifrave është vendosur nga parametrat e madhësisë, dhe numri i përgjithshëm i shifrave pas pikës dhjetore përcaktohet nga parametri d.

Për madhësinë, numri maksimal është 65 dhe parazgjedhja është 10, ndërsa për d, numri maksimal është 30 dhe parazgjedhja është 10.

DEC (madhësia, d)Njësoj si DECIMAL.

Llojet e datës / orës së të dhënave

Llojet e datës / orës së të dhënave
Lloji i të dhënavePërshkrim
DATENjë datë e thjeshtë në formatin YYYY-MM-DD, me një interval të mbështetur nga ‘1000-01-01 to deri‘ 9999-12-31.
DATETIME (FSP)Një kohë data në YYYY-MM-DDh: mm: ss format, me një interval të mbështetur nga ‘1000-01-01 00:00:00 'deri në 99 9999-12-31 23:59:59'.

Duke shtuar DEFAULT dhe ON UPDATE në përkufizimin e kolonës, ai automatikisht vendos në datën / kohën aktuale.

TIMESTAMP (FSP)Një Unix Timestamp, e cila është një vlerë në krahasim me numrin e sekondave që nga epoka e Unix (‘1970-01-01 00:00:00 'UTC). Kjo ka një gamë të mbështetur nga-1970-01-01 00:00:01 'UTC deri në 38 2038-01-09 03:14:07' UTC.

Duke shtuar DEFAULT CURRENT_TIMESTAMP dhe ON UPDATE CURRENT TIMESTAMP në përkufizimin e kolonës, ai automatikisht vendos në datën / orën aktuale.

TIME (FSP)Një herë në formatin hh: mm: ss, me një interval të mbështetur nga 8 -838: 59: 59 'deri në 838: 59: 59'.
YEARNjë vit, me një gamë të mbështetur prej 01 1901 to deri 2155.

operatorët

Operatorët Aritmetikë

Operatorët Aritmetikë
operatorPërshkrim
+shtoj
-zbres
*Multiply
/përçaj
%modulo

Operatori Bitwise

Operatorët Bit bit
operatorPërshkrim
&Me pakëz DHE
|Bit bit OSE
^Ose ekskluzive Bit bit OSE

Operatorët e Krahasimit

Operatorët e Krahasimit
operatorPërshkrim
=E barabartë me
>Më e madhe se
<Më pak se
> =Më e madhe se ose e barabartë me
<=Më pak se ose e barabartë me
<>Jo e barabartë me

Operatorët e përbërë

Operatorët e përbërë
operatorPërshkrim
+=Shtoni të barabarta
-=Zbritja është e barabartë
* =Shumëzoni të barabartë
/ =Ndani të barabartë
% =Modulo është i barabartë
& =Bitwise DHE është i barabartë
^ - =Ekskluzive bitwise ekskluzive
| * =Bitwise OSE është e barabartë

Funksione

Funksionet e vargut

Funksionet e vargut
emërPërshkrim
ASCIIKthen vlerën ekuivalente ASCII për një karakter specifik.
CHAR_LENGTHKthen gjatësinë e karakterit të një varg.
CHARACTER_LENGTHNjësoj si CHAR_LENGTH.
CONCATShton shprehjet së bashku, me minimum 2.
CONCAT_WSShton shprehjet së bashku, por me një ndarës midis secilës vlerë.
FIELDKthen një vlerë të indeksit në lidhje me pozicionin e një vlere brenda një liste vlerash.
GJETI N SET SIKthen pozicionin e një vargu në një listë të vargjeve.
FORMATKur të kaloni një numër, kthen atë numër të formatuar për të përfshirë presje (p.sh. 3,400,000).
INSERTJu lejon të vendosni një varg në një tjetër në një pikë të caktuar, për një numër të caktuar karaktere.
INSTRKthen pozicionin e herës së parë kur një varg shfaqet brenda një tjetri.
LCASEKonvertoni një varg në shkronjë të vogël.
LEFTDuke u nisur nga e majta, nxirrni numrin e dhënë të karaktereve nga një varg dhe ktheni ato si një tjetër.
LENGTHKthen gjatësinë e një vargu, por me bajtë.
të gjetur vendndodhjen eKthen shfaqjen e parë të njërës tel brenda tjetrës,
LOWERNjësoj si LCASE.
LPADTavolina e majtë një tel me tjetrin, në një gjatësi specifike.
LTrimHiqni hapësirat kryesore nga vargu i dhënë.
MIDEkstrakton një varg nga një tjetër, duke filluar nga çdo pozicion.
POZICIONIKthen pozicionin e herës së parë që një substring shfaqet brenda një tjetri.
REPEATJu lejon të përsërisni një varg
ReplaceJu lejon të zëvendësoni çdo rast të një nënshtrimi brenda një vargu, me një substring të ri.
ReverseKthen mbrapa vargun.
RIGHTDuke u nisur nga e djathta, nxirrni numrin e dhënë të karaktereve nga një varg dhe ktheni ato si një tjetër.
RPADTavolina të drejta një varg me një tjetër, në një gjatësi specifike.
RTrimHeq çdo hapësirë ​​gjurmuese nga vargu i dhënë.
HAPËSIRËKthen një varg plot hapësira të barabarta me sasinë që i kalon.
strcmpKrahason 2 vargjet për dallimet
SUBSTRNxjerr një nënshtrim nga një tjetër, duke filluar nga çdo pozicion.
nënvargunNjësoj si SUBSTR
SUBSTRING_INDEXKthen një nënshtresë nga një varg para se substrimi i kaluar të gjendet numri i herë i barabartë me numrin e kaluar.
TRIMHeq hapësirat zvarritëse dhe drejtuese nga vargu i dhënë. Njësoj sikur të drejtonit LTRIM dhe RTRIM së bashku.
UCASEKonvertoni një varg në shkronjë të madhe.
UPPERNjësoj si RRETH.

Funksionet numerike

Funksionet numerike
emërPërshkrim
ABSKthen vlerën absolute të numrit të dhënë.
ACOSKthen kosinin e harkut të numrit të dhënë.
SI NËKthen sinusin e harkut të numrit të dhënë.
AtanKthen tangjentin e harkut të një ose 2 numrave të dhënë.
ATAN2Kthejeni tangjentin e harkut të 2 numrave të dhënë.
AVGKthen vlerën mesatare të shprehjes së dhënë.
mbulojKthen numrin e plotë më të afërt (numër të plotë) lart nga një numër i caktuar dhjetor.
tavanNjësoj si CEIL.
COSKthen kosinin e një numri të caktuar.
COTKthen bazën e një numri të caktuar.
COUNTKthen shumën e regjistrave që janë kthyer nga një pyetje SELECT.
DIPLOMAKonverton një vlerë të rrezatimit në shkallë.
DIVJu lejon të ndani numër të plotë.
EXPKthen e në fuqinë e numrit të dhënë.
FLOORKthen numrin e plotë më të afërt (numër të plotë) poshtë nga një numër i caktuar dhjetor.
MË E MADHEKthen vlerën më të lartë në një listë të argumenteve.
pAKTËNKthen vlerën më të vogël në një listë argumentesh.
LNKthen logaritmin natyror të numrit të dhënë
LOGKthen logaritmin natyror të numrit të dhënë, ose logaritmin e numrit të dhënë në bazën e dhënë
log10Bën njësoj si LOG, por në bazën 10.
LOG2Bën njësoj si LOG, por për bazën 2.
MAXKthen vlerën më të lartë nga një grup vlerash.
MINKthen vlerën më të ulët nga një grup vlerash.
MODKthen pjesën e mbetur të numrit të dhënë të ndarë me numrin tjetër të dhënë.
PIKthen PI.
POWKthen vlerën e numrit të dhënë të ngritur në fuqinë e numrit tjetër të dhënë.
POWERNjësoj si POW.
radianShndërron një vlerë graduale në radiot.
RANDKthen një numër të rastit.
ROUNDRrumbullakoni numrin e dhënë në sasinë e dhënë të vendeve dhjetore.
SHENJËKthen shenjën e numrit të dhënë.
SINKthen sinusin e numrit të dhënë.
sqrtKthen rrënjën katrore të numrit të dhënë.
SUMKthen vlerën e grupit të dhënë të vlerave të kombinuara.
TANKthen tangjentin e numrit të dhënë.
shkurtojKthen një numër të cunguar në numrin e dhënë të vendeve dhjetore.

Funksionet e datës

Funksionet e datës
emërPërshkrim
ADDDATEShtoni një interval datë (p.sh: 10 DITA) në një datë (p.sh: 20/01/20) dhe ktheni rezultatin (p.sh .: 20/01/30).
ADDTIMEShtoni një interval kohor (psh: 02:00) në një kohë ose datë (05:00) dhe ktheni rezultatin (07:00).
CURDATEMerrni datën aktuale.
CURRENT_DATENjësoj si KUJDES.
CURRENT_TIMEMerr kohën e tanishme.
CURRENT_TIMESTAMPMerrni datën dhe kohën aktuale.
CURTIMENjësoj si CURRENT_TIME.
DATENxjerr datën nga një shprehje datetime.
DATEDIFFKthen numrin e ditëve midis 2 datave të dhëna.
DATE_ADDNjësoj si SHTAT.
FORMATI I DATËSFormaton datën në modelin e dhënë.
DATE_SUBZbritni një interval datë (p.sh: 10 DITA) deri në një datë (p.sh: 20/01/20) dhe kthejeni rezultatin (psh: 20/01/10).
DAYKthen ditën për datën e caktuar.
DAYNAMEKthen emrin e ditës së javës për datën e dhënë.
DAYOFWEEKKthen indeksin për ditën e javës për datën e dhënë.
DAYOFYEARKthen ditën e vitit për datën e dhënë.
VjetërEkstrakt nga data e pjesës së dhënë (p.sh. MUAJ për 20/01/20 = 01).
NGA DITETKthejeni datën nga vlera e dhënë e datës numerike.
HOURKthejeni orën nga data e caktuar.
DITA E FUNDITMerrni ditën e fundit të muajit për datën e dhënë.
KOHA LOKALEMerr datën dhe kohën aktuale lokale.
LOCALTIMESTAMPNjësoj si LOCALTIME.
MAKEDATEKrijon një datë dhe e kthen atë, bazuar në vlerat e vitit të dhënë dhe numrin e ditëve.
MAKETIMEKrijon një kohë dhe e kthen atë, bazuar në vlerat e orës, minutës dhe sekondës së dhënë.
mikrosekondëKthen mikroskondin e një kohe ose datetime të caktuar.
MINUTEKthen minutën e kohës ose datës së caktuar.
MUAJKthen muajin e datës së caktuar.
MONTHNAMEKthen emrin e muajit të datës së dhënë.
TANINjësoj si LOCALTIME.
PERIOD_ADDShton numrin e caktuar të muajve në periudhën e dhënë.
PERIOD_DIFFKthen ndryshimin midis 2 periudhave të dhëna.
TREMUJORIKthen tremujorin e vitit për datën e dhënë.
DYTËKthen sekondën e një kohe ose dite të caktuar.
SEC_TO_TIMEKthen një kohë bazuar në sekondat e dhëna.
STR_TO_DATEKrijon një datë dhe e kthen atë bazuar në vargun dhe formatin e dhënë.
SUBDATENjësoj si DATE_SUB.
SUBTIMEZbrit një interval kohor (psh: 02:00) në një kohë ose datë (05:00) dhe kthen rezultatin (03:00).
SYSDATENjësoj si LOCALTIME.
TIMEKthen kohën nga një kohë ose data e caktuar.
TIME_FORMATKthen kohën e dhënë në formatin e dhënë.
TIME_TO_SECKonverton dhe kthen një kohë në sekonda.
TIMEDIFFKthen ndryshimin midis 2 shprehjeve të dhëna kohë / data.
TIMESTAMPKthen vlerën datetime të datës së dhënë ose datetime.
TO_DAYSKthen numrin e përgjithshëm të ditëve që kanë kaluar nga ‘00 -00-0000 deri në datën e dhënë.
JAVAKthen numrin e javës për datën e caktuar.
WEEKDAYKthen numrin e ditës së javës për datën e dhënë.
WEEKOFYEARKthen numrin e javës për datën e caktuar.
YEARKthen vitin nga data e caktuar.
YEARWEEKKthen numrin e vitit dhe javës për datën e dhënë.

Funksionet e gabuara

Funksionet e gabuara
emërPërshkrim
BINKthen numrin e dhënë në binar.
binaryKthen vlerën e dhënë si një tel binar.
CASTShndërroni një lloj në një tjetër.
rriten së bashkuNga një listë vlerash, ktheni vlerën e parë jo-null.
CONNECTION_IDPër lidhjen aktuale, ktheni ID-në unike të lidhjes.
CONVShndërroni numrin e dhënë nga një sistem i bazës numerike në një tjetër.
ConvertShndërroni vlerën e dhënë në të dhënat e dhëna ose grupin e karakterit.
CURRENT_USERKthejeni përdoruesin dhe emrin e hostit, i cili u përdor për të vërtetuar me serverin.
DATABASEMerrni emrin e bazës së të dhënave aktuale.
GRUPI NGAPërdoret së bashku me funksionet agregate (COUNT, MAX, MIN, SUM, AVG) për të grupuar rezultatet.

shembull: Liston numrin e përdoruesve me porosi aktive.

SELECT COUNT (user_id), aktiv_order
NGA përdoruesit
GRUPI NGA aktiv_order;
DUKEPërdoret në vendin e WHERE me funksione agregate.

shembull: Liston numrin e përdoruesve me porosi aktive, por përfshin vetëm përdorues me më shumë se 3 porosi aktive.

SELECT COUNT (user_id), aktiv_order
NGA përdoruesit
GRUPI NGA aktivizues
HAVING COUNT (user_id)> 3;
IFNëse gjendja është e vërtetë, kthimi i një vlere, përndryshe kthejeni një vlerë tjetër.
IFNULLNëse shprehja e dhënë barazohet me pavlefshmëri, kthejeni vlerën e dhënë.
ISNULLNëse shprehja është e pavlefshme, kthehu 1, përndryshe kthehu 0.
LAST_INSERT_IDPër rreshtin e fundit i cili u shtua ose azhurnua në një tabelë, ktheni identitetin e rritjes automatike.
NULLIFKrahason 2 shprehjet e dhëna. Nëse janë të barabartë, NULL kthehet, përndryshe shprehja e parë kthehet.
SESSION_USERKthehu përdoruesit aktual dhe emrat e hosteve.
SYSTEM_USERNjësoj si SESSION_USER.
USERNjësoj si SESSION_USER.
VERSIONKthen versionin e tanishëm të MySQL që krijon bazën e të dhënave.

Karakteristikat e Wildcard

Në SQL, Wildcards janë karaktere speciale të përdorura me fjalët kyçe LIKE dhe NUK LIKE të cilat na lejojnë të kërkojmë të dhëna me modele të sofistikuara shumë më me efikasitet

wildcards
emërPërshkrim
%Barazohet me zero ose më shumë karaktere.

Shembulli 1: Gjeni të gjithë përdoruesit me mbiemrat që mbarojnë në "bir".

SELECT * NGA përdoruesit
KU mbiemri LIKE '% bir';

Shembulli 2: Gjeni të gjithë përdoruesit që jetojnë në qytete që përmbajnë modelin "che"

SELECT * NGA përdoruesit
KU Qyteti LIKE '% che%';
_Barazohet me çdo personazh të vetëm.

shembull: Gjeni të gjithë përdoruesit që jetojnë në qytete duke filluar me çdo 3 karaktere, të ndjekur nga ‘chester '.

SELECT * NGA përdoruesit
KU Qyteti LIKE '___chester';
[Charlist]Barazohet me çdo personazh të vetëm në listë.

Shembulli 1: Gjeni të gjithë përdoruesit me emrat e parë që fillojnë me J, H ose M.

SELECT * NGA përdoruesit
WHERE first_name LIKE '[jhm]%';

Shembulli 2: Gjeni të gjithë përdoruesit me emrat e parë që fillojnë shkronjat midis A - L.

SELECT * NGA përdoruesit
WHERE first_name LIKE '[a-l]%';

Shembulli 3: Gjeni të gjithë përdoruesit me emrat e parë që nuk mbarojnë me shkronja midis n - ve.

SELECT * NGA përdoruesit
WHERE first_name LIKE '% [! N-s]';

Keys

Në bazën e të dhënave relacionale, ekziston një koncept i çelësave parësor dhe të huaj. Në tabelat SQL, këto përfshihen si kufizime, ku një tabelë mund të ketë një çelës kryesor, një çelës të huaj ose të dy.

Çelesi primar

Një çelës kryesor lejon që çdo rekord në një tabelë të identifikohet në mënyrë unike. Mund të ketë vetëm një çelës kryesor për tabelë, dhe këtë kufizim mund ta caktoni në çdo kolonë të vetme ose kombinim. Sidoqoftë, kjo do të thotë se secila vlerë brenda kësaj kolone (s) duhet të jetë unike.

Në mënyrë tipike në një tabelë, çelësi kryesor është një kolonë ID, dhe zakonisht çiftëzohet me fjalen AUTO_INCREMENT. Kjo do të thotë që vlera rritet automatikisht kur krijohen rekorde të reja.

Shembulli 1 (MySQL)

Krijoni një tabelë të re dhe vendosni çelësin kryesor në kolonën ID.

Krijoni përdoruesit TABELA (
id int NUK NULL AUTO_INCREMENT,
first_name varchar (255),
last_name varchar (255) NUK NULL,
adresë varchar (255),
email varchar (255),
KEY PARIMAR (id)
);

Shembulli 2 (MySQL)

Ndryshoni një tabelë ekzistuese dhe vendosni çelësin kryesor në kolonën first_name.

SHKONI përdoruesit
SHTOJ K KEY PARIMORE (first_name);

Keyelësi i huaj

Një çelës i huaj mund të zbatohet në një kolonë ose shumë dhe përdoret për të lidhur 2 tabela së bashku në një bazë të dhënash relacionale.

Siç shihet në diagramin më poshtë, tabela që përmban çelësin e huaj quhet çelësi i fëmijës, ndërsa tabela që përmban çelësin e referuar, ose çelësin e kandidatit, quhet tabela e prindërve.

Selësat MySQL

Kjo në thelb do të thotë që të dhënat e kolonës ndahen midis 2 tabelave, pasi një çelës i huaj gjithashtu parandalon futjen e të dhënave të pavlefshme të cilat nuk janë gjithashtu të pranishme në tabelën e prindërve.

Shembulli 1 (MySQL)

Krijoni një tabelë të re dhe shndërroni çdo kolonë që identifikon ID në tabela të tjera në çelësa të huaj.

Krijoni urdhra TABELA (
id int NULL,
user_id int,
produkt_id int,
KEY PARIMAR (id),
FOREIGN KEY (user_id) REFERENCES përdorues (id),
KUJT T (HUAJ (produkt_id) Referencat e produkteve (id)
);

Shembulli 2 (MySQL)

Ndryshoni një tabelë ekzistuese dhe krijoni një çelës të huaj.

SHKONI urdhrat
SHTOJI përdorues të REFERENCES (ID) të KUJTES SE HUAJ (user_id);

indekset

Indekset janë atribute që mund t'u caktohen kolonave që shpesh kërkohen kundër, për të bërë rikthimin e të dhënave një proces më të shpejtë dhe më të efektshëm.

Kjo nuk do të thotë që secila kolonë duhet të bëhet në një indeks, megjithëse kërkon më shumë kohë që një kolonë me një indeks të azhurnohet sesa një kolonë pa. Kjo sepse kur kolonat e indeksuar azhurnohen, vetë indeksi gjithashtu duhet të azhurnohet.

indekset
emërPërshkrim
KRIJONI INDEKSINKrijon një indeks me emrin ‘idx_test’ në kolonat first_name dhe mbiemër të tabelës së përdoruesve. Në këtë rast, vlerat kopjuese lejohen.

KRIJONI INDEX idx_test
Përdoruesit ON (emrin e parë, mbiemrin);
KRIJONI INDEKSIN E VETENjësoj si më lart, por pa vlera të kopjuara.

KRIJOI INDEXI UNIQUE idx_test
Përdoruesit ON (emrin e parë, mbiemrin);
INDEKSI I DROPITHeq një indeks.

SHKONI përdoruesit
DROP INDEX idx_test;

bashkohet

Në SQL, një klauzolë JOIN përdoret për të kthyer një grup të rezultateve që ndërthur të dhëna nga tabela të shumta, bazuar në një kolonë të përbashkët e cila paraqitet në të dyja ato

Ekzistojnë një numër lidhjesh të ndryshme që mund të përdorni:-

  • Join Inner (Default): Kthen çdo regjistrim që ka vlera përputhen në të dy tabelat.
  • Bashkohuni majtas: Kthen të gjitha rekordet nga tabela e parë, së bashku me të gjitha regjistrimet që përputhen nga tabela e dytë.
  • Bashkohu drejt: Kthen të gjitha rekordet nga tabela e dytë, së bashku me të gjitha regjistrimet që përputhen nga e para.
  • Bashkohuni i plotë: Kthen të gjitha rekordet nga të dy tabelat kur ka një ndeshje.

Një mënyrë e zakonshme për të vizualizuar se si bashkohet me punën është si kjo:

Bashkohet MySQL

Në shembullin vijues, një bashkim i brendshëm do të përdoret për të krijuar një pamje të re unifikuese duke kombinuar tabelën e porosive dhe më pas 3 tabela të ndryshme

Ne do të zëvendësojmë user_id dhe product_id me kolonat first_name dhe mbiemër të përdoruesit që vendosi porosinë, së bashku me emrin e artikullit që është blerë.

Tabela Shembuj MySQL

SELECT porosit.id, përdoruesit.first_name, user.surname, products.name si 'emri i produktit'
NGA urdhrat
JANI përdorues të anëtarëve në urdhra.user_id = përdoruesit.id
INNER B JONI produkte me porosi.product_id = products.id;

Do të kthehej një grup i rezultateve që duket si:

Tabela Shembuj MySQL

Pamje

Një pamje është në thelb një grup i rezultateve SQL që ruhen në bazën e të dhënave nën një etiketë, kështu që ju mund të ktheheni më vonë në të, pa pasur nevojë të rivarrosni kërkesën. Këto janë veçanërisht të dobishme kur keni një pyetje të kushtueshme SQL, e cila mund të jetë e nevojshme disa herë, kështu që në vend që ta ekzekutoni pa pushim për të gjeneruar të njëjtat rezultate të vendosura, thjesht mund ta bëni një herë dhe ta ruani atë si pamje.

Krijimi i pamjeve

Për të krijuar një pamje, ju mund ta bëni këtë si kjo:

KRIJOJENI përparësi_ përdoruesit AS
SELECT * NGA përdoruesit
KU vendi = 'Mbretëria e Bashkuar';

Pastaj në të ardhmen, nëse keni nevojë për të hyrë në grupin e rezultatit të ruajtur, mund ta bëni këtë si kjo:

SELECT * NGA [prioriteti_users];

Zëvendësimi i pamjeve

Me komandën CREATE OSE REPLACE, një pamje mund të azhurnohet.

KRIJONI OSE Zëvendësuar Vëzhgimin [prioritet_users] AS
SELECT * NGA përdoruesit
KU vendi = 'Mbretëria e Bashkuar' OSE vend = 'USA';

Fshirja e pamjeve

Për të fshirë një pamje, thjesht përdorni komandën DROP VIEW.

DROP VIEW Prioriteti i përdoruesve;

përfundim

Shumica e faqeve të internetit në ueb-in e sotëm përdorin bazat e të dhënave relacionale në një farë mënyre. Kjo e bën SQL një gjuhë të vlefshme për të njohur, pasi ju lejon të krijoni faqe interneti dhe sisteme më komplekse, funksionale.

Sigurohuni që të shënoni këtë faqe, kështu që në të ardhmen, nëse jeni duke punuar me SQL dhe nuk mund të mbani mend mjaft mirë një operator specifik, si të shkruani një pyetje të caktuar, ose thjesht jeni të hutuar për mënyrën se si bashkohet me punën, atëherë do të keni një fletë mashtrimi në dorë e cila është e gatshme, e gatshme dhe e aftë të ndihmojë.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me