SQL Հիմնադրամներ

Իմացեք DDL, DML եւ JOINs- ի մասին

Structured Query Language- ը ժամանակակից բազայի ճարտարապետության հիմնարար բլոկներից մեկն է: SQL- ը սահմանում է բոլոր հիմնական պլատֆորմներում հարաբերական տվյալների բազաների ստեղծման եւ շահագործման համար օգտագործվող մեթոդները: Առաջին հայացքից, լեզուն կարող է թվալ ահավոր ու բարդ, բայց դա ամենեւին էլ դժվար չէ:

SQL- ի հիմունքներին այս ներածումը կարճ դիտում է տվյալների շտեմարանների ստեղծման եւ փոփոխման համար օգտագործվող հիմնական հրամաններից մի քանիսը:

SQL- ի մասին

SQL- ի ճիշտ արտասանությունը տվյալների բազայի համայնքում առկա վիճելի հարց է: Ս SQL ստանդարտում ամերիկյան ազգային ստանդարտների ինստիտուտը հայտարարեց, որ պաշտոնական արտասանությունը «es queue el» է: Այնուամենայնիվ, շատ տվյալների բազայի մասնագետները վերցրել են սանդալը «հետագա»: Ընտրությունը ձերն է:

SQL- ն գալիս է շատ համեմունքներով: Oracle տվյալների բազաները օգտագործում են իր սեփական PL / SQL- ը: Microsoft SQL Server- ն օգտագործում է Transact-SQL- ը: Բոլոր տատանումները հիմնված են ANSI SQL ստանդարտ ստանդարտի վրա: Այս ներածումը օգտագործում է ANSI- ի համապատասխան SQL հրամաններ, որոնք աշխատում են ցանկացած ժամանակակից հարաբերական տվյալների բազայի համակարգում:

DDL եւ DML

SQL հրամանները կարող են բաժանվել երկու հիմնական ստորաբաժանումների: Տվյալների սահմանումը լեզու (DDL) պարունակում է տվյալների շտեմարանների եւ տվյալների շտեմարանների օբյեկտների ստեղծման եւ ոչնչացման համար օգտագործվող հրամաններ: Տվյալների բազայի կառուցվածքը որոշվում է DDL- ով, տվյալների շտեմարանի ադմինիստրատորները եւ օգտագործողները կարող են օգտագործել Տվյալների մանիպուլյացիայի լեզուն (DML) ներսում պարունակվող տվյալները տեղադրելու, վերբերելու եւ փոփոխելու համար:

Տվյալների սահմանումը լեզուների հրամաններ

Տվյալների նկարագրության լեզուն օգտագործվում է տվյալների բազաների եւ տվյալների բազայի օբյեկտների ստեղծման եւ ոչնչացման համար: Այս հրամանները հիմնականում օգտագործվում են տվյալների շտեմարանի ադմինիստրատորների կողմից տվյալների բազայի նախագծի տեղակայման եւ հեռացման փուլերում: Ահա նայեք չորս հիմնական DDL հրամանների կառուցվածքին եւ օգտագործմանը.

Ստեղծեք: Համակարգչային տվյալների բազայի կառավարման համակարգը տեղադրելու հնարավորություն է տալիս ստեղծել եւ կառավարել բազմաթիվ անկախ տվյալների բազաներ: Օրինակ, դուք կարող եք պահպանել հաճախորդների կոնտակտների տվյալների շտեմարան ձեր վաճառքի բաժնի եւ ձեր անձնակազմի տվյալների բազայի համար: CREATE- ի հրամանը օգտագործվում է ձեր հարթակի վրա այս տվյալների բազաների յուրաքանչյուրի համար: Օրինակ `հրաման.

Ստեղծեք տվյալների բազայի աշխատակիցներ

ստեղծում է ձեր աշխատակազմի վրա գտնվող «աշխատակիցներ» դատարկ տվյալների բազա: Տվյալների բազայի ստեղծումից հետո հաջորդ քայլը տվյալների պարունակություն կազմող աղյուսակներ է ստեղծում: Ստեղծման հրամանի մեկ այլ տարբերակ կարող է օգտագործվել այդ նպատակով: Հրահանգը `

CREATE TABLE Անձնական_info (first_name char (20) null, last_name char (20) ոչ null, employee_id int ոչ null)

սահմանում է «անձնական_info» վերնագրված աղյուսակը ընթացիկ բազայում: Օրինակ, աղյուսակը պարունակում է երեք հատկանիշներ `first_name, last_name եւ employee_id, ինչպես նաեւ որոշ լրացուցիչ տեղեկություններ:

Օգտագործեք: USE հրամանը Ձեզ հնարավորություն է տալիս ճշգրտել այն տվյալների բազան, որը ցանկանում եք աշխատել ձեր DBA- ի շրջանակներում: Օրինակ, եթե դուք ներկայումս աշխատում եք վաճառքի տվյալների բազայում եւ ուզում եք որոշակի հրահանգներ տալ, որոնք ազդում են աշխատակիցների տվյալների բազայում, նախաբանում են հետեւյալ SQL հրամանով.

USE աշխատակիցները

Կարեւոր է միշտ գիտակցել տվյալների բազայի մասին, որը դուք աշխատում եք նախքան SQL հրահանգները տալը, որոնք կեղծել են տվյալները:

ALTER- ը: Երբ դուք ստեղծել եք մի աղյուսակ տվյալների բազայում, կարող եք փոփոխել դրա սահմանումը: ALTER- ի հրամանը թույլ է տալիս փոփոխություններ կատարել սեղանի կառուցվածքում, առանց վերացնելու եւ վերարտադրելու: Ստուգեք հետեւյալ հրահանգը.

ALTER TABLE personal_info Ավելացնել գումար null

Այս օրինակը ավելացնում է նոր հատկանիշ անձնական_info աղյուսակում `աշխատակցի աշխատավարձի: «Փող» փաստարկը սահմանում է, որ աշխատակցի աշխատավարձը պահվում է դոլարով եւ ցենտներով: Ի վերջո, «նուլ» բառերը բացատրում են տվյալների բազային, որ այս դաշտի համար որեւէ արժեք չի պարունակում տվյալ աշխատակցի համար:

ԱՆԿՈՒՄ. Տվյալների սահմանումը լեզու, DROP- ի վերջնական հրամանը թույլ է տալիս մեզ հեռացնել ամբողջ բազային օբյեկտները մեր ԴՊՀ-ից: Օրինակ, եթե մենք ցանկանում ենք մշտապես հեռացնել անձնական_info աղյուսակը, որը մենք ստեղծել ենք, մենք օգտագործում ենք հետեւյալ հրահանգը.

DROP TABLE անձնական_info

Նմանապես, ստորեւ նշված հրամանը կօգտագործվի ամբողջ աշխատակիցների տվյալների բազան հանելու համար.

DROP DATABASE- ի աշխատակիցները

Օգտագործեք այս հրամանը խնամքով: DROP հրամանը հեռացնում է ձեր տվյալների բազայից ամբողջ տվյալների կառուցվածքները: Եթե ​​ցանկանում եք հեռացնել անհատական ​​գրառումները, օգտագործեք Տվյալների մանիպուլյացիայի լեզվի DELETE հրամանը:

Տվյալների մանիպուլյացիայի լեզուների հրամաններ

Տվյալների մանիպուլյացիայի լեզուն (DML) օգտագործվում է տվյալների բազայի վերաբերյալ տեղեկությունները ստանալու, տեղադրելու եւ փոփոխելու համար: Այս հրամաններն օգտագործվում են տվյալների բազայի ընթացիկ գործունեության ընթացքում բոլոր տվյալների բազայի օգտագործողների կողմից:

INSERT- ը: INSERT հրամանը SQL- ում օգտագործվում է գոյություն ունեցող աղյուսակի գրառումները ավելացնելու համար: Վերադառնալով անձնական բաժինը նախորդ բաժնում, պատկերացրեք, որ մեր ՄՌ բաժինը պետք է իր տվյալների բազայում նոր աշխատակից ավելացնի: Դուք կարող եք օգտագործել այսպիսի նման հրաման:

INSERT INTO personal_info արժեքները ('bart', 'simpson', 12345, $ 45000)

Նշենք, որ գրանցման համար նշված չորս արժեք կա: Դրանք համապատասխանում են սեղանի հատկանիշներին, որոնք սահմանվել են `first_name, last_name, employee_id եւ աշխատավարձ:

SELECT. SELECT հրամանը հանդիսանում է SQL- ի ամենատարածված հրահանգը: Այն հնարավորություն է ընձեռում տվյալների բազայի օգտագործողներին վերածել օպերատիվ տվյալների բազայից պահանջվող կոնկրետ տեղեկատվությունը: Նայեք մի քանի օրինակներ, կրկին օգտագործելով անձնական_info աղյուսակը աշխատակիցների տվյալների բազայից:

Ստորեւ նկարագրված հրամանն առնչվում է անձնական_info աղյուսակում պարունակվող բոլոր տեղեկություններին: Նշենք, որ Աստղանիշը օգտագործվում է որպես SQL- ի վահանակ: Սա բառացիորեն նշանակում է «Ընտրեք ամեն ինչ անձնական_info աղյուսակից»:

SELECT * FROM personal_info- ից

Այլապես, օգտվողները կարող են սահմանափակել այն տվյալները, որոնք ստացվում են տվյալների բազայից: Օրինակ, Մարդկային ռեսուրսների բաժինը կարող է պահանջել ընկերության բոլոր աշխատողների անունների ցանկը: Հետեւյալ SQL հրամանը կստանա միայն այդ տեղեկությունները:

SELECT last_name FROM personal_info- ից

WHERE կետը կարող է օգտագործվել սահմանափակելու այնպիսի գրառումները, որոնք ստացվում են նշված չափանիշներին համապատասխանողներին: CEO- ն կարող է շահագրգռված լինել բոլոր բարձր վարձատրվող աշխատակիցների անձնակազմի գրառումները վերանայելու հարցում: Հետեւյալ հրամանն առբերում է անձնական տվյալների ինդեքսում գտնվող բոլոր տվյալները, որոնք կազմում են աշխատավարձի արժեքը, ավելի քան $ 50,000:

SELECT * FROM personal_info ԻՆՉՊԵՍ աշխատավարձ> $ 50000

UPDATE: UPDATE- ի հրամանը կարող է օգտագործվել սեղանի մեջ պարունակվող տեղեկությունները փոփոխելու համար, կամ զանգվածային կամ անհատապես: Համոզվեք, որ ընկերությունը բոլոր աշխատակիցներին տալիս է տարեկան աշխատավարձի 3 տոկոս գնաճ: Հետեւյալ SQL հրահանգը կարող է օգտագործվել այն արագ կիրառելու համար, տվյալների բազայում պահվող բոլոր աշխատակիցներին.

UPDATE personal_info SET ամսական աշխատավարձ = աշխատավարձ * 1.03

Երբ Bart Simpson- ի նոր աշխատակիցը ցույց է տալիս կատարողականի բարձր եւ բարձր կատարողականը, ղեկավարությունը ցանկանում է ճանաչել իր ստեղնային նվաճումները 5000 դոլարով: WHERE- ի դրույթը կարող էր օգտագործվել Bart- ի այս բարձրացման համար:

UPDATE personal_info SET աշխատավարձ = աշխատավարձ + $ 5000 WHERE employee_id = 12345

Ջնջել: Վերջապես, եկեք նայենք DELETE հրամանին: Դուք կգտնեք, որ այս հրամանի տեքստը նման է մյուս DML հրամաններին: Ցավոք, մեր վերջին կորպորատիվ եկամուտների հաշվետվությունը չի բավարարել ակնկալիքները եւ վատ Bart- ը դադարեցվել է: DELETE հրահանգը WHERE կետով կարող է օգտագործվել անձնական_info աղյուսակից հեռացնել իր գրառումն այն մասին,

DELETE FROM personal_info- ԻՑ WHERE employee_id = 12345

ՋՈԻՆԵՐ

Այժմ, երբ դուք սովորել SQL- ի հիմունքները, եկել է ժամանակն անցնելու այն լեզվով, որն առաջարկում է ամենահզոր հասկացություններից մեկը `JOIN հայտարարությունը: A JOIN հայտարարությունը հնարավորություն է տալիս միավորել տվյալների մի քանի աղյուսակներում, որպեսզի արդյունավետ կերպով մշակվի մեծ քանակի տվյալներ: Այս հայտարարությունները այնտեղ են, որտեղ առկա է տվյալների բազայի իրական ուժը:

Հետազոտել հիմնական JOIN գործառնության օգտագործումը `երկու աղյուսակներից տվյալների համադրելու համար, շարունակեք օրինակով` օգտագործելով PERSONAL_INFO աղյուսակը եւ ավելացրեք լրացուցիչ սեղան խառնուրդին: Ենթադրենք, դուք ունեք DISCIPLINARY_ACTION կոչվող աղյուսակը, որը ստեղծվել է հետեւյալ հայտարարությամբ.

CREATE TABLE կարգապահական գործողություն (action_id int ոչ null, employee_id int ոչ null, comments char (500))

Այս աղյուսակը պարունակում է ընկերության աշխատակիցների նկատմամբ կարգապահական գործողությունների արդյունքներ: Դուք նկատում եք, որ այն չի պարունակում որեւէ աշխատակից այլ աշխատողի մասին տվյալներ: Դժվար է պատկերացնել բազմաթիվ սցենարներ, որտեղ դուք կարող եք միացնել տեղեկատվությունը DISCIPLINARY_ACTION- ից եւ PERSONAL_INFO սեղաններից:

Ենթադրենք, որ ձեզ հանձնարարվել է ստեղծել հաշվետվություն, որը ցուցակագրում է բոլոր աշխատակիցների նկատմամբ ստացված կարգապահական գործողությունները, ավելի մեծ աշխատավարձով, քան $ 40,000: JOIN- ի գործողության կիրառումը, այս դեպքում, ուղղակիորեն է: Մենք կարող ենք ստանալ այս տեղեկատվությունը `օգտագործելով հետեւյալ հրահանգը.

SELECT personal_info.first_name, անձնական_info.last_name, disciplinary_action.comments FROM personal_info, disciplinary_action WHERE personal_info.employee_id = disciplinary_action.employee_id AND personal_info.salary> 40000

Կոդում նշվում է այն երկու աղյուսակները, որոնք մենք ցանկանում ենք միանալ FROM- ի դրույթին եւ այնուհետեւ ընդգրկել WHERE- ի այն դրույթը, որպեսզի արդյունքները սահմանափակեն աշխատակիցների նույնականացման համարները եւ համապատասխանում են 40,000 ԱՄՆ դոլարից ավելի աշխատավարձի չափանիշներին: