SQL bazat

Mësoni rreth DDL, DML dhe JOINs

Gjuha e Query Strukturore është një nga blloqet bazë të ndërtimit të arkitekturës moderne të bazës së të dhënave. SQL përcakton metodat e përdorura për krijimin dhe manipulimin e bazave të të dhënave relacionale në të gjitha platformat kryesore. Në shikim të parë, gjuha mund të duket e frikshme dhe e ndërlikuar, por kjo nuk është e gjitha e vështirë.

Ky hyrje në bazat pas SQL merr një vështrim të shkurtër në disa nga komandat kryesore të përdorura për të krijuar dhe modifikuar bazat e të dhënave.

Rreth SQL

Pronësia e saktë e SQL është një çështje e diskutueshme brenda komunitetit të bazës së të dhënave. Në standardin e saj SQL, Instituti Amerikan i Standardeve Kombëtare deklaroi se shqiptimi zyrtar është "es queue el." Megjithatë, shumë profesionistë të bazës së të dhënave kanë marrë në shqiptimin slang "vazhdim". Zgjedhja është e jotja.

SQL vjen në shumë shije. Baza e të dhënave të Oracle përdor PL / SQL të saj të pronarit. Microsoft SQL Server bën përdorimin e Transact-SQL. Të gjitha variacionet bazohen në standardin ANSI SQL të industrisë. Kjo hyrje përdor komandat SQL të ANSI-compliant që punojnë në ndonjë sistem modern të bazës së të dhënave relacionale.

DDL dhe DML

Komandat SQL mund të ndahen në dy nën-gjuhë kryesore. Gjuha e definimit të të dhënave (DDL) përmban komandat e përdorura për krijimin dhe shkatërrimin e bazave të të dhënave dhe objekteve të bazës së të dhënave. Pasi që struktura e bazës së të dhënave është e definuar me DDL, administratorët e bazës së të dhënave dhe përdoruesit mund të përdorin Gjuhën e Manipulimit të të Dhënave (DML) për të futur, rifituar dhe modifikuar të dhënat e përmbajtura brenda tij.

Komandat e gjuhës për definimin e të dhënave

Gjuha e definimit të të dhënave përdoret për të krijuar dhe shkatërruar bazat e të dhënave dhe objektet e bazës së të dhënave. Këto komanda përdoren kryesisht nga administratorët e bazës së të dhënave gjatë fazave të instalimit dhe heqjes së një projekti të bazës së të dhënave. Ja një vështrim në strukturën dhe përdorimin e katër komandave themelore DDL:

CREATE. Instalimi i një sistemi të menaxhimit të bazës së të dhënave në një kompjuter ju lejon të krijoni dhe menaxhoni shumë baza të dhënash të pavarura. Për shembull, mund të dëshironi të mbani një bazë të dhënash të kontakteve me klientët për departamentin tuaj të shitjeve dhe një bazë të dhënash të personelit për departamentin tuaj të BNj. Komanda CREATE përdoret për të krijuar secilën prej këtyre bazave të të dhënave në platformën tuaj. Për shembull, komanda:

CREATE DATABASE punonjësit

krijon një bazë të dhënash boshe me emrin "punonjës" në DBMS tuaj. Pas krijimit të bazës së të dhënave, hapi tjetër është krijimi i tabelave që përmbajnë të dhëna. Një variant tjetër i komandës CREATE mund të përdoret për këtë qëllim. Komanda:

CREATE TABLE personal_info (first_name char (20) jo null, last_name char (20) jo null, employee_id int nuk null)

krijon një tabelë të titulluar "personal_info" në bazën e të dhënave aktuale. Në shembull, tabela përmban tri atribute: first_name, last_name dhe employee_id së bashku me disa informacione shtesë.

PËRDORIMI. Komanda USE ju lejon të specifikoni bazën e të dhënave me të cilën doni të punoni brenda DBMS tuaj. Për shembull, nëse jeni duke punuar në bazën e të dhënave të shitjeve dhe doni të lëshoni disa komanda që do të ndikojnë në bazën e të dhënave të punonjësve, parapërgatiteni me komandën e mëposhtme SQL:

