SQL အခြေခံစည်းမျဉ်း

DDL, DML နှင့်ပူးပေါင်းမည်အကြောင်းကိုလေ့လာပါ

အဆိုပါ ပုံစံချထားသော Query Language ခေတ်သစ်ဒေတာဘေ့စဗိသုကာများ၏အခြေခံအဆောက်အဦလုပ်ကွက်တစ်ခုဖြစ်ပါသည်။ SQL အားလုံးအဓိကပလက်ဖောင်းများပေါ်တွင် relational database များကိုဖန်တီး manipulate ရန်အသုံးပြုသည့်နည်းစနစ်များသတ်မှတ်ပါတယ်။ ပထမတစ်ချက်မှာဘာသာစကားခြိမ်းခြောက်ပြီးရှုပ်ထွေးပုံရပေမည်, သို့သော်ရှိသမျှသောအခက်ခဲမဟုတ်ပါဘူး။

SQL နောက်ကွယ်မှအခြေခံအားဤနိဒါန်း databases ကိုဖန်တီးပြုပြင်မွမ်းမံဖို့အသုံးပြုအဓိကပညတ်တော်တို့ကိုအချို့မှာအကျဉ်းကြည့်ကြာပါသည်။

SQL အကြောင်း

SQL များ၏မှန်ကန်သောအသံထွက်အဆိုပါဒေတာဘေ့စအသိုင်းအဝိုင်းအတွင်းအငြင်းပွားဖွယ်ပြဿနာဖြစ်ပါတယ်။ ယင်း၏ SQL စံခုနှစ်တွင်အမေရိကန်အမျိုးသားစံချိန်စံညွှန်း Institute မှတရားဝင်အသံထွက်ကြောင်းကြေညာ "es el တန်းစီ။ " သို့သော်များစွာသောဒေတာဘေ့စကျွမ်းကျင်ပညာရှင်များကတော့ဘန်းစကားအသံထွက်ကိုမှယူကြပြီ "နောက်ဆက်တွဲ။ " အဆိုပါရွေးချယ်မှုကိုဥစ္စာဖြစ်ပါတယ်။

SQL အများအပြားအရသာအတွက်လာပါတယ်။ Oracle က databases ကို ယင်း၏စီးပွားဖြစ် PL / SQL ကိုအသုံးပြုပါ။ Microsoft SQL Server transaction-SQL ၏အသုံးပြုမှုကိုမှန်ကန်စေသည်။ အဆိုပါမူကွဲအားလုံးစက်မှုလုပ်ငန်းစံ ANSI SQL အပေါ်မှာအခြေခံထားပါသည်။ ဤသည်မိတ်ဆက်စကားဆိုခေတ်မီ relational database ကို system ပေါ်တွင်အလုပ်လုပ်သော ANSI-compliant SQL commands ကိုအသုံးပြုသည်။

DDL နှင့် DML

SQL commands ကိုနှစ်ခုအဓိက Sub-ဘာသာစကားများသို့ခွဲခြားနိုင်ပါသည်။ အဆိုပါဒေတာများကိုအဓိပ္ပာယ်ဘာသာစကားများ (DDL) databases ကိုများနှင့်ဒေတာဘေ့စအရာဝတ္ထုဖန်တီးဖျက်ဆီးဖို့အသုံးပြုတဲ့ command များပါရှိသည်။ အဆိုပါဒေတာဘေ့စဖွဲ့စည်းပုံမှာ DDL နဲ့သတ်မှတ်တာဖြစ်ပါတယ်ပြီးနောက်ဒေတာဘေ့စအုပ်ချုပ်ရေးမှူးများနှင့်သုံးစွဲသူများကအတွင်းပါရှိသောအချက်အလက်များ, ထည့်သွင်း retrieve နှင့်ပြုပြင်မွမ်းမံဖို့ဒေတာများကိုကြိုးကိုင်ခြယ်လှယ်ခြင်းဘာသာစကားများ (DML) ကိုသုံးနိုင်သည်။

