SQL Fundamentals

Mụta banyere DDL, DML na JOINs

The Language Structured Query bụ otu n'ime ihe ndị dị mkpa nke ụlọ ọrụ nchekwa data nke oge a. SQL na-akọwa ụzọ eji emepụta ma jikwaa ọdụ data njikọ na isi isi nyiwe. N'ileghachi anya na mbụ, asụsụ ahụ nwere ike iyi ihe egwu na mgbagwoju anya, ma ọ bụghị ihe niile siri ike.

Nkwupụta a na isi ihe dị n'azụ SQL na-ewere obere nyochaa ụfọdụ n'ime iwu ndị e ji kee ma gbanwee ọdụ data.

Banyere SQL

Izi okwu ziri ezi nke SQL bụ esemokwu esemokwu n'ime obodo nchekwa data. Na ụkpụrụ SQL ya, Ụlọ Ọrụ Na-ahụ Maka Ụkpụrụ Mba Ndị America kwupụtara na ntụgharị okwu ahụ bụ "es queue el." Otú ọ dị, ọtụtụ ndị ọkachamara na nchekwa data adabawo na nsụgharị slang "sequel." Nhọrọ ahụ bụ nke gị.

SQL na-abịa na ọtụtụ flavors. Nchịkọta data data na- eji ya PL / SQL. Microsoft SQL Server na - eji Transact-SQL eme ihe. Ihe niile dị iche iche na-adabere na ọkọlọtọ ANSI SQL. Nkwalite a na-eji SQL ANSI-edozi iwu nke na-arụ ọrụ na usoro ọ bụla nke usoro ihe ọmụma usoro ọ bụla.

DDL na DML

Iwu SQL nwere ike kewaa n'ime asụsụ abụọ nke isi. The Data Definition Language (DDL) nwere iwu eji emepụta na ibibi databases na ihe nchekwa data. Mgbe a kọwapụtara usoro nchekwa data na DDL, ndị nchịkọta data na ndị ọrụ nwere ike iji Asụsụ Ntugharị Data (DML) ịtinye, weghachite na gbanwee data dị n'ime ya.

Usoro nchịkọta data

A na-eji Data Definition Language iji mepụta ma bibie ọdụ data na ihe nchekwa data. Iwu ndị a na-eji ndị nchekwa data na-eme ihe n'oge ntọala na mwepụ nke usoro ọrụ nchekwa data. Nke a bụ a anya na usoro na ojiji nke anọ isi DDL iwu:

Mepụta. Ịwụnye usoro nchịkọta data nchekwa na kọmputa na-enye gị ohere ịmepụta na jikwaa ọtụtụ ọdụ data onwe. Dịka ọmụmaatụ, ịnwere ike ịchọrọ nchekwa data nke ndị kọntaktị ndị ahịa maka ngalaba mgbasa ozi gị na nchekwa data nchekwa nke onye ọrụ gị. A na-eji iwu CREATE mee ka nke ọ bụla n'ime ọdụ data ndị a dị n'elu ikpo okwu gị. Dịka ọmụmaatụ, iwu ahụ bụ:

Mee ndị ọrụ DATABASE

emepụta ihe nchekwa data efu aha ya bụ "ndị ọrụ" na DBMS gị. Mgbe ịmepụta nchekwa data, nzọụkwụ ọzọ bụ ịmepụta tebụl ndị nwere data. Enwere ike iji usoro ọzọ nke iwu CREATE maka nzube a. Iwu:

CREATE TABLE personal_info (first_name char (20) bụghị null, last_name char (20) bụghị null, ọrụ_id int bụghị null)

guzobe okpokoro akpọrọ "personal_info" na nchekwa data dị ugbu a. Na ihe atụ, tebụl nwere àgwà atọ: aha mbụ, last_name na ọrụ_id tinyere ụfọdụ ozi ndị ọzọ.

Jiri. Iwu nke US nyere gị ohere ịkọwa nchekwa data ịchọrọ ịrụ ọrụ n'ime DBMS gị. Dịka ọmụmaatụ, ọ bụrụ na ị na-arụ ọrụ ugbu a na nchekwa data ma chọọ ịnye ụfọdụ iwu ga-emetụta ọrụ nchekwa data, kwalite ha na iwu SQL a:

Jiri ndị ọrụ