Punonjësit e USE

Është e rëndësishme që gjithmonë të jeni të vetëdijshëm për bazën në të cilën po punoni përpara se të lëshoni komanda SQL që manipulojnë të dhënat.

ALTER. Pasi të keni krijuar një tabelë brenda një baze të dhënash, mund të dëshironi të modifikoni përkufizimin e saj. Komanda ALTER ju lejon të bëni ndryshime në strukturën e një tavoline pa fshirë dhe rikrijuar atë. Hidhni një sy në komandën e mëposhtme:

ALTER TABLE personal_info SHTO PARA Paga null

Ky shembull shton një atribut të ri në tabelën personal_info - paga e një punonjësi. Argumenti "para" specifikon se paga e një punonjësi është ruajtur duke përdorur një format dollarë dhe cent. Së fundi, fjalia "null" i tregon bazës së të dhënave se është në rregull që kjo fushë të mos përmbajë asnjë vlerë për asnjë punonjës të caktuar.

DROP. Komanda përfundimtare e gjuhës së definimit të të dhënave, DROP, na lejon të heqim të gjithë objektet e bazës së të dhënave nga DBMS-ja jonë. Për shembull, nëse duam të heqim përgjithmonë tabelën personal_info që kemi krijuar, do të përdorim komandën e mëposhtme:

DROP TABLE personal_info

Në mënyrë të ngjashme, komanda më poshtë do të përdoret për të hequr të gjithë bazën e të dhënave të punonjësve:

Punonjësit e DROP DATABASE

Përdoreni këtë komandë me kujdes. Komanda DROP largon të gjitha strukturat e të dhënave nga databaza juaj. Nëse dëshironi të hiqni të dhënat individuale, përdorni komandën DELETE të gjuhës së manipulimit të të dhënave.

Komandat e gjuhës së manipulimit të të dhënave

Gjuha e manipulimit të të dhënave (DML) përdoret për të tërhequr, futur dhe modifikuar informacionin e bazës së të dhënave. Këto komanda përdoren nga të gjithë përdoruesit e bazës së të dhënave gjatë funksionimit rutinë të bazës së të dhënave.

INSERT. Komanda INSERT në SQL përdoret për të shtuar të dhëna në një tabelë ekzistuese. Duke iu kthyer shembullit personal_info nga seksioni i mëparshëm, imagjinoni që departamenti ynë i burimeve njerëzore duhet të shtojë një punonjës të ri në bazën e tij të të dhënave. Ju mund të përdorni një komandë të ngjashme me këtë:

INSERT IN vlera personal_info ('bart', 'simpson', 12345, $ 45,000)

Vini re se ekzistojnë katër vlera të specifikuara për rekordin. Këto korrespondojnë me atributet e tabelës në rendin që u përcaktuan: first_name, last_name, employee_id dhe salary.

SELECT. Komanda SELECT është komanda më e përdorur në SQL. Kjo lejon përdoruesit e bazës së të dhënave të marrin informacionin specifik që ata dëshirojnë nga një bazë të dhënash operacionale. Hidhni një sy në disa shembuj, përsëri duke përdorur tabelën personal_info nga baza e të dhënave të punonjësve.

Komanda e paraqitur më poshtë merr të gjithë informacionin që përmban informacioni personal_info. Vini re se asteriku përdoret si një wildcard në SQL. Kjo fjalë për fjalë do të thotë "Zgjidh çdo gjë nga tabela personal_info".

SELECT * FROM personal_info

Përndryshe, përdoruesit mund të duan të kufizojnë atributet që janë marrë nga baza e të dhënave. Për shembull, Departamenti i Burimeve Njerëzore mund të kërkojë një listë të emrave të fundit të të gjithë të punësuarve në kompani. Komanda e mëposhtme SQL do të merrte vetëm këtë informacion:

SELECT last_name FROM personal_info

Klauzola WHERE mund të përdoret për të kufizuar të dhënat që janë marrë në ato që plotësojnë kriteret e specifikuara. CEO mund të jetë i interesuar në shqyrtimin e të dhënave të personelit të të gjithë punonjësve me pagesë. Komanda e mëposhtme merr të gjitha të dhënat që gjenden brenda personal_info për regjistrat që kanë një vlerë pagash më të madhe se $ 50,000:

SELECT * NGA personal_info ku paga> 50000 $

UPDATE. Komanda UPDATE mund të përdoret për të modifikuar informacionin që përmban një tabelë, ose në masë ose në mënyrë individuale. Supozoni se kompania i jep të gjithë punonjësve një rritje prej 3 përqind të kostos së jetesës në pagën e tyre çdo vit. Komanda e mëposhtme SQL mund të përdoret për të aplikuar shpejt këtë për të gjithë të punësuarit e ruajtur në bazën e të dhënave:

UPDATE personal_info SET pagë = pagë * 1.03

Kur punonjësi i ri Bart Simpson demonstron performancë mbi dhe përtej thirrjes së detyrës, menaxhmenti dëshiron të njohë arritjet e tij të shkëlqyera me një ngritje prej $ 5,000. Klauzola WHERE mund të përdoret për të veçuar Bartin për këtë ngritje:

UPDATE personal_info SET pagë = pagë + $ 5000 KU punonjës = 12345

DELETE. Së fundi, le të hedhim një vështrim në komandën DELETE. Ju do të gjeni se sintaksë e këtij komanda është e ngjashme me atë të komandave të tjera DML. Për fat të keq, raporti i fundit i të ardhurave të korporatave nuk i plotësoi aspak pritjet dhe Bart-i i varfër është pushuar nga puna. Komanda DELETE me një klauzolë WHERE mund të përdoret për të hequr rekordin e tij nga tabela personal_info:

DELETE NGA personal_info KU punonjësi = 12345

bashkohet

Tani që ju keni mësuar bazat e SQL, është koha për të kaluar në një nga konceptet më të fuqishme që gjuha ka për të ofruar-deklarata JOIN. Një deklaratë JOIN ju lejon të kombinoni të dhënat në tabela të shumëfishta për të përpunuar me efikasitet sasi të mëdha të të dhënave. Këto deklarata janë vendi ku qëndron fuqia e vërtetë e një baze të dhënash.

Për të shqyrtuar përdorimin e një operacioni bazë JOIN për të kombinuar të dhënat nga dy tabela, vazhdoni me shembullin duke përdorur tabelën PERSONAL_INFO dhe shtoni një tabelë shtesë në përzierje. Supozojmë që ju keni një tryezë të quajtur DISCIPLINARY_ACTION që u krijua me deklaratën e mëposhtme:

CREATE TABLE disciplinary_action (action_id int nuk null, employee_id int nuk null, komentet char (500))

Kjo tabelë përmban rezultatet e veprimeve disiplinore ndaj punonjësve të kompanisë. Do të vëreni se nuk përmban asnjë informacion rreth punonjësit përveç numrit të punonjësve. Është e lehtë të përfytyrosh shumë skenarë ku mund të duash të kombinosh informacion nga tryezat DISCIPLINARY_ACTION dhe PERSONAL_INFO.

Supozoni se keni qenë të ngarkuar me krijimin e një raporti që rendit masat disiplinore të ndërmarra kundër të gjithë punonjësve me një pagë më të madhe se 40,000 dollarë. Përdorimi i një operacioni JOIN, në këtë rast, është i drejtpërdrejtë. Ne mund ta marrim këtë informacion duke përdorur komandën e mëposhtme:

SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.comments NGA personal_info, disciplinary_action KU personal_info.employee_id = disciplinary_action.employee_id DHE personal_info.salary> 40000

Kodi përcakton dy tabelat që ne duam të bashkojmë në klauzolën NGA dhe pastaj përfshijmë një deklaratë në klauzolën WHERE për të kufizuar rezultatet në regjistrat që kanë të njëjtat identifikime punonjësish dhe përmbushur kriteret tona për një pagë më të madhe se $ 40,000.