ဒေတာကိုအဓိပ္ပာယ်ဘာသာစကားများ Commands

အဆိုပါဒေတာများကိုအဓိပ္ပာယ်ဘာသာစကားများ databases ကိုများနှင့်ဒေတာဘေ့စအရာဝတ္ထုဖန်တီးဖျက်ဆီးဖို့အသုံးပြုသည်။ ထို command များကိုအဓိကအားဖြင့်တစ်ဒေတာဘေ့စစီမံကိနျး၏ setup ကိုနှင့်ဖယ်ရှားရေးအဆင့်စဉ်အတွင်းဒေတာဘေ့စအုပ်ချုပ်ရေးမှူးများကအသုံးပြုကြသည်။ ဤတွင်လေးအခြေခံ DDL ပညတ်တော်တို့ကို၏ဖွဲ့စည်းပုံနှင့်အသုံးပြုမှုမှာကြည့်င်:

CREATE ။ တစ်ဦး Installing ဒေတာဘေ့စစီမံခန့်ခွဲမှုစနစ်အ ကွန်ပျူတာပေါ်တွင်သင်အများအပြားလွတ်လပ်သော databases ကိုဖန်တီးစီမံခန့်ခွဲရန်ခွင့်ပြုပါတယ်။ ဥပမာအားဖြင့်, သင်သည်သင်၏အရောင်းဌာနနှင့်သင့် HR ဌာနများအတွက်ပုဂ္ဂိုလ်များဒေတာဘေ့စများအတွက်ဖောက်သည်အဆက်အသွယ်တစ်ဦးဒေတာဘေ့စကိုဆက်လက်ထိန်းသိမ်းထားဖို့လိုပေမည်။ အဆိုပါ CREATE command ကိုသင့်ရဲ့ပလက်ဖောင်းပေါ်ဤအကြောင်း databases ကိုအသီးအသီးတည်ထောင်နိုင်ရန်အသုံးပြုသည်။ ဥပမာ, command ကို:

DATABASE န်ထမ်း CREATE

သင့်ရဲ့ DBMS ပေါ်တွင် "ဝန်ထမ်း" အမည်ရှိတစ်ဦးအချည်းနှီးသောဒေတာဘေ့စဖန်တီးပေးပါတယ်။ အဆိုပါဒေတာဘေ့စတီးပွီး, လာမယ့်ခြေလှမ်းဒေတာဆံ့ကြောင်းကျောက်ပြားကိုဖန်တီးရန်ဖြစ်ပါသည်။ အဆိုပါ CREATE command ကိုနောက်ထပ်မူကွဲဒီရည်ရွယ်ချက်အတွက်အသုံးပြုနိုင်ပါတယ်။ အမိန့်:

personal_info TABLE CREATE (FIRST_NAME char (20) မဟုတ် null, LAST_NAME char (20) မဟုတ် null, employee_id တရားမဝင်သောမဟုတ် int)

လက်ရှိဒေတာဘေ့စမှာ "personal_info" အမည်ရစားပွဲတစ်ခုထူထောင်နိုင်ခဲ့သည်။ အခြို့သောအပိုဆောင်းသတင်းအချက်အလက်နှင့်အတူ FIRST_NAME, LAST_NAME နှင့် employee_id: ဥပမာမှာစားပွဲသုံးခု Attribute တွေ။

အသုံးပြုပါ။ အဆိုပါအသုံးပြုမှု command ကိုသင် DBMS အတွင်းနှင့်အတူအလုပ်လုပ်ချင်သောဒေတာဘေ့စသတ်မှတ်ခွင့်ပြုပါတယ်။ ဥပမာအားဖြင့်, သင်လက်ရှိအရောင်းဒေတာဘေ့စတွင်အလုပ်လုပ်ကိုင်ခြင်းနှင့်အောက်ပါ SQL Command ဖြင့်အစပြုပေးလိုက်ရုံ, အလုပျသမားဒေတာဘေ့စကိုထိခိုက်လိမ့်မည်ဟုအချို့သော command များကိုထုတ်ပေးချင်နေပါလျှင်:

အသုံးပြုမှုန်ထမ်း

ဒါဟာအမြဲတမ်းဒေတာ manipulate ကြောင့် SQL commands ကိုထုတ်ပေးမတိုင်မီတွင်အလုပ်လုပ်ကိုင်နေသောဒေတာဘေ့စမသိဖြစ်ဖို့အရေးကြီးတယ်။

ALTER ။ သင်တစ်ဦးဒေတာဘေ့စအတွင်းစားပွဲတစ်ခုဖန်တီးပြီးပြီပြီးတာနဲ့သင်ကယင်း၏ချက်နှင့်အဓိပ္ပါယ်ပြုပြင်မွမ်းမံရန်လိုပေမည်။ အဆိုပါ ALTER command ကိုသင်မဖျက်ပစ်နဲ့က recreating မပါဘဲစားပွဲတစ်ခု၏ဖွဲ့စည်းပုံမှစသောအပြောင်းအလဲလုပ်ဖို့ခွင့်ပြုပါတယ်။ အောက်ပါ command မှာကြည့်လိုက်ပါ:

TABLE ALTER personal_info လစာပိုက်ဆံတရားမဝင်သော ADD

ဒါကဥပမာ personal_info စားပွဲပေါ်မှာ-အနေနဲ့ဝန်ထမ်းရဲ့လစာအသစ် attribute ကထပ်ပြောသည်။ အဆိုပါ "ပိုက်ဆံ" အငြင်းအခုံအနေနဲ့ဝန်ထမ်းရဲ့လစာဟာဒေါ်လာနှင့်ဆင့် format ကိုအသုံးပြုပြီးသိမ်းဆည်းကြောင်းသတ်မှတ်ပါတယ်။ နောက်ဆုံးအနေနဲ့က "တရားမဝင်သော" keyword ကိုကမဆိုပေးထားသောဝန်ထမ်းမတနျဖိုးမဆံ့ရန်ဤလယ်ကွင်းများအတွက် OK ကိုဖွင့်သောဒေတာဘေ့စပြောပြသည်။

drop ။ ဒေတာအဓိပ္ပာယ်ဘာသာစကားများ, DROP ၏နောက်ဆုံး command ကိုငါတို့သညျကို DBMS ကနေတစျခုလုံးကိုဒေတာဘေ့စအရာဝတ္ထုဖယ်ရှားပစ်ရန်ခွင့်ပြုပါတယ်။ ကျနော်တို့အမြဲတမ်းကျနော်တို့နေသူများကဖန်တီးသော personal_info စားပွဲပေါ်မှာဖယ်ရှားလိုလျှင်ဥပမာအားဖြင့်ကျနော်တို့ကိုအောက်ပါ command ကိုသုံးချင်ပါတယ်:

DROP TABLE personal_info

အလားတူပဲအောက်က command ကိုတစ်ခုလုံးကိုဝန်ထမ်းဒေတာဘေ့စကိုဖယ်ရှားရန်အသုံးပြုမည်ဖြစ်ကြောင်း:

DATABASE န်ထမ်း DROP

စောင့်ရှောက်မှုနှင့်အတူဒီ command ကိုသုံးပါ။ ကို drop command ကိုသင့်ရဲ့ဒေတာဘေ့စကနေတစျခုလုံးကိုဒေတာအဆောက်အဦများဖယ်ရှားပေးပါသည်။ သငျသညျတစ်ဦးချင်းစီမှတ်တမ်းများကိုဖယ်ရှားလိုလျှင်, ဒေတာများကိုကြိုးကိုင်ခြယ်လှယ်ခြင်းဘာသာစကားများများ၏တော့ DELETE command ကိုသုံးပါ။

ဒေတာကိုကြိုးကိုင်ခြယ်လှယ်ခြင်းဘာသာစကားများ Commands

အဆိုပါဒေတာများကိုကြိုးကိုင်ခြယ်လှယ်ခြင်းဘာသာစကားများ (DML) ဒေတာဘေ့စသတင်းအချက်အလက်, retrieve ထည့်သွင်းခြင်းနှင့်ပြုပြင်မွမ်းမံရန်အသုံးပြုသည်။ ထို command အဆိုပါဒေတာဘေ့စများ၏လုပ်ရိုးလုပ်စဉ်စစ်ဆင်ရေးကာလအတွင်းအားလုံးဒေတာဘေ့စအသုံးပြုသူများအနေဖြင့်အသုံးပြုကြသည်။

INSERT ။ SQL အတွက် INSERT command ကိုရှိပြီးသားစားပွဲပေါ်မှာမှမှတ်တမ်းများကိုထည့်သွင်းအသုံးပြုသည်။ ယခင်အပိုင်းကနေ personal_info ဥပမာပြန်လာကျွန်တော်တို့ရဲ့ HR ဌာနက၎င်း၏ဒေတာဘေ့စအသစ်တစ်ခုန်ထမ်းကိုထည့်သွင်းဖို့လိုမြင်ယောင်ကြည့်ပါ။ သင်သည်ဤတဦးတည်းဆင်တူတဲ့ command ကိုအသုံးပြုနိုင်တယ်:

( 'Bart', 'Simpson' 12345, $ 45000) personal_info တန်ဖိုးများထဲသို့ထည့်

စံချိန်တင်များအတွက်သတ်မှတ်ထားသောလေးတန်ဖိုးများရှိပါတယ်သတိပြုပါ။ FIRST_NAME, LAST_NAME, employee_id နှင့်လစာ: ဤသူတို့သတ်မှတ်ကြသည်နိုင်ရန်အတွက်စားပွဲ attribute တွေကိုက်ညီတဲ့။

SELECT ။ အဆိုပါ SELECT command ကို SQL အတွက်အသုံးအများဆုံး command တစ်ခုဖြစ်သည်။ ဒါဟာဒေတာဘေ့စအသုံးပြုသူများသည်သူတို့အနေနဲ့လုပ်ငန်းလည်ပတ်ဒေတာဘေ့စကနေအလိုရှိကြသည်တွင်တိကျသောသတင်းအချက်အလက်ရယူခွင့်ပြုပါတယ်။ ထပ်ဝန်ထမ်းဒေတာဘေ့စမှအ personal_info စားပွဲပေါ်မှာသုံးပြီးအနည်းငယ်ဥပမာမှာကြည့်လိုက်ပါ။

အောက်တွင်ပြ command ကတော့ personal_info စားပွဲပေါ်မှာအတွင်းပါရှိသောအချက်အလက်တွေအားလုံးကိုရယူ။ အဆိုပါခရေပွင့ SQL တစ်သံခိတ်အဖြစ်အသုံးပြုကြောင်းသတိပြုပါ။ ဤသည်တိုက်ရိုက်အားဖြင့် "personal_info စားပှဲမှအရာအားလုံးကိုရွေးချယ်ပါ။ " ကိုဆိုလိုသည်

personal_info FROM မှ * SELECT

တနည်းအားဖြင့်အသုံးပြုသူများဒေတာဘေ့စထဲကနေထုတ်ယူသော attribute တွေကန့်သတ်ချင်ပေမည်။ ဥပမာ, လူ့စွမ်းအားအရင်းအမြစ်ဌာနကုမ္ပဏီအားလုံးကိုန်ထမ်း၏နောက်ဆုံးအမည်များစာရင်းတစ်ခုလိုအပ်နိုင်ပါသည်။ အောက်ပါ SQL command ကိုသာသတင်းအချက်အလက်ရယူမည်ဟု:

personal_info FROM မှ LAST_NAME SELECT

အပိုဒ်သတ်မှတ်ထားတဲ့စံသတ်မှတ်ချက်နှင့်ကိုက်ညီသောသူတို့အားထုတ်ယူသောမှတ်တမ်းများကန့်သတ်ဖို့အသုံးပြုနိုင်ပါတယ်ရှိရာ။ အဆိုပါ CEO ဖြစ်သူအားလုံးအလွန်အမင်း paid န်ထမ်းများ၏ပုဂ္ဂိုလ်များမှတ်တမ်းများကိုပြန်လည်သုံးသပ်စိတ်ဝင်စားဖြစ်လိမ့်မယ်။ အောက်ပါ command ကို $ 50,000 ထက် သာ. ကြီးမြတ်တဲ့လစာတန်ဖိုးကိုရှိသည်သောမှတ်တမ်းများအဘို့အ personal_info အတွင်းပါရှိသောအချက်အလက်များ၏အားလုံးရယူ:

နေရာလစာ> $ 50000 personal_info FROM မှ * SELECT

UPDATE ။ အဆိုပါ UPDATE command ကိုအမြောက်အများတွင်သို့မဟုတ်တစ်ဦးချင်းဖြစ်စေ, စားပွဲတစ်ခုအတွင်း၌ပါရှိသောအချက်အလက်တွေကိုပြုပြင်မွမ်းမံဖို့အသုံးပြုနိုင်ပါသည်။ ကုမ္ပဏီ၏နှစ်စဉ်အားလုံးန်ထမ်းကသူတို့လစာအတွက် 3 ရာခိုင်နှုန်းကုန်ကျစရိတ်-of နထေိုငျတိုးပေးသည်ယူဆ။ အောက်ပါ SQL command ကိုအလျင်အမြန်ဒေတာဘေ့စထဲမှာသိမ်းထားတဲ့အပေါငျးတို့သန်ထမ်းရန်ဤလျှောက်ထားရန်အသုံးပြုနိုင်:

SET လစာ = လစာ * 1,03 personal_info UPDATE

အသစ်ကဝန်ထမ်း Bart Simpson တာဝန်များ၏ခေါ်ဆိုခအထက်နှင့်ကျော်လွန်ပြီးစွမ်းဆောင်ရည်ကိုပြသတဲ့အခါ, စီမံခန့်ခွဲမှုတစ်ဦး $ 5000 လစာတိုးနဲ့သူ့ရဲ့ကြယ်အောင်မြင်မှုများကိုအသိအမှတ်မပြုရန်ဆန္ဒရှိသော်လည်း။ အဆိုပါ WHERE clause ဒီလစာတိုးဘို့ Bart ထွက် single ဖို့အသုံးပြုနိုင်:

UPDATE SET လစာ personal_info = လစာ + $ 5000 နေရာ employee_id = 12345

ဖျက်ရန်။ နောက်ဆုံးအနေနဲ့ရဲ့တော့ DELETE command ကိုကြည့်ယူကြကုန်အံ့။ သငျသညျဒီ command ၏ syntax အခြား DML ပညတ်တော်တို့ကို၏ဆင်တူကြောင်းကိုရှာဖွေပါလိမ့်မယ်။ ကံမကောင်းစွာပဲကျွန်တော်တို့ရဲ့နောက်ဆုံးပေါ်ကော်ပိုရေးရှင်းင်ငွေအစီရင်ခံစာအတော်လေးမျှော်လင့်ချက်များနှင့်တွေ့ဆုံရန်မပြုခဲ့သူနှင့်ဆင်းရဲသောသူတို့သည် Bart ပယ်ထားကြ၏ခဲ့တာဖြစ်ပါတယ်။ အပိုဒ်အဆိုပါ personal_info စားပွဲပေါ်မှာနေသူ့စံချိန်ကိုဖယ်ရှားရန်အသုံးပြုနိုင်ပါတယ်နေရာတစ်ဦးနှင့်အတူအဆိုပါတော့ DELETE command ကို:

personal_info နေရာ employee_id = 12345 အဖြစ်မှဖယ်ရှာ

ပူးပေါင်းမည်

ယခုတွင်သင်သည် SQL ၏အခြေခံသင်ယူသွားပါပြီ, ကဘာသာစကားပူဇော်-The မှ JOIN ကြေညာချက်ရှိပါတယ်အာဏာအရှိဆုံးသဘောတရားများကိုတပေါ်ရွှေ့ဖို့အချိန်ပါပဲ။ တစ်ဦးကကြေညာချက် JOIN သင်ထိထိရောက်ရောက်အချက်အလက်များ၏အမြောက်အမြားကို process မှမျိုးစုံကိုစားပွဲအတွက် data တွေကိုပေါင်းစပ်ဖို့ခွင့်ပြုပါတယ်။ ဒေတာဘေ့စ၏အစစ်မှန်တဲ့အာဏာကိုနေထိုင်ရှိရာဤရွေ့ကားထုတ်ပြန်ချက်များဖြစ်ကြသည်။

, ကျောက်ပြားနှစ်ပြားကနေဒေတာတွေကိုပေါင်းစပ်အဆိုပါ PERSONAL_INFO စားပွဲပေါ်မှာသုံးပြီးဥပမာအတူဆက်လက်နှင့်ရောနှောဖို့နောက်ထပ်စားပွဲထည့်သွင်းဖို့အခြေခံ JOIN စစ်ဆင်ရေး၏အသုံးပြုမှုကိုလေ့လာစူးစမ်းရန်။ သငျသညျကိုအောက်ပါကြေညာချက်နှင့်အတူဖန်တီးခဲ့ကြောင်း DISCIPLINARY_ACTION ကိုခေါ်စားပွဲတစ်ခုရှိယူဆ:

TABLE disciplinary_action CREATE (action_id int တရားမဝင်သောမဟုတ်, employee_id တရားမဝင်သောမဟုတ် int, မှတ်ချက်များ char (500))

ဤသည်ကိုစားပွဲကုမ္ပဏီဝန်ထမ်းအပေါ်စည်းကမ်းလုပ်ရပ်များ၏ရလာဒ်များပါရှိသည်။ သငျသညျကဝန်ထမ်းအရေအတွက်ကထက်အခြားအလုပျသမားအကြောင်းကိုမဆိုသတင်းအချက်အလက်ဆံ့မခံမသတိထားမိပါလိမ့်မယ်။ ဒါဟာသင် DISCIPLINARY_ACTION နှင့် PERSONAL_INFO စားပွဲကနေသတင်းအချက်အလက်ပေါင်းစပ်ချင်ပေလိမ့်မည်ဘယ်မှာအများအပြားကးစိတ်ကူးဖို့လွယ်ကူပါတယ်။

သငျသညျ $ 40,000 ထက်လစာ သာ. ကြီးမြတ်နှင့်အတူအားလုံးန်ထမ်းဆန့်ကျင်ယူစည်းကမ်းလုပ်ရပ်များ lists တဲ့အစီရင်ခံစာကိုတာဝန်ပေးဆောင်ရွက်ခဲ့တာယူဆ။ တစ်ဦး JOIN စစ်ဆင်ရေးများအသုံးပြုမှု, ဤကိစ္စတွင်အတွက်ရိုးရှင်းတဲ့ဖြစ်ပါတယ်။ ကျနော်တို့အောက်ပါ command ကိုအသုံးပြုပြီးဤအချက်အလက်ရယူနိုင်သည်

personal_info.first_name, personal_info.last_name, personal_info FROM မှ disciplinary_action.comments, disciplinary_action နေရာ personal_info.employee_id = disciplinary_action.employee_id AND personal_info.salary SELECT> 40000

အဆိုပါ code တွေကိုကျနော်တို့အပိုဒ် FROM မှထဲမှာ join ချင်တယ်, ပြီးတော့န်ထမ်း၏ ID ကိုက်ညီခြင်းနှင့် $ 40,000 ထက် သာ. ကြီးမြတ်တဲ့လစာကျွန်တော်တို့ရဲ့စံတွေ့ဆုံခဲ့ဖူးကြောင်းမှတ်တမ်းများမှရလဒ်ကန့်သတ်ဖို့ WHERE clause အတွက်ကြေညာချက်ပါဝင်သောကျောက်ပြားနှစ်ပြားကိုသတ်မှတ်ပါတယ်။