Ọ dị mkpa ka ị mara mgbe niile na nchekwa data ị na-arụ ọrụ tupu ịnye SQL iwu ndị na-achịkwa data.

ALWA. Ozugbo i mepụtara tebụl n'ime nchekwa data, ị nwere ike ịchọrọ ịgbanwe nhazi ya. Iwu ALTER na-enye gị ohere ime mgbanwe na nhazi nke okpokoro na-enweghị nhichapụ ma gbanye ya. Lelee iwu na-esonụ:

ALTER TABLE personal_info ADD ụgwọ ego efu

Ihe atụ a na-agbakwụnye àgwà ọhụrụ na table onye personal_info-ụgwọ ọrụ onye ọrụ. Mkparịta ụka "ego" ahụ kwuru na ụgwọ ọrụ onye ọrụ na-echekwa ma jiri dollar na ọnụọgụ ego. N'ikpeazụ, isiokwu "null" na-agwa nchekwa data ahụ na ọ dị mma maka mpaghara a ka ọ ghara ịba uru nye onye ọrụ ọ bụla.

DROP. Iwu ikpeazụ nke Data Definition Language, DROP, na-enye anyị ohere iwepu ihe nchekwa data dum site na DBMS anyị. Dịka ọmụmaatụ, ọ bụrụ na anyị chọrọ iwepupu table person_info anyị na-ebipụ kpamkpam, anyị ga-eji iwu na-esonụ:

DROP TABLE personal_info

N'otu aka ahụ, a ga-eji iwu ahụ dị n'okpuru ebe a wepụ akwụkwọ ọrụ nchekwa ọrụ niile:

NDỊ ọrụ na-arụ ọrụ na DOPABASE

Jiri iwu a na nlekọta. Iwu DROP na-ewepu data dum site na nchekwa data gị. Ọ bụrụ na ịchọrọ iwepụ ihe ndekọ nke onye ọ bụla, jiri iwu DILEGHỊ nke Asụsụ Ntugharị Data.

Ntuziaka Asụsụ Eji Nweta Data

A na-eji Asụsụ Eji Nweta Data (DML) weghachite, tinye na gbanwee ozi nchekwa data. Iwu ndị a na-eji ndị ọrụ nchekwa data niile na-arụ ọrụ n'oge ọrụ nchekwa data.

Tinye. Ejiri iwu dị na SQL ịgbakwunye ihe ndekọ na tebụl dị. Ịlaghachi na ihe nlereanya onwe onye site na ngalaba nke mbụ, chee na ngalaba gọọmentị anyị kwesịrị itinye onye ọrụ ọhụrụ na nchekwa data ya. Ị nwere ike iji iwu yiri nke a:

Tinye na ụkpụrụ onwe onye ('bart', 'simpson', 12345, $ 45000)

Rịba ama na e nwere ụkpụrụ anọ a kapịrị ọnụ maka ndekọ ahụ. Ndị a kwekọrọ na tebụl dị na iwu ha kọwaara: first_name, last_name, ọrụ_id na ụgwọ.

Họrọ. Iwu SELECT bụ iwu kachasị eji na SQL. Ọ na-enye ndị ọrụ data nchekwa data aka weghachite ozi ha na-achọ site na data nchekwa data. Lelee ihe atụ ole na ole, jirikwa akara onye personal_info si na ọrụ nchekwa data.

Iwu nke egosiputara n'okpuru weghachite ozi nile di n'ime table onwe_info. Rịba ama na e ji akara akara ahụ mee ihe dị ka ekwenye na SQL. Nke a pụtara n'ụzọ nkịtị "Họrọ ihe niile site na table onye personal_info."

Họta * FROM personal_info

N'aka nke ọzọ, ndị ọrụ nwere ike ịchọrọ ịkwụsị àgwà ndị anapụtara na nchekwa data ahụ. Dịka ọmụmaatụ, Ngalaba Ndị Ọrụ Nchịkwa nwere ike ịchọ ndepụta nke aha ikpeazụ nke ndị ọrụ niile na ụlọ ọrụ. Ihe na-esonụ SQL iwu ga-eweghachite na na ozi:

Kpido aha ikpeazụ_NI personal_info

E nwere ike iji mpaghara nke ebe a na-ejedebe iji mechie ihe ndekọ ndị a na-eweghachi na ndị na-agbaso njirisi a kapịrị ọnụ. Onye isi oche nwere ike inwe mmasị n'ịtụle akwụkwọ ndekọ nke ndị ọrụ niile a kwụrụ ụgwọ. Iwu na-esonụ na-eweghachite data niile dị n'ime personal_info maka ihe ndekọ ndị nwere ụgwọ ọrụ ụgwọ karịa $ 50,000:

CHINE * FROM personal_info MGBE ụgwọ> $ 50000

Kwadoro. Iwu nke UPDATE nwere ike iji gbanwee ozi dị n'ime tebụl, ma na nnukwu ma ọ bụ n'otu n'otu. Were ya na ụlọ ọrụ ahụ na-enye ndị ọrụ niile pasent 3 na-abawanye uru na ụgwọ ha kwa afọ. Iwu SQL a nwere ike iji ngwa ngwa tinye nke a na ndị ọrụ niile echekwara na nchekwa data:

Melite personal_info Mee ụgwọ = ụgwọ * 1.03

Mgbe onye ọrụ ọhụrụ Bart Simpson gosipụtara arụmọrụ n'elu na karịa oku nke ọrụ, njikwa chọrọ ịnakwere ihe ọ rụzuru na ihe dị ka $ 5,000. EKWỤKWỌ ebe a nwere ike iji bie Bart maka nke a:

Melite personal_info Mee ụgwọ = ụgwọ + $ 5000 MGBE ọrụ_id = 12345

Gbanyụọ. N'ikpeazụ, ka anyị lelee iwu ahụ. Ị ga-ahụ na syntax nke iwu a yiri nke iwu DML ndị ọzọ. O di nwute, akụkọ nlekota nke ulo oru ohuru nke anyi enweghi ihe ndi ozo na adighi mma Bart. AHỤGỤ iwu zuru ezu na ebe dị na MERE nwere ike iji wepu ihe ndekọ ya na tebụl personal_info:

ZIPU NKE personal_info EBE ọrụ_id = 12345

BỤ

Ugbu a na ị mụtala isi nke SQL, oge eruola ka ị gaa n'ihu n'otu n'ime echiche ndị kachasị ike asụsụ ahụ ga - enye - nkwupụta okwu ahụ. Nkwupụta zuru ezu na-enye gị ohere ikpokọta data na tebụl ọtụtụ iji mezie ọtụtụ data. Okwu ndị a bụ ebe ezi ike nke nchekwa data dị.

Iji nyochaa iji ihe dị mkpa JOIN ọrụ iji jikọta data site na tebụl abụọ, jiri ihe atụ na-eji table PERSONAL_INFO ma tinye mgbakwunye ọzọ na mix. Were ya na ị nwere tebụl nke a na-akpọ DISCIPLINARY_ACTION nke e ji okwu na-esonụ:

CREATE TABLE disciplinary_action (action_id int null, ọrụ_id int ghara null, ihe char (500))

Tebụl a nwere ihe ịmalite ịdọ aka ná ntị na ndị ọrụ ụlọ ọrụ. Ị ga-achọpụta na ọ nweghị ozi gbasara onye ọrụ ọzọ karịa nọmba ọrụ. O siri ike iche n'echiche ọtụtụ ihe ngosi ebe ịchọrọ ịchọta ozi sitere na DISCIPLINARY_ACTION na tables PERSONAL_INFO.

Were ya na ejidela gị site na ịmepụta akụkọ nke depụtara omume ịdọ aka ná ntị a na - eme megide ndị ọrụ niile nwere ụgwọ karịrị $ 40,000. Ojiji nke ime ihe, n'ọnọdụ a, ziri ezi. Anyị nwere ike weghachite ozi a site na iji iwu na-esonụ:

Họta personal_info.first_name, person_info.last_name, disciplinelin_action.comENDS FROM personal_info, discipline__action MGBE onye_info.employee_id = disciplinary_action.employee_id na personal_info.salary> 40000

Usoro ahụ na-ekwupụta tebụl abụọ anyị chọrọ isonye na nsụgharị NKE NKE ABỤ ma gụnye nkwupụta dị na Igodo nke Mbụ iji kpachapụ anya na nsonaazụ ndị nwere ụdị ọrụ ID na-arụ ọrụ ma zute nhazi anyị nke ụgwọ karịrị $ 40,000.