Nuxurka aasaasiga ah ee SQL

Baro DDL, DML iyo JOINs

Luuqadda Lagu Dhameeyay Luuqad waa mid ka mid ah dhismaha aasaasiga ah ee dhismaha casriga casriga ah. SQL wuxuu qeexayaa hababka loo isticmaalo in lagu abuuro oo lagu hagaajiyo macluumaadka macluumaadka xiriirka ee dhamaan darajooyinka waaweyn. Marka ugu horeysa, luqadda waxay u muuqan kartaa cabsigelin iyo kakanaan, laakiin ma aha wax walba oo adag.

Tilmaamahan aasaasiga ah ee aasaasiga ah ee ka danbeeya SQL wuxuu eegayaa qaar ka mid ah amarrada ugu muhiimsan ee loo isticmaalo in la abuuro loona badalo macluumaadka database.

Ku saabsan SQL

Soogaliga saxda ah ee SQL waa arin muran ah oo ka dhex jirta beesha xogta. Marka la eego heerkiisa SQL, Machadka Heerarka Qaranka ee Maraykanku wuxuu ku dhawaaqay in magaca rasmiga ah uu yahay "es queue el." Si kastaba ha ahaatee, xirfadlayaal badan oo database ah ayaa la wareegay "slang" ah. Doorashadu waa adiga.

SQL wuxuu yimaadaa dhadhan badan. Database-ka Oracle waxay isticmaalaan macaamiishooda PL / SQL. Microsoft SQL Server wuxuu isticmaalaa Transact-SQL. Dhammaan kala duwanaanshuhu waxay ku salaysan yihiin heerka warshadaha ANSI SQL. Hordhacani wuxuu adeegsanayaa amarrada ANSI-ga ah oo ka shaqeeya nidaam kasta oo casriyaysan oo casri ah.

DDL iyo DML

Amarrada SQL waxaa loo qaybin karaa laba luuqadood oo waaweyn. Luqada Macluumaadka Macluumaadka (DDL) waxaa ku jira amarrada loo isticmaalo abuurista iyo burburinta macluumaadka database iyo walxaha xogta. Ka dib marka qaab-dhismeedka xog-ururinta waxaa lagu qeexay DDL, maamulayaasha xogta iyo isticmaalayaashu waxay isticmaali karaan Luqada Macluumaadka Macluumaadka (DML) si ay u geliyaan, dib ugu soo celiyaan una bedelaan xogta ku dhex jirta.

Talooyinka Luqadda Macluumaadka Luqadda

Luqada Macluumaadka Macluumaadka waxaa loo isticmaalaa in la abuuro lana burburiyo database-yada iyo walxaha xogta. Amarradan waxaa ugu horeyn isticmaala maamulayaasha xogta inta lagu jiro falanqeynta iyo ka saarida mashruuca mashruuca. Halkan fiiri qaabka iyo isticmaalka afar qawaaniin DDL aasaasiga ah:

CREATE. Ku rakibida nidaam maareynta xogta kombiyuuterka ayaa kuu ogolaanaya inaad abuurto oo maamusho tiro badan oo madaxbanaan. Tusaale ahaan, waxaa laga yaabaa inaad rabto inaad kaydiso xogta xiriirrada macaamiisha ee qaybtaada iibka iyo macluumaadka shaqaale ee waaxdaada HR. Xeerka CREATE waxaa loo isticmaalaa in lagu dhiso mid kasta oo ka mid ah macluumaadkaan ku yaal meerarkaaga. Tusaale ahaan, amarka:

Shaqaalaha DATABASE

waxay abuurtaa xog ururin ah oo lagu magacaabo "shaqaale" DBMS-gaaga. Kadib sameynta xogta, talaabada xigta waa in la abuuro jadwal ay ku jiraan xogta. Qeyb kale oo ka mid ah amarka CREATE ayaa loo isticmaali karaa ujeedadaas. Amarka:

SHIRTA TABABINTA shakhsiyaadka shakhsi ahaaneed (first_name char (20) ma aha null, last_name char (20) ma aha null, employee_id int aan null)

wuxuu aasaasayaa miis lagu magacaabo "personal_info" ee xogta hadda jirta. Tusaale ahaan, miisaanku wuxuu ka kooban yahay saddex sifooyin: First_name, last_name iyo worker_id iyo macluumaad kale oo dheeraada.

USE. Amarka USE wuxuu kuu oggolaanayaa inaad sheegto xogta aad rabto inaad la shaqeyso DBMS-gaaga. Tusaale ahaan, haddii aad hadda ka shaqeysid diiwaanka iibka oo aad rabto in aad soo saarto amarrada qaar oo saameyn doona xogta shaqaale, waxaad hor dhigtaa taliska soo socda ee SQL:

Shaqaalaha USE

Waa muhim inaad mar kasta aad ogaato xogta aad ka shaqeyneysid kahor intaan soo saarin amarrada SQL ee xogta wax ka qabta.

ALTER. Marka aad miis ku sameysey xogta macluumaadka, waxaa laga yaabaa inaad rabto inaad wax ka bedesho qeexitaankeeda. Amarka ALTER wuxuu kuu ogolaanayaa inaad isbeddel ku sameysid dhismaha miiska iyadoo aan la tirtirin oo dib u soo celineynin. U fiirso amarada soo socda:

ALTER TABLE shakhsi-shakhsi ADD mushahar mushaar ah

Tusaalahani wuxuu ku darayaa sifo cusub miisaska shaqsiyaadka - shaqaale mushaharka. Doodda "lacag" waxay caddaynaysaa in mushaarka shaqaaluhu uu ku kaydsan yahay iyada oo la isticmaalayo dollar iyo cents. Ugu dambeyntii, "null" macnaha ereyga ayaa sheegaaya xogta in ay tahay mid saxan oo ku saabsan arimahan si aan u lahayn wax qiimo ah shaqaale kasta oo la siiyey.

DROP. Amarka kama dambaysta ah ee Luqada Macluumaadka Qeexida, DROP, wuxuu annaga noo oggolaanayaa in aan ka saarno dhammaan shayada xogta ee DBMS. Tusaale ahaan, haddii aan dooneyno inaan si joogta ah uga saarno miiska shakhsi ahaaneed ee aan abuurnay, waxaan isticmaali karnaa amarradan soo socda:

DROP TABLE shakhsi

Sidoo kale, amarka hoos ku qoran ayaa loo isticmaali doonaa in laga saaro dhammaan xogta shaqaalaha:

Shaqaalaha DATABASE DROP

Isticmaal taladan adigoo daryeel leh. Xeerka DROP ayaa ka saaraya qaababka xogta oo dhan xogtaada. Haddii aad rabto inaad ka saarto diiwaanka shakhsiyeed, waxaad isticmaashaa amarka DELETE ee Luuqada Manipulation Data.

Talooyinka Luqadda ee Muuqaalka

Luqada Macluumaadka Manaafaqada (DML) waxaa loo isticmaalaa in lagu soo saaro, geli karo oo wax laga beddelo macluumaadka xogta. Amarradan waxaa isticmaala dhammaan isticmaalayaasha macluumaadka inta lagu jiro hawlgalka caadiga ah ee xogta.

INSERT. Amarka INSERT ee SQL waxaa loo isticmaalaa in lagu daro diiwaanka miiska jira. Ku soo noqoshada tusaalaha shakhsi ahaaneed ee shakhsi ahaaneed ee ka soo jeeda qaybta hore, waxaad qiyaasi kartaa in waaxdeena HR ay ubaahan tahay in ay shaqaale cusub ku daraan xog-ururin. Waxaad isticmaali kartaa amar la mid ah kan kan:

INSERT INTO qiimaha shakhsi ahaaneed ('bart', 'simpson', 12345, $ 45000)

Ogow in ay jiraan afar qiime oo lagu qeexay diiwaanka. Kuwani waxay u dhigmaan sifooyinka miiska sida ay u qeexeen: First_name, last_name, employee_id iyo mushaarka.

SELECT. Amarka SELECT waa kan ugu badan ee loo isticmaalo ee SQL. Waxay u ogolaaneysaa isticmaalayaasha xogta inay soo qaataan macluumaadka gaarka ah ee ay rabaan inay ka helaan xogta hawlgalka. U fiirso tusaalooyin yar, mar kale adoo isticmaalaya shaxda shakhsi-shakhsi ee xogta shaqaalaha.

Amarka hoos lagu soo bandhigay wuxuu soo koobayaa dhammaan macluumaadka ku jira miiska shakhsi ahaaneed. Ogsoonow in calaamada loo isticmaalo sida asalka jaalaha ah ee SQL. Tani macnaheedu waxa weeye "Xulo wax kasta oo ka timaada miiska shakhsi ahaaneed."

SELECT * FROM personal_info

Bedel ahaan, dadka isticmaala waxay rabi karaan inay xaddidaan sifooyinka laga soo qaado diiwaanka. Tusaale ahaan, Waaxda Khayraadka Shaqaalaha waxay u baahan tahay liiska magacyada ugu dambeeyay ee dhammaan shaqaalaha shirkadda. Talaabooyinka soo socda ee SQL waxay soo qaadanayaan oo keliya macluumaadkaas:

SELECT last_name FROM personal_info

Qodobka WHERE waxaa loo isticmaali karaa si loo yareeyo diiwaanada la soo celiyo kuwa ka soo baxa shuruudaha cayiman. Maamulaha guud wuxuu xiiseyn karaa inuu dib u eego diiwaannada shaqaalaha ee dhammaan shaqaalaha sare. Amarka soo socda ayaa soo gala dhammaan xogta ku jirta shakhsi ahaan shakhsi ahaaneed ee loogu talagalay diiwaanada leh qiimo mushahar ka badan $ 50,000:

SELECT * FROM personal_info WHERE mushaharka> $ 50000

UPDATE. Amarka UPDATE waxaa loo isticmaali karaa inuu wax ka beddelo macluumaadka ku jira miiska, labadaba ama si kali ahaan ah. Ka soo qaad in shirkadu ay shaqaalaha oo dhan siinayso mushahar siyaado ah oo ah 3 boqolkiiba mushaharkooda sanadkiiba. Taliska soo socda ee SQL waxaa loo isticmaali karaa in si deg deg ah loogu dabaqo dhammaan shaqaalaha ku kaydsan xogta macluumaadka:

UPDATE personal_info SET mushahar = mushahar * 1,03

Marka Bart Simpson shaqaale cusub uu muujinayo waxqabadka kore iyo ka baxsan waajibaadka waajibaadka, maamulka wuxuu rabaa in uu aqoonsado guulihii uu gaadhay mudo dhan $ 5,000. QIIMEYNTA WHERE waxaa loo isticmaali karaa in uu ka baxo Bart xagga sare:

UPDATE personal_info SET mushahar = mushahar + $ 5000 WHERE shaqaale_id = 12345

DILETE. Ugu dambeyn, bal aynu eegno taliska DELETE. Waxaad arki doontaa in ereyga amarkan uu la mid yahay kuwa kale ee DML. Nasiib darro, warbixintayagii ugu dambeysay ee shirkadihii ganacsiga ahaa ma aysan dhicin wax la filayo iyo Bartamaha xun ayaa la dhigay. Qodobka DELETE ee leh XIRIIRKA WHERE waxaa loo isticmaali karaa in laga saaro diiwaanka shakhsi shakhsi ahaaneed:

KA HELI KARTAA shakhsiyaadka shaqsiyaadka shaqeeya_ WHERE shaqaale_id = 12345

JOINS

Hadda oo aad ka baratay asaasiga ah ee SQL, waa waqtigii loo guuri lahaa mid ka mid ah fikradaha ugu awoodda badan ee luqadda ay tahay in ay bixiso-warbixinta JOIN. Qoraalka JOIN wuxuu kuu ogolaanayaa inaad isku darsamayso xogta miisaska kala duwan si waxtar leh loo hirgeliyo tiro badan oo xog ah. Hadalkani waa meeshii awoodda dhabta ah ee xogta xogta ay hayso.

Si aad u ogaatid isticmaalka hawlgalka JOIN aasaasiga ah si ay isugu darsamaan xogta laga soo qaatay labo jadwal, sii wad tusaalaha sida loo isticmaalayo miiska PERSONAL_INFO oo ku dar miisaan dheeraad ah oo isku dhafan. Isku day inaad haysato miis la yidhaahdo DISCIPLINARY_ACTION kaas oo la sameeyay bayaankan soo socda:

TUSAALAYA WAXAY TAHAY WAXYAABAHA WAXYAABAHA WAXQABADKA (Action_id int aan null loo haynin, shaqaalaha_id aan diidno, faallooyin qaanuun (500))

Jadwalkani wuxuu ka kooban yahay natiijooyinka falalka edbinta ee shaqaalaha shirkadaha. Waxaad ogaan doontaa in aysan ku jirin wax macluumaad ah oo ku saabsan shaqaale aan ahayn lambarka shaqaalaha. Way fududahay in la qiyaaso dhacdooyin badan oo laga yaabo in aad rabto inaad macluumaad ka soo ururiso DISCIPLINARY_ACTION iyo PERSONAL_INFO.

Oggolaan in laguu xilsaaray sameynta warbixinta qoreysa talaabooyinka anshaxeed ee laga qaadayo dhamaan shaqaalaha oo mushahar ka badan $ 40,000. Isticmaalka hawlgalka JOIN, xaaladdan, waa mid toos ah. Macluumaadkaan waxaan ku soo qaadan karnaa amarka soo socda:

Xulasho shakhsi_info.first_name, personal_info.last_name, disciplinary_action.comments FROM personal_info, edbin edbeed Xagee shakhsiyadeed_info.employee_id = disciplinary_action.employee_id AND personal_info.salary> 40000

Koodhanku wuxuu ku qeexayaa labada jadwal oo aan dooneyno inaan ku biirno QIIMO oo ka dibna waxaa ku jira bayaan ku saabsan QORSHE DHISMAHA si loo yareeyo natiijooyinka diiwaannada ee u qalma aqoonsiga shaqaalaha oo la kulmay shuruudihii miisaan ka badan $ 40,000.