You are on page 1of 52

THET NAUNG HTUT SQL

Table of Contents
WINDOW PC ေပၚကို mysql install ျပဳလုပ္ျခင္း ......................................................................................... 3

SQL INTRO............................................................................................................................................ 9
SQL Syntax ........................................................................................................................................... 11
SQL SELECT Statement ..................................................................................................................... 12
SQL SELECT DISTINCT Statement ..................................................................................................... 13
SQL WHERE Clause ............................................................................................................................ 14
SQL AND & OR Operators ................................................................................................................... 16
SQL ORDER BY Keyword ................................................................................................................... 18
SQL INSERT INTO Statement .............................................................................................................. 20
SQL UPDATE Statement ...................................................................................................................... 22
SQL DELETE Statement ....................................................................................................................... 24
SQL TOP Clause ................................................................................................................................... 25
SQL LIKE Operator .............................................................................................................................. 27
SQL Wildcards ...................................................................................................................................... 29
SQL IN Operator ................................................................................................................................... 31
SQL BETWEEN Operator..................................................................................................................... 32
SQL Alias ............................................................................................................................................. 34
SQL Joins.............................................................................................................................................. 35
SQL INNER JOIN Keyword ................................................................................................................. 36
SQL LEFT JOIN Keyword .................................................................................................................... 37
SQL RIGHT JOIN Keyword ................................................................................................................. 38
SQL FULL JOIN Keyword ................................................................................................................... 39
SQL UNION Operator........................................................................................................................... 40
SQL SELECT INTO Statement ............................................................................................................. 42
SQL CREATE DATABASE Statement ................................................................................................. 44
SQL CREATE TABLE Statement ......................................................................................................... 44
SQL Constraints .................................................................................................................................... 46
SQL NOT NULL Constraint.................................................................................................................. 46

Page1
THET NAUNG HTUT SQL

SQL UNIQUE Constraint ...................................................................................................................... 46


SQL PRIMARY KEY Constraint .......................................................................................................... 48
SQL CHECK Constraint........................................................................................................................ 49
SQL DEFAULT Constraint ................................................................................................................... 51

Page2
THET NAUNG HTUT SQL

WINDOW PC ေပၚကို mysql install ျပဳလုပ္ျခင္း


အရင္ဦးဆံုး mysql installating မျပဳလုပ္ခင္ sql ကို အသံုးျပဳႏိုင္ဖို႔အတြက္ XAMPP ကိုအသံုးျပဳမည္
ျဖစ္ပါသျဖင့္ XAMPP ဆိုတာဘာလဲကို နားလည္ေအာင္ ေအာက္မွာအရင္ေလ့လာ ၾကည့္ထားရေအာင္။

What is XAMPP?
ကၽြန္ေတာ္တို႕ဟာ Apache web server တစ္ခုကို install ျပဳလုပ္ဖို႔ရန္ မလြယ္ တာကို သိၾကပါတယ္။
ၿပီးေတာ့ MySQL, PHP and Perl တို႔ကို server ၌ ေပါင္းဖို႔ရန္ ျပဳ လုပ္တဲ့အခါမွာလည္း ရ ရွိဖို႔ရန္ခက္ခဲပါတယ္။
XAMPP သည္ Apache ကို ျဖန္႕ေ၀ၿပီးေတာ့ install လုပ္ဖို႕ရန္ အလြနလ
္ ြယ္ကူပါတယ္။ XAMPP တြင္ MySQL,
PHP and Perl ပါ၀င္ေနၿပီးေတာ့ download, extract and start ကဲ့သို ၎တို႔ကိုအသံုးျပဳဖို႔ ရန္လည္း လြယ္ကူပါ
တယ္။
Apache သည္ လူသံုးမ်ားေသာ internet server တစ္ခုျဖစ္ပါတယ္။ ၎သည္ ကြန္ပ်ဴတာ ကို limit မရွိပဲ
နဲ free ျဖန္႔ေ၀ထားတဲ့ server တစ္ခုလည္း ျဖစ္ပါတယ္။

Window အတြက္ XAMPP ေရြးခ်ယ္ျခင္း


ေအာက္ပါလင့္ကေန သြားလိုက္ရင္ ပံုမွာျပထားတဲ့အတိုင္းေပၚလာပါလိမ့္မယ္။
(http://www.apachefriends.org/en/xampp-windows.html)

အေပၚကျပထားတဲ့ ပံုမွာ အနီနဲ႕ ၀ိုင္းထားတဲ့ ေနရာကေန XAMPP package ကို download လုပ္လိုက္ပါမယ္။ ၿပီး
လွ်င္ software မရမ္းခင္ ကြန္ပ်ဴတာကို အသံုးျပဳေနတဲ့သူဟာ window vista ဒါမွမဟုတ္ window7 အသံုးျပဳ
ေနလွ်င္ ေအာက္ကအတိုင္း အရင္လုပ္ေဆာင္လိုက္ပါဦး။

Start àcontrol panelàUser Accounts and Family SafetyàTurn user Account Control on or offà အဲဒီမွာ
[turn user account control on or off ] ကို အမွန္ျခစ္ေလးေပးထားလွ်င္ ျဖဳတ္ထားလိုက္ပါ။

Page3
THET NAUNG HTUT SQL

ၿပီးရင္ အေစာက Download လုပ္ထားတဲX


့ AMPPကို စ run ပါမယ္။ run ေနစဥ္အတြင္းမွာ အနက္ေရာင္
window ေပၚမွာ စာတမ္းအျဖဴေတြနဲ႕ေပၚလာလို႕ စိုးရိမ္ မသြားပါနဲ႔။ enter ကိုပဲႏွိပ္ျပီး အဆင့္ဆင့္ လုပ္ေဆာင္
သြားလိုက္ပါ။ Yes or NO ေမးလွ်င္ yes ကိုပဲ ေရြးၿပီး run သြားလိုက္ပါ။ x ႏွင့္ y ျပလွ်င္ x ကိုေရြးၿပီး run သြားပါ။
Run ျပီးတာနဲ႕ XAMPP Control Panel Application ဆိုၿပီးေတာ့ Box တစ္ခုနဲ႕ ေပၚလာ ပါေလ့မယ္။ မေပၚလွ်င္
start ကေနသြားျပီးေတာ့ XAMPP FOR WINDOW၊ ျပီးလွ်င္ XAMPP Control Panel Application ကိုေရြး
လိုက္ပါ။ Box ေပၚလာလွ်င္ အေပၚဆံုးႏွစ္ခု Apache and MySpl ကို start running စေပးလိုက္ပါ။ ဒါဆို mysql
စျပီး အသံုးျပဳလို႔ ရပါ ျပီ။

SQL ကို အသံုးျပဳဖို႔အတြက္ အရင္ဦးဆံုး StartàAll ProgramsàAccessoriesà Command Prompt


ဒါမွမဟုတ္ Start à Run à cmd ရိုက္ထည့္ပါ။ Command promt box ေပၚလာလွ်င္ mysql ၿပီးလွ်င္ space bar
တစ္ခ်က္ျခား၊ -uroot လို႕ဆက္ရုိက္ပါ။ mysql –uroot -u ကေတာ့ user ကိုဆိုလိုပါတယ္။ root က default name
ပါ။ ေအာက္ကပံုအတိုင္းေပၚလာၿပီးေတာ့ mySQL ကို cmd က အထူးမျပဳႏိုင္ေသးေသာ message ေတြ ေပၚလာ
ပါေလ့ဦးမယ္။

Exit နဲ႕ ျပန္ထြက္ပါမယ္။

Page4
THET NAUNG HTUT SQL

နည္းလမ္း (၁) - Command promt မွာ SQL ကို ဘာေၾကာင့္တမ္းအသံုးမျပဳႏိုင္ေသးလဲဆိုရင္ SQL software
ရွိတဲ့ directory လမ္းကိုမသိေသးလုိ႔ျဖစ္ပါတယ္။ ထို႔ေၾကာင့္ ကၽြန္ေတာ္တို႔ဟာ SQL ကို directory နဲ႕အသံုးျပဳ
လို႔ ရဖို႔ရန္ ေအာက္ပါအတိုင္း အဆင့္အဆင့္လုပ္ေဆာင္သြားလိုက္ပါမယ္။ ေအာက္မွာ ပံုႏွင့္ အညြန္းျပထားပါ
တယ္။

Destop à my computer à right click à properties à Advanced à Environment Variables ကိုေရြ


ခ်ယ္လိုက္ ပါ။ ၿပီးလွ်င္ system variables ေအာက္က Path à Edit à variable value မွာရွိတဲ့ စာတမ္း
ေနာက္ဆံုးမွာ ;c:\xampp\mysql\bin လို႔ ရိုက္ထည့္ေပးလိုက္ပါ။ ေအာက္မွာ ပံုျပထားပါတယ္။

အဲဒါေတြျပင္ျပီးတာနဲ႕ အားလံုး ok ေပးလိုက္ပါ။ အခုျပန္ျပီး Start à Run à cmd လို႔ ျပန္ၿပီး ရိုက္ထည့္ ပါမယ္။
ၿပီးလွ်င္ အေစာကလိုပဲ mysql –uroot လို႕ ရိုက္ထည့္ၾကည့္ပါ။ sql စၿပီး welcome monitor ေပၚ၌ current စလုပ္ပါ
ျပီ။ ဒါဆိုရင္ sql code ေတြ command pront မွာ စ run လို႔ ရပါၿပီ ။

Page5
THET NAUNG HTUT SQL

နည္းလမ္း(၂) - ေနာက္ထပ္ directory ညြန္းတဲ့ ပံုစံတစ္မ်ိဳးကေတာ့ mysql ကိုအေပၚကပံုစံအတုိင္း မျပဳလုပ္ခ်င္


ဘူး။ command promt ကေန user နာမည္ေတြ ရိုက္ထည့္ၿပီးေတာ့ မသံုးခ်င္ ဘူးဆိုလွ်င္ ေအာက္ပါအတိုင္း ျပဳ
လုပ္ႏိုင္ပါတယ္။
· အရင္ဦးဆံုး notepad ကိုဖြင့္ပါမယ္။
· ၿပီးလွ်င္ notepad ထဲမွာ ေအာက္ပါအတိုင္းေရးလိုက္ပါ။
C:\XAMPP\mysql\bin\mysql.exe -uroot
· ၿပီးလွ်င္ save တာကေတာ့ ၾကိဳက္တဲ့ နာမည္နဲ႕ save ျပဳလုပ္ႏိုင္ပါတယ္။ save ထားတဲ့ နာမည္ရဲ႕ေနာက္
မွာေတာ့ .bat ကိုေတာ့ မပါမျဖစ္ထည့္ရပါတယ္။ ဥပမာ - mysqlopen.bat
· ၿပီးလွ်င္ အဲဒီ ေပၚလာတဲ့ bat file ေလးကို double click ႏွိပ္ၿပီးေတာ့ mysql ကို သံုးလို႔ ရပါၿပီ။ ပံုမွာၾကည့္ပါ-

ဒါဆို sql installation အပိုင္းၿပီပါၿပီ ။

Page6
THET NAUNG HTUT SQL

CONFIGURING MYSQL
MySQL installing အပိုင္းၿပီးသြားေတာ့ အခု MySQL configuring ျပဳလုပ္တဲ့ အပိုင္းပါ။ အရင္ဦးဆံုး
shoutcut ထုတ္ထားရေအာင္။ Start à Search Box àSearch Box မွာ cmd လို႔ရိုက္ထည့္ၿပီးရွာရေအာင္။ ၿပီး
လွ်င္ cmd ဆိုတဲ့ ဖိုင္ေလးေတြရင္ right click à Pin to start menu ေရြးလိုက္ပါ။ ၿပီးလွ်င္ start menu မွာ cmd ဖိုင္
ေလး ေပၚေနပါေလ့မယ္။
အဲဒါကို copy à Desktop à right click à paste shoutcut လုပ္ပါ။ ေနာက္ၿပီး အဲဒီ shoutcut
ကုိဖြင့္ၾကည့္ပါ။ <c:\WINDOWS\system32> start in ျပဳလုပ္ေနပါ ေလ့မယ္။ ေနာက္ျပီးလွ်င္ Window form
ပံုစံကို ျပင္ဆင္ပါ့မယ္။ ဆြဲႏိုင္၊ ဆန္ႏိုင္ ေအာင္ေပါ့။ Shoutcut ကို right click à properties à layout မွာ
ေအာက္ပါအတိုင္း ျပင္ဆင္ပါ့မယ္။ ကိုယ္ႀကိဳက္တဲ့ပံုစံထားၾကည့္ပါ။ အဆင္ေျပတာေလာက္ေပါ့။

SETUP PASSWORD MYSQL


MySQL ကို security ရွိေစဖို႕ အတြက္ password update လုပ္ႏိုင္ပါတယ္။ password ေပးထားရင္ web
browser မွာလည္း ဖြင့္လို႕ မရေတာ့ပါဘူး။ အရင္ဦးဆံုး MySQL ကိုဖြင့္ပါ။ Start àRunàcmd ၿပီးလွ်င္ screem
အနက္ေပၚမွာ mysql –uroot လို႔ရိုက္ပါမယ္။ ၿပီးလွ်င္ mysql တက္ လာတဲ့အခါ

mysql> UPDATE mysql.user SET Password = PASSWORD ( ‘thetnaung’ ) WHERE User = ‘root’;
လို႕ေရးပါမယ္။ အဲလိုဆိုရင္ 1 rows affected လို႕ေပၚလာျပီး Query ok လို႕ ျပလာပါ ေလ့မယ္။ ျပီးလွ်င္

mysql> FLUSH PRIVILEGES;


လို႔ ထပ္ရိုက္ပါမယ္။

Page7
THET NAUNG HTUT SQL

ၿပီးလွ်င္ exit နဲ႕ျပန္ထြက္ၾကည္ၿ့ ပီး


> mysql –uroot
လို႔ ရိုက္လိုက္တာနဲ႕ error ျပပါေလ့မယ္။ ဒါဆို password ေတာင္းပါျပီ။ ဒါဆို
> mysql -uroot –p
ဆိုၿပီးျပန္ရိုက္လိုက္ၿပီး password ေတာင္းတဲ့အခါ ကိုယ္ေပးထားတဲ့ password ရိုက္ ထည့္လိုက္ပါ။

တကယ္လို႕ password ျပန္ျဖဳတ္ခ်င္တယ္ဆိုရင္-


mysql> UPDATE mysql.user SET PASSWORD = Password WHERE User =’root’;
ၿပီးလွ်င္
mysql> FLUSH PRIVILEGES;
ဒါဆို password မရွိေတာ့ပါဘူး။ mysql –uroot နဲ႔ျပန္ဖြင့္ၾကည့္ပါ။

Page8
THET NAUNG HTUT SQL

SQL INTRO
WHAT IS MYSQL?
SQL ကိုအေျခခံအားျဖင့္ အလြယ္ေခၚမယ္ဆိုရင္ေတာ့ Structured Query Language (ေမးျမန္းမႈေတြကို
တည္ေဆာက္ထားတဲ့ ဘာသာရပ္ႀကီး) တစ္ခုလို႔ေခၚပါတယ္။ သူ႔ကို definition ဖြငမ
့္ ယ္ဆိုရင္ျဖင့္ -
· MySQL သည္ database management system တစ္ခုျဖစ္သည္။
Database တစ္ခုဆိုသည္မွာ data ေတြကို စုစည္းတည္ေဆာက္ထားတာတစ္ခုျဖစ္သည္။ Database ဆိုတာက
ေတာ့ မ်ားျပားတဲ့ သတင္းအခ်က္အလက္ပမာဏေတြကို List လုပ္ထားၿပီးေတာ့ အဲဒီ database အတြင္းက data
ေတြဟာ corporate network (ေပါင္းစည္းထားတဲ့ ကြန္ယက္) သဖြယ္ အတြင္းမွာရွိေနပါတယ္။ ဥပမာ-
ပန္းခ်ီျပခန္း တစ္ခုဟာလည္း database တစ္ခုျဖစ္ႏိုင္ပါတယ္။ computer database တစ္ခုအတြင္းမွာ data ေတြ
add တယ္၊ လက္ခံမယ္၊ ၿပီးေတာ့ လုပ္ေဆာင္မယ္ဆိုရင္ ကၽြန္ေတာ္တသ
ို႔ ည္ MySQL Server တစ္ခုကဲ့သို႕ေသာ
database management system တစ္ခုလိုလာပါျပီ။ ဒါမွ computer ဟာ ႀကီးမားတဲ့ အခ်က္အလက္ပမာဏေတြကို
ေကာင္းစြာစီမခ
ံ န္႔ခြဲႏိုင္ပါလိမ့္မယ္။ Database management system တစ္ခုဆိုတာဟာ data ေတြ management
ျပဳလုပ္တဲ့အခါ central အက်ဆံုး အခန္းက႑မွာ ပါ၀င္တြက္ခ်က္မႈေတြျပဳလုပ္ပါတယ္။ အမွီအခုိကင္းေသာ
ကြန္ပ်ဴတာ standalone ပံုစံ အသံုး၀င္မႈတစ္ခုအျဖစ္ဖို အတြက္ ဒါမွမဟုတ္ အျခား application အစိတ္အပိုင္း
တစ္ခုျဖစ္ဖို႔အတြက္ Database ႀကီးတစ္ခု ပါ၀င္မွ ေကာင္းစြာလုပ္ေဆာင္ ႏိုင္ပါလိမ့္မယ္။

· MySQL သည္ relational database management system တစ္ခုျဖစ္သည္။


Relational database တစ္ခုဆိုသည္မွာ ႀကီးမားတဲ့ storeroom တစ္ခုအတြင္းမွာ အခ်က္အလတ္ေတြအားလံုးကို
ပိုၿပီးေတာ့ထားဖို႕အတြက္ table ေတြပိုင္းျခားၿပီးေတာ့ data ေတြကို သိုေလွာင္ထားတာျဖစ္ပါတယ္။ ၎သည္
ိ ိုင္ရပါမယ္။ Data ေတြကို အျမန္ေပါင္းထည့္ႏိုင္ရမယ္။ ထိုသို႔ ျမန္ဆန္စြာ
(flexibility) ေျပာင္းလဲျပင္လြဲ ရွႏ
အသံုးျပဳ လုပ္ေဆာင္ႏိုင္ဖိုအတြက္ ကၽြန္ေတာ္တို႕ Database engine စက္ႀကီးကို အသံုးျပဳပါ တယ္။ အျပင္က
storeroom ႀကီးကို computer စက္ၾကီးလို႕ သေဘာထားၾကပါစို႕။ ဒီလို စက္နဲလ
႔ ူအၾကား database အလုပ္ေတြ
ခိုင္းေစတာကို လုပ္ေဆာင္ႏိုင္ဖို႔အတြက္ SQL (Structured Query Language) ဆိုတဲ့ ဘာသာစကား တစ္ခုကို
တီထြင္ခဲ့ၾကပါတယ္။ ၎ language ကို database ေတြ လိုက္နာေဆာင္ရြက္ၾကပါတယ္။ MySQL စံ ၏ SQL
အစိတ္အပိုင္း (Structured Query Language) သည္ standardlized အက်ဆံုး language တစ္ခုျဖစ္ပါတယ္။ SQL
ကို (American National Standards Institute) ANSI/ISO SQL Standard အျဖစ္ သတ္မွတ္ၾကပါတယ္။ SQL
စံသည္ 1986 ခုႏွစ္မွာ မ်ားစြာေသာ version ေတြ ေျပာင္းလဲျဖစ္ေပၚတည္ရွိ လာပါတယ္။ အဲဒီ manual အတြင္းမွာ
1992 အတြင္းမွာ ထြက္ေပၚလာတဲ့ စံကို “SQL-92” ၊ 1999 ခုႏွစ္အတြင္းမွာ ထြက္ေပၚလာတဲ့ စံကို “SQL-1999”၊
ဆက္လက္ျပီးေတာ့ ထြက္လာတာ “SQL-2003” ၊ ဒါေၾကာင့္ ကၽြန္ေတာ္တို႕ဟာ SQL စံကို current version ပံုစံ
အသံုးျပဳေနၾကတယ္။ ဆိုလိုသည္မွာ အခ်ိန္ႏွင့္အမွ် SQL စံ current version ကို သံုးေနၾကရ ပါတယ္။

Why should we use MySQL?


MySQL သည္ database ေတြကို ဖြင့္တဲ့ popular အက်ဆံုး စကားတစ္ရပ္ ျဖစ္ပါသည္။ မ်ားစြာေသာ
Web application ေတြဟာ LAMP software stack တစ္ခု၏ component database အျဖစ္ MySQL ကို အသံုးျပဳ
ၾကရတာ ျဖစ္ပါတယ္။ eg PHP, WordPress, phpBB, Drupal စသည္အားျဖင့္ အျခားေသာ software

Page9
THET NAUNG HTUT SQL

ေတြကလ
ို ည္း LAMP software stack အျဖစ္အသံုးျပဳၾကရပါတယ္။ ေနာက္ျပီးေတာ့ Wikipedia, Google and
Facebook ေတြမွာလည္း MySQL အသံုးျပဳမႈေတြပါ၀င္ပါတယ္။ ဘာေၾကာင့္လဲဆိုေတာ့ MySQL ဟာhighly
scalable နဲ႕ website ေတြကို ႀကီးထြားႏိုင္ လို႔ျဖစ္ပါတယ္။

What Can SQL do?


Ø Database တစ္ခုကို ထပ္ခါထပ္ခါ ေမးျမန္းၿပီးေတာ့ စီမံမႈေတြ ျပဳလုပ္ႏိုင္သည္။
Ø Database တစ္ခုမွ data ေတြကို ဆြဲထုတ္ အသံုးျပဳႏုိင္သည္။
Ø Database တစ္ခုအတြင္း records လုပ္ထားမႈေတြကို ေပါင္းထည့္ႏိုင္တယ္။
Ø Database တစ္ခုအတြင္း records ေတြ update လုပ္ႏိုင္တယ္။
Ø Database တစ္ခုမွ record ေတြကို delete လုပ္ႏိုင္တယ္။
Ø Database အသစ္ေတြ ဖန္တီးႏိုင္မယ္။
Ø Database တစ္ခုအတြင္း table အသစ္ေတြကို ဖန္တီးႏိုင္တယ္။
Ø Database တစ္ခုအတြင္း လုပ္ထံုးလုပ္နည္းေတြကဲ့သို႔ သိုေလွာင္ထားေတြတာကို ဖန္တီးႏိုင္တယ္။
Ø Database တစ္ခုအတြင္း view မ်ားကို ဖန္တီးႏိုင္တယ္။
Ø Table, procedure, views ေတြေပၚကို ထပ္ျပီးေတာ့ ခြင့္ျပဳခ်က္ေတြ အစုျပဳလုပ္ ႏိုင္တယ္။

SQL CAN DIVIDED INTO TWO PART ARE (DML AND DDL)
Data Manipulating Language(DML) - Data ေတြကို စီမံကၽြမ္းက်င္စြာ ခန္႕ခြဲတဲ့အပုိင္း မွာ ေအာက္ပါအခ်က္
ေတြပါ၀င္ပါတယ္။
· SELECT – Database တစ္ခုမွ data ေတြကို ဆြဲထုတ္မယ္။
· UPDATE – Database တစ္ခုအတြင္းက data ေတြကို အခ်ိန္ႏွင့္ အမွ် ျပဳျပင္မယ္။
· DELETE – Database တစ္ခုမွ data ေတြကို delete လုပ္မယ္။
· INSERT INTO – Database တစ္ခုအတြင္းသို႕ data အသစ္ေတြ ထပ္ေပါင္းထည့္ မယ္။

Data Manipulattion Language(DML) - SQL ၏ DDL အပိုင္းကေတာ့ database table ေတြ ဖန္တီးတာ၊ ျဖတ္
တာေတြကို ခြင့္ျပဳပါတယ္။ ျပီးေတာ့ (key) ေတြနဲ႕ ညြန္းၾကား သတ္မွတ္ႏိုင္မယ္။ Table ေတြၾကားမွာ link ေတြနဲ႕
အထူးျပဳႏိုင္မယ္။ Table ေတြၾကားမွာ အကန္႕အသတ္ေတြ ခ်မွတ္ႏိုင္မယ္။ ေအာက္မွာအေရးႀကီးဆံုး DDL
statement ေတြပါ။
· CREATE DATABASE- DATABASE အသစ္တစ္ခု လုပ္မယ္။
· ALTER DATABASE- DATABASE တစ္ခုကို modified လုပ္မယ္။
· CREATE TABLE- Table အသစ္ဖန္တီးမယ္။
· ALTER TABLE- Table ကို modified လုပ္မယ္။
· DROP TABLE- Table ကို delete လုပ္မယ္။
· CREATE INDEX- အညႊန္းကိန္းေတြ ဖန္တီးမယ္။(search key)
· DROP INDEX- အညႊန္းကိန္းေတြကို delete လုပ္မယ္။

Page10
THET NAUNG HTUT SQL

SQL Syntax
Database Tables
Database တစ္ခုမွာ အၿမဲပါ၀င္ေလ့ရွိတာကေတာ့ table ပါပဲ။ Table တစ္ခုစီမွာ နာမည္ေပးျပီးေတာ့
သတ္မွတ္ၾကပါတယ္။ (ဥပမာ “၀ယ္သ”ူ ဒါမွမဟုတ္ “ေရာင္းသူ” ေပါ့)။ ဇယားမွာပါတဲ့ အခ်က္အလတ္ေတြႏွင့္
row အပိုင္းကိုေတာ့ record လို႕ ေခၚႏိုင္ပါတယ္။
ဥပမာအေနနဲ႕ “Persons” လို႕ေခၚတဲ့ေအာက္ကဇယားမွာၾကည့္ပါ။

P_ID LastName FirstName Address City


1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar St Yangon
3 Thetnaung Mg WinZin Meiktila
အေပၚက table မွာဆိုရင္ records သံုးခုနဲ႔ column field ငါးခုပါရွိပါတယ္။ column field ဆိုတာကေတာ့ MgMg
,U, 21 Street စတဲ့ value ေတြကို သတ္မွတ္ထားတဲ့နာမည္ ေတြကို ေခၚဆိုပါ တယ္။

SQL Statements
လုပ္ေဆာင္ခ်က္ေတြအမ်ားစုကို ထမ္းေဆာင္ဖို႔ရန္ SQL statement မ်ားကို ကၽြန္ေတာ္တို႔ အသံုးခ်ရပါ
တယ္။ ေအာက္မွာေရးထားတဲ့စာေၾကာင္းဟာ SQL statement ႏွင့္ records ေတြအားလံုး ကို ေရြးခ်ယ္လိုက္တာ
ျဖစ္ပါတယ္။
SELECT * FROM Persons

Semicolon after SQL Statements?


အခ်ိဳ႕ database system ေတြမွာဆိုရင္ SQL statement ၿပီးသြားတိုင္း semicolon လို ပါတယ္။
Semicolon ဟာ database system အတြင္းမွာရွိတဲ့ SQL statement တစ္ခုစီကို ပိုင္းျခားဖိရ
ု႔ န္အသံုးျပဳတဲ့ နည္း
လမ္းပါပဲ။
MS Access တို႔ SQL Server 2000 တို႔မွာေတာ့ statement ၿပီးသြားတိုင္း semicolon ကို အသံုးမျပဳပါ ဘူး။

Page11
THET NAUNG HTUT SQL

SQL SELECT Statement


Select statement ကိုေတာ့ database တစ္ခုမွ data ေတြကို select လုပ္ဖို႔ရန္ အသံုးျပဳပါတယ္။ ရလာတဲ့ ရလဒ္ကို
ဇယားတစ္ခုအတြင္းမွာ သိုေလာင္ထားတာကို ရလဒ္အစုလို႔ေခၚပါတယ္။

SQL SELECT Syntax ေရးသားပံု ပံုစံကေတာ့-


SELECT column_ name
FROM name
And
SELECT * FROM table_name

SQL SELECT Example:


‘Persons’ Table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Dagon Yangon
2 KyawThu Mg 32 yatanar St Bahan Yangon
3 Thetnaung Mg WinZin Meiktila
အေပၚက ဇယားမွ columns ျဖစ္တဲ့ LastName ႏွင့္ FirstName ကို select ျပဳလုပ္ၾကည့္ရ ေအာင္။
SELECT LastName, FirstName FROM Persons

Result:
LastName FirstName
MgMg U
KyawThu Mg
Thetnaung Mg

ေနာက္ထပ္ SELECT * Example တစ္ခု


SELECT * FROM Persons
ဒီမွာဆိုရင္ asterisk (*) star ပံုစံေလးဟာ columns အားလံုးကို select လုပ္တဲ့ နည္းလမ္း ျဖစ္ပါတယ္။

Result အေနနဲ႔ကေတာ့:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Dagon Yangon
2 KyawThu Mg 32 yatanar St Bahan Yangon
3 Thetnaung Mg WinZin Meiktila

Page12
THET NAUNG HTUT SQL

SQL SELECT DISTINCT Statement


Table တစ္ခုအတြင္း အခ်ိဳ႕ column ေတြထဲမွာ တူညီတဲ့ တန္ဖိုးေတြပါ၀င္ေနပါလိမ့္မယ္။ (ဥပမာ နာမည္တူေန
တာတို႕၊ ဒါေၾကာင့္ တစ္ခါတစ္ရံမွာ ကၽြန္ေတာ္တဟ
ို႔ ာ ကြဲျပား ျခားနားေသာ တန္ဖိုးေတြကိုသာလွ်င္ list ျပဳလုပ္
ခ်င္တဲ့အခါ select distinct statement ကိုသံုးပါတယ္။

SQL SELECT DISTINCT Syntax


SELECT DISTINCT column_name
FROM table_name

SELECT DISTINCT Example


The “Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Thetnaung Mg WinZin Meiktila
ဒီမွာဆိုရင္ City မွာ တူညီေနပါတယ္။ ကၽြန္ေတာ္တက ို႔ ကြဲျပားျခားနားတဲ့ တန္ဖိုးေတြ ကိုသာလွ်င္ ေရြးခ်ယ္လို
ခ်င္တဲ့အခါ select distinct statement ကိုသံုးပါတယ္။
SELECT DISTINCT City FROM Persons

Result အေနနဲ႔ကေတာ့:
City
Yangon
Meiktila

Page13
THET NAUNG HTUT SQL

SQL WHERE Clause


The WERE clause ကို record ေတြကို စစ္ထုတ္တဲ့အခါမွာ အသံုးျပဳပါတယ္။ ၎ ညြန္းလိုက္တဲ့ record
ေတြကိုသာလွ်င္ လိုခ်င္တဲ့အခါမွာ အသံုးျပဳပါတယ္။ ေအာက္မွာ ဥပမာေလးနဲ႕ယွဥ္ၾကည့္ရေအာင္။

SQL WHERE Syntax


SELECT column _names
FROM table_name
WHERE column_name/ operator values

WHERE Clause Example


The “Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Thetnaung Mg WinZin Meiktila

အေပၚက ဇယားကေနျပီး ကၽြန္ေတာ္တို႕ Yangon ၿမိဳ႕မွာေနထိုင္တဲသ


့ ူေတြကိုပဲ select ျပဳလုပ္ၾကည့္ ရေအာင္။
SELECT * FROM Persons
WHERE City = ‘Yangon’

Result အေနနဲ႔ကေတာ့ ေအာက္ကပံုစံအတိုင္းရရွိပါတယ္။


P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantanar Yangon

Quotes Around Text Fields

SQL မွာ စာလံုးတန္ဖိုးေတြကို single quote ႏွစ္ခုနဲ အသံုးျပဳပါတယ္။ (Database system အမ်ားစုကေတာ့
double quotes ကိုပဲ လက္ခံပါလိမ့္မယ္) သို႔ေသာ္လည္းပဲ ကိန္းဂဏန္းတန္ဖိုးေတြမွာ quotes ( ‘ ’ ) ကို အသံုးမျပဳ
ပါဘူး။ ေအာက္မွာ example ၾကည့္ပါ။

For text values:

This is correct:
SELECT * FROM Persons WHERE FirstName = ‘U’

This is wrong:
SELECT * FROM Persons WHERE FirstNma = U
For numeric values:

This is correct:
SELECT * FROM Persons WHERE Year = 1986

Page14
THET NAUNG HTUT SQL

This is wrong:
SELECT * FROM Persons WERE Year = ‘ 1965’

WHERE Clause တြင္ ေအာက္ပါ operator မ်ားကို သံုးခြင့္ျပဳပါတယ္။


Operator Description
= Equl
<> Not equal
> Greater than
< Less than
>= Greate than or equal
<= Less than or equal
BETWEEN Between an inclusive range
(အပိုင္းအျခားတစ္ခုအၾကားပါ၀င္ေနမႈေတြ)
LIKE Search for a pattern
IN If you know the exact value you want to return for at least one of the columns
မွတ္ခ်က္။ ။ SQL အခ်ိဳ႕ version ေတြမွာ <> operator ကို != ပံုစံကဲ့သို႔ ေရးပါလိမ့္ မယ္။

Page15
THET NAUNG HTUT SQL

SQL AND & OR Operators


AND & OR operator ႏွစ္ခုကို အေျခအေနတစ္ခုထက္ပိုျပီးေတာ့ အေျခခံ record ေတြ ကို စစ္ထုတ္ဖို႔ရန္ အသံုး
ျပဳပါတယ္။

THE AND & OR Operators


AND operator သည္ ပထမ condition ႏွင့္ ဒုတိယ condition ႏွစ္ခုလံုးဟာ မွန္ေနလွ်င္ ေရြးခ်ယ္လိုက္တဲ့ record
ေတြကို display လုပ္ေပးပါတယ္။
OR Operator သည္ ပထမ conditiuon ဒါမွမဟုတ္ ဒုတိယ condition တစ္ခုမဟုတ္ တစ္ခုမွန္လွ်င္ မွန္ေနတဲ့
record ေတြကို display လုပ္ေပးပါတယ္။

AND Operator Example


The “Persons” table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 Yan Aung Mr TharkayTa Yangon
အခု ကၽြန္ေတာ္တို႔ လိုခ်င္တဲ့နာမည္ေတြ “Mg” နဲ႕ညီတဲ့ first name၊ ၿပီးေတာ့ KyawThu နဲ႕ညီတဲ့ last name ကို
ေရြးၾကည့္ရေအာင္။
SELECT * FROM Persons
WHERE FirstName = ‘Mg’
AND LastName = ‘KyawThu’

ေအာက္ကပံုစံအတုိင္းရရွိပါတယ္။
P_ID LastName FirstName Address City
2 KyawThu Mg 32 yatanar Yangon

OR Operator Example
အခု ကၽြန္ေတာ္တို႕ ပထမနာမည္ “Mg” ႏွင့္ ညီတဲ့ နာမည္ေတြ ဒါမွမဟုတ္ ပထမနာမည္ “U” ႏွင့္ ညီတဲ့နာမည္
ေတြကို ေရြးခ်ယ္ပါမယ္။ သူ႕ရဲ႕ statement ကေတာ့

SELECT * FROM Persons WHERE FirstName = ‘U’


OR FirstName = ‘Mg’

Result အေနနဲ႕ကေတာ့
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila

Page16
THET NAUNG HTUT SQL

Combining AND & OR


ကၽြန္ေတာ္တဟ
ို႔ ာ AND ႏွင့္ OR ေရာျပီးေတာ့လည္း အသံုးျပဳႏိုင္ပါတယ္ ရႈပ္ေထြးတဲ့ေဖာ္ျပခ်က္ေတြ
ကို ေဖာ္ျပဖို႔ရန္ ( )ကြင္းစကြင္းပိတ္ကို အသံုးျပဳပါတယ္ ။
အခု ကၽြန္ေတာ္တဟ
ို႔ ာ Persons table မွ kyaw Thu ျဖစ္တဲ့ lastname ႏွင္ ၿပီးေတာ့ ‘Mg’ ဒါမွမဟုတ္ ‘Mr’ ကို
ေရြးၾကည့္ရေအာင္။
SELECT * FROM Persons
WHERE LastName = ‘KyawThu’
AND (FirstName = ‘Mr’ OR FirstName = ‘Mg’)

Result အေနနဲ႕ကေတာ့
P_ID LastName FirstName Address City
2 KyawThu Mg 32 yantarnar Yangon

Page17
THET NAUNG HTUT SQL

SQL ORDER BY Keyword


ORDER BY Keyword သည္ ရလာမယ့္ result အစုေတြကို sort (အမ်ိဳးအစား) ခြဲျခားေပးတဲ့အခါမွာ အသံုးျပဳပါ
တယ္။

The ORDER BY Keyword


· The ORDER BY Keyword ကို အထူးျပဳခဲ့တဲ့ column ကို result အစုေတြကို sort လုပ္ဖို႕ရန္ အသံုးျပဳပါ
တယ္။
· The ORDER BY Keyword သည္ default အေနျဖင့္ ascending order (rising ျမင့္တက္သြားတာ)
အေနျဖင့္ record ေတြကို sort လုပ္ပါတယ္။
· Descending order (going down နိမ့္ဆင္းသြားတာ) အတြင္းမွာ record ေတြကို sort လုပ္ခ်င္လွ်င္
DESC keyword ကို ကၽြန္ေတာ္တို႕ အသံုးျပဳႏိုင္ပါတယ္။

SQL ORDER BY Syntax ပံုစံ


SELECT column_ names
FROM table_ name
ORDER BY column_ names ASC | DESC

ORDER BY Example
The “ Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 Yan Aung Mr TharkayTa Yangon

အခု ကၽြန္ေတာ္တို အေပၚမွ table ကေန လူေတြအားလံုးကို ေရြးခ်ယ္ျပီးေတာ့မွ အဲဒီ လူေတြကို သူတို႔ရဲ႕
lastname ေတြကို sorting စီၾကည့္ရေအာင္။

SELECT * FROM Persons


ORDER BY LastName

Result အေနနဲ႕ကေတာ့

Page18
THET NAUNG HTUT SQL

ORDER BY DESC Example


အခု ကၽြန္ေတာ္တို descending ပံုစံ စီၾကည့္ရေအာင္။

SELECT * FROM Persons


ORDER BY LastName DESC

Result အေနနဲ႕ကေတာ့
P_ID LastName FirstName Address City
4 Yan Aung Mr TharkayTa Yangon
3 Yan Naung Mg WinZin Meiktila
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon

Page19
THET NAUNG HTUT SQL

SQL INSERT INTO Statement


INERT INTO statement ကို table အတြင္း record အသစ္ေတြကို (insert)ေပါင္းထည့္ ဖိရ
ု႔ န္အသံုးျပဳပါတယ္။
တစ္နည္းအားျဖင့္ row အသစ္ေတြ ေပါင္းထည့္ဖို႔ရန္ အသံုးျပဳပါ တယ္။

SQL INSERT INTO Syntax


၎ statement ကို ပံုစံႏွစ္ခုျဖင့္ေရးႏိုင္ပါတယ္။
1. ပထမပံုစံသည္ column နာမည္မ်ားကို အထူးမျပဳပဲ ေရးပါတယ္။ အဲဒီေနရာမွာ သူတို႔ရဲ႕ တန္ဖိုးေတြကိုသာ
လွ်င္ ေပါင္းထည့္ပါလိမ့္မယ္။
INSERT INTO table_နာမည္
VALUES ( တန္ဖိုး ၁ခု၊ ၂ ခု ၊ ၃ ခု စသည္အားျဖင္)့

2. ဒုတိယပံုစံသည္ column နာမည္ေတြေရာ တန္ဖိုးေတြကိုေရာ ေပါင္းထည့္ဖို႔ရန္ အထူးျပဳတဲ့ပံုစံ


INSERT INTO table_နာမည္ (column 1, column 2, column 3, စသည္အားျဖင္)့
VALUES (တန္ဖိုး ၁ခု၊ တန္ဖိုး ၂ခု၊ တန္ဖိုး ၃ခု, စသည္အားျဖင္)့

SQL INSERT INTO Example


The “Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
ကၽြန္ေတာ္တို႔ အခု Persons table ထဲကို row အသစ္တစ္ခုေပါင္းထည့္ၾကည့္ရေအာင္
INSERT INTO Persons
VALUES (4, ‘NayLin’, ‘Mr’, ‘ 23 home’ , ‘Pyinmanar’)

ေအာင္ပါပံုစံအတိုင္းရပါတယ္။
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar

Insert Data Only in Specified Columns


ဒီ statement ဟာလည္း data ေတြကို ေပါင္းထည့္ဖို႕ပါပဲ။ ဒါေပမဲ့ ဒီမွာ က်ေတာ့ Column အတြင္းမွာ ရွိတဲ့
တန္ဖိုးေတြကို အထူးျပဳေပါင္းထည့္တဲ့ပံုစံပါ။ ေအာက္မွာေရးထားတဲ့ ပံုစံကိုၾကည္ ၾကည့္ရေအာင္

INSERT INTO Persons ( P_ID, LastName, FirstName )


VALUES ( 5, ‘Min Aung’, ‘U’ )

Page20
THET NAUNG HTUT SQL

ေအာက္ပါအတုိင္း ရရွိပါတယ္။
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
5 Min Aung U

Page21
THET NAUNG HTUT SQL

SQL UPDATE Statement


UPDATE statement ကို table တစ္ခုအတြင္း record ေတြကို update (ေနာက္ဆံုးအေျခ အေနထိ မြန္းမံ) ဖို႔ရန္
အသံုးျပဳပါတယ္။ တစ္နည္းအားျဖင့္ record ေတြကို update လုပ္ ဖို႔ရန္ အသံုးျပဳပါတယ္။

SQL UPDATE Syntax ပံုစံ


UPDATE table_ နာမည္
SET column 1 = value, column 2 = value 2, ….
WHERE some_column = some_value
မွတ္ခ်က္။ ။ ဒီေနရာမွာ WHERE clause သည္ column ေခါင္းစဥ္ေတြကို အထူးျပဳဖို႕ ရန္အတြက္ အသံုးျပဳ
တယ္။ တကယ္လို႕ WHERE clause ကို ခ်န္ထားခဲမ
့ ယ္ဆိုလွ်င္ table ၾကီးတစ္ခုလံုးမွာရွိတဲ့ column ေခါင္းစဥ္
မွာရွိတဲ့ record လုပ္ထားတဲ့ data ေတြ အကုန္လံုး update ျဖစ္သြားပါလိမ့္မယ္။

SQL UPDATE Example


P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
5 Min Aung U
အခု ကၽြန္ေတာ္တို႕ Persons table မွာရွိတဲ့ U Min Aung ကို update လုပ္ၾကည့္ရေအာင္။
UPDATE Persons
SET Address = ‘Kannar road’ , City = ‘ Magway’
WHERE LastName = ‘ Min Aung’ AND FirstName = ‘U’

ရလာမယ့္ result ကေတာ့


P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
5 Min Aung U Kannar road Magway

SQL UPDATE Warning


Record ေတြကို update လုပ္တဲ့အခါမွာ ဂရုစိုက္ပါ။ တကယ္လို႔ WHERE clause မပါခဲ့ ဘူးဆိုလွ်င္ ေအာက္မွာ
ျပထားတဲ့ ဇယားပံုစံအတိုင္းျဖစ္သြားပါလိမ့္မယ္။

UPDATE Persons
SET Address = ‘Kannar road’ , City = ‘ Magway’

Page22
THET NAUNG HTUT SQL

Result:
P_ID LastName FirstName Address City
1 MgMg U Kannar road Magway
2 KyawThu Mg Kannar road Magway
3 Yan Naung Mg Kannar road Magway
4 NayLin Mr Kannar road Magway
5 Min Aung U Kannar road Magway

Page23
THET NAUNG HTUT SQL

SQL DELETE Statement


DELETE statement ကို table တစ္ခုအတြင္း record ေတြကို ျဖတ္ဖို႔ရန္ အသံုးျပဳပါ တယ္။ တစ္နည္းအားျဖင့္
row ေတြကို ျဖတ္တဲ့အခါမွာ အသံုးျပဳပါတယ္။

SQL DELETE Syntax


DELETE FROM table_နာမည္
WHERE some_column = some_value
မွတ္ခ်က္။ ။ WHERE clause သည္ column မွာရွိတဲ့နာမည္ေတြကို အထူးျပဳၿပီး ျဖတ္ တာပါ။ တကယ္လို႔ အထူး
မျပဳခဲ့ဘူးဆိုလွ်င္ table မွာရွိတဲ့ record ေတြအားလံုး ျပတ္သြားပါလိမ့္မယ္။ ေအာက္မွာ example ၾကည့္ပါ။

SQL DELETE Example


“Person” table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
5 Min Aung U Kannar road Magway
အခု ကၽြန္ေတာ္တို႕ Person table ကေန U Min Aung ကို ျဖတ္ၾကည့္ရေအာင္။

DELETE FROM Persons


WHERE LastName = ‘Min Aung’ AND FirstName = ‘U’

ေအာက္ကအတိုင္း result ရရွိပါမယ္။


P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar

DELETE ALL ROWS


Table မွာရွိတဲ့ row ေတြအားလံုးကို ျဖတ္ခ်င္ရင္ေတာ့ -

DELETE FROM table_name

Or

DELETE * FROM table_name

Page24
THET NAUNG HTUT SQL

SQL TOP Clause


Top clause သည္ အထူးျပဳထားတဲ့ record ေတြကို ျပန္ေခၚဖို႔ရန္ အသံုးျပဳပါတယ္။ Top clause ကို ေထာင္
ေပါင္းမ်ားစြာေသာ record ေတြႏွင့္အတူ ၾကီးမားတဲ့ table ေတြမွာ အလြန္အသံုးျပဳႏိုင္ပါတယ္။ record ေတြ၏
ၾကီးမားတဲ့ အေရအတြက္ ေတြကို ျပန္လာဖို႔ရန္ (impact) အက်ိဳးသက္ေရာက္စြာထမ္းေဆာင္ႏိုင္ပါ တယ္။
မွတ္ခ်က္။ ။ database system အားလံုးကိုေတာ့ top clause သည္ မေထာင့္ပံ့ႏိုင္ပါ။

SQL Server Syntax


SELECT TOP number | percent column_နာမည္မ်ား
FROM table_name

SQL SELECT TOP Equivalent in MySQL and Oracle


MySQL Syntax
SELECT column_နာမည္မ်ား
FROM table_နာမည္
LIMIT number
Example
SELECT *
FROM Persons
LIMIT 5

Oracle Syntax
SELECT column_နာမည္
FROM table_name
WHERE ROWNUM <= number
Example
SELECT *
FROM Persons
WHERE ROWNUM <= 5

SQL TOP Example


The “Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
အခု ကၽြန္ေတာ္တို႕ အေပၚက table ကေန ပထမ record ႏွစ္ခုကိုသာလွ်င္ select ျပဳလုပ္ ၾကည့္ရေအာင္။

SELECT TOP 2 *
FROM Persons

Result အေနနဲ႕ ေအာက္ပါအတိုင္းရရွိပါတယ္။


P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatarnar Yangon

Page25
THET NAUNG HTUT SQL

SQL TOP PERCENT Example


The “Persons” table:
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
4 NayLin Mr 23 home Pyinmanar
အခု ကၽြန္ေတာ္တို႕ အေပၚက table ကေနျပီး record မ်ား၏ တစ္၀က္ကို select ျပဳလုပ္ ၾကည့္ရေအာင္။

SELECT TOP 50 PERCENT *


FROM Persons

Result အေနနဲ႕ကေတာ့
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon

Page26
THET NAUNG HTUT SQL

SQL LIKE Operator


LIKE operator ကို WHERE clause ေနရာမွာ column တစ္ခုအတြင္း အထူးျပဳတဲ့ pattern ေတြအတြက္ ရွာဖို႔
ရန္ အသံုးျပဳပါတယ္။

SQL LIKE Syntax


SELECT column_နာမည္မ်ား
FROM table_နာမည္
WHERE column_နာမည္ LIKE pattern

LIKE Operator Example


The “Persons”table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
3 Yan Naung Mg WinZin Meiktila
ü အခု ကၽြန္ေတာ္တို႔ အေပၚကဇယားကေန “Y” ႏွင့္ စခဲ့တဲ့ city ေတြကို ေရြးၾကည့္ရ ေအာင္။

SELECT * FROM Persons


WHERE City LIKE ‘Y%’

Result အေနနဲ႕ကေတာ့ -
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon
မွတ္ခ်က္။ ။“%” သေကၤတကို wildcards( pattern အတြင္း စာလံုးေတြေရာေနျခင္း) ကို အဓိပၸာယ္ သတ္မွတ္ဖို႔
ရန္ အသံုးျပဳႏိုင္ပါတယ္။ မတိုင္ခင္၊ ျပီးေနာက္ ႏွစ္ခုစလံုးကို အသံုးျပဳပါ တယ္။

ü အခု ေနာက္ထပ္ “Persons” table ကေန “n” ႏွင့္ ဆံုးတဲ့ city ေတြကို ေရြးၾကည့္ရ ေအာင္။

SELECT * FROM Persons


WHERE City LIKE ‘%n’

Result အေနနဲ႕ကေတာ့-
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon

ü အခုေနာက္တစ္မ်ိဳးကေတာ့ “Persons” table မွ “eik” ပါ၀င္တဲ့ city အတြင္းက pattern ေတြကို ေရြးၾကည့္ရ
ေအာင္။

SELECT * FROM Persons


WHERE City LIKE ‘%eik%’

Page27
THET NAUNG HTUT SQL

Result အေနနဲ႕ကေတာ့-
P_ID LastName FirstName Address City
3 Yan Naung Mg WinZin Meiktila

ü ေနာက္တစ္မ်ိဳး ပံုစံျဖင့္ NOT keyword ကို သံုးၿပီး city အတြင္းမွာရွိတဲ့ “eik” မပါတဲ့ person ေတြကို select
ျပဳလုပ္ၾကည့္ရေအာင္။
SELECT *
FROM Persons
WHERE City NOT LIKE ‘eik’

Result အေနနဲ႕ကေတာ့-
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yatanar Yangon

Page28
THET NAUNG HTUT SQL

SQL Wildcards
SQL wildcards ကို database အတြင္းက data ေတြရွာျခင္းအတြက္ အသံုးျပဳႏိုင္ပါ တယ္။

SQL Wildcards
Ø SQL wildcards သည္ database အတြင္း data ေတြရွာတဲ့အခါမွာ character ေတြ တစ္ခု၊ တစ္ခုထက္ပိုၿပီး
ေတာ့ အစားထိုးႏိုင္ပါတယ္။
Ø SQL wildcards သည္ SQL LIKE operator ႏွင့္အတူ အသံုးျပဳရပါမည္။
Wildcard Description
% သုည ဒါမွမဟုတ္ ပိုျပီးေတာ့ character ေတြအတြက္ အစားထိုး တယ္။
_ တိက်တဲ့ character တစ္ခုအတြက္ အစားထိုးတယ္။
[charlist] Charlist အတြင္း မည္သည့္ character တစ္ခုစီအတြက္
[^charlist] Charlist အတြင္း မည္သည့္ character တစ္ခုစီမဟုတ္တာအတြက္
Or
[!charlist]

SQL Wildcards Example


The “Persons” table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila

Using the _Wildcard


အခု ကၽြန္ေတာ္တို႔ Persons table မွ lastname ျဖစ္တဲ့ “yawThu” ၏ေရွ့တြင္ မည္သည့္ character နဲ႕စစ၊ အဲဒီ
နာမည္ေတြကို select လုပ္ၾကည့္ရေအာင္။
SELECT * FROM Persons
WHERE FirstName LIKE ‘_yawThu’

Result အေနနဲ႕ကေတာ့-
P_ID LastName FirstName Address City
2 KyawThu Mg 32 yantarnar Yangon

Using the [charlist]Wildcard


အခု ကၽြန္ေတာ္တို႕ Persons table မွ “b” or “y” or “k” ႏွင့္အတူ စတဲ့ lastname နဲ႕ လူေတြကို select
လုပ္ၾကည့္ရေအာင္။
SELECT *
FROM Persons
WHERE LastName LIKE ‘[ byk]%’

Result အေနနဲ႕ကေတာ့
P_ID LastName FirstName Address City
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila

Page29
THET NAUNG HTUT SQL

အခု ကၽြန္ေတာ္တို႔ Pesons table ကေနျပီးေတာ့ပဲ့ “b” or “y” or “k”နဲ႕မစတဲ့ လူေတြကို select လုပ္ၾကည့္ရ
ေအာင္။
SELECT *
FROM Persons
WHERE LastName LIKE ‘[ !byk]%’

Result အေနနဲ႕ကေတာ့-
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon

Page30
THET NAUNG HTUT SQL

SQL IN Operator
IN operator သည္ WHERE clause တစ္ခုတြင္ တန္ဖိုးေတြကို ဆင့္ပြားဆင့္ပြား အထူး ျပဳဖို႕ရန္ ခြင့္ျပဳပါတယ္။

SQL IN Syntax
SELECT column_နာမည္မ်ား
FROM table_name
WHERE column_နာမည္ IN ( value 1, value2,…)

IN Operator Example
The “Persons” table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila
အခု ကၽြန္ေတာ္တို႕အေပၚက Persons table ကေန last name ေတြဟာ “MgMg” or “KyawThu” ေတြႏွင့္ညီတဲ့
Persons ေတြကို ေရြးၾကည့္ရေအာင္။

SELECT * FROM Persons


WHERE LastNmae IN ( ‘MgMg’ , ‘KyawThu”)

Result အေနနဲ႕ကေတာ့ -
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon

Page31
THET NAUNG HTUT SQL

SQL BETWEEN Operator


BETWEEN operator သည္ တန္ဖိုးႏွစ္ခုၾကား data ေတြကို (range) စီစဥ္ျပီးေတာ့ select လုပ္ဖို႔ရန္ WHERE
clause တစ္ခုတြင္ အသံုးျပဳႏိုင္ပါတယ္။ ဒီေနရာမွာ တန္ဖိုးမ်ားဆို တာ number ေတြ၊ text ေတြ ဒါမွမဟုတ္ date
ေတြလည္း ျဖစ္ႏိုင္ပါတယ္။

SQL BETWEEN Syntax


SELECT column_နာမည္မ်ား
FROM table_နာမည္
WHERE column_ နာမည္
BETWEEN value1 AND value2

BETWEEN Operator Example


The “Persons” table
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila
အခု ကၽြန္ေတာ္တို႕ အေပၚက table ကေန alphabetically ျဖစ္တဲ့ “MgMg” ႏွင့္ “Yan Naung” ကို select
လုပ္ၾကည့္ရေအာင္။

SELECT * FROM Persons


WHERE LastName
BETWEEN ‘MgMg’ AND ‘Yan Naung’

Result အေနနဲ႕ကေတာ့
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon
3 Yan Naung Mg WinZin Meiktila
ဒီေနရာမွာ နည္းနည္းရွင္းစရာရွိပါတယ္။ အခ်ိဳ႕ databases ေတြမွာ, ဥပမာ-MgMg ႏွင့္ Yan Naung ဟာ table မွာ
list မလုပ္ခဲ့ဘူး၊ မထည့္သြင္းခဲ့ဘူးဆိုလွ်င္ BETWEEN operator သည္ ကၽြန္ေတာ္တို႕က (test) စမ္းသပ္မႈ
လုပ္တဲ့တန္ဖိုးေတြကို ဖယ္ထုတ္ ျပီးေတာ့ field ေတြကိုသာလွ်င္ select လုပ္လိမ့္ပါမယ္။ နားလည္သြားေအာင္
ေအာက္မွာ ဇယားကိုၾကည့္လိုက္ပါဦး။ ေမာင္ေမာင္ႏွင့္ ရန္ေနာင္ မပါလို႕ field ေတြကို သာလွ်င္ ျပတာျဖစ္ပါ
တယ္။
P_ID LastName FirstName Address City

တကယ္လို႕ MgMg ဟာ list ျပဳလုပ္ခဲ့ျပီး၊ Yan Naung ဟာ list မလုပ္ခဲ့ဘူးဆိုလွ်င္ BETWEEN operator သည္
test လုပ္တဲ့ထဲမွ list ထဲမွာပါ၀င္တဲ့နာမည္ကိုပဲ ေရြးပါလိမ့္ မယ္။ ဇယားၾကည့္လိုက္ပါဦး။ နားလည္သြားေအာင္။
P_ID LastName FirstName Address City
1 MgMg U 21 Street Yangon

Page32
THET NAUNG HTUT SQL

Example 2
ေနာက္ example တစ္ခုက NOT BETWEEN ပါ။ ရွင္းပါတယ္။ မပါတဲ့ဟာေပါ့။
SELECT * FROM Persons
WHERE LastName
NOT BETWEEN ‘MgMg’ AND ‘Yan Naung’

Result အေနနဲ႕ကေတာ့-
P_ID LastName FirstName Address City
2 KyawThu Mg 32 yantarnar Yangon

Page33
THET NAUNG HTUT SQL

SQL Alias
ကၽြန္ေတာ္တို႔ဟာ alias တစ္ခု သံုးျပီးေတာ့ table တစ္ခုထဲကို (သို႕) column တစ္ခုထဲကို နာမည္ပြား(သို႕)
အျခားနာမည္ပြားတစ္ခု ထပ္ေပးႏိုင္တယ္။ ဘယ္လိုေနရမ်ိဳးေတြမွာသံုး လဲဆိုရင္ အလြန္ရွည္လ်ားတဲ(့ သို႕)
ရႈပ္ေထြးတဲ့ table နာမည္ေတြ (သို႕) column နာမည္ ေတြရွိေနလွ်င္ ၎တို႕ကို ျပဳလုပ္တဲ့အခါမ်ိဳးမွာ ေကာင္းစြာ
အသံုးျပဳႏိုင္ပါတယ္။

SQL Alias Syntax for Tables


SELECT column_နာမည္မ်ား
FROM table_နာမည္
AS alias_နာမည္

SQL Alias Syntax for Columns


SELECT column_name AS alias_name
FROM table_name

Alias Example
“Persons” table နဲ႕ “Product_Orders” လို႕ေခၚတဲ့ table ႏွစ္ခုရွိတယ္လို႕ ယူဆၾကပါစို႔။ ကၽြန္ေတာ္တို႕ဟာ အခု
Persons ကို “p” ၊ Product_Orders ကို “pro” လို႔ အသီးသီးေပးၾကည့္ရေအာင္။
SELECT po.OrderID, p.LastName, p.FirstName
FROM Persons AS p,
Product_Orders AS po
WHERE p.LastName = ‘MgMg’ AND p.FirstName = ‘U’

Aliases မပါတဲ့ အေပၚက SELECT statement


SELECT Product_Orders.OrderID, Persons.LastName, Persons. FirstName
FROM Persons,
Product_Orders
WHERE Persons.LastName = ‘MgMg’ AND Persons.FirstName = ‘U’

Page34
THET NAUNG HTUT SQL

SQL Joins
Ø SQL joins ကို table ႏွစ္ခု(သို႕) ႏွစ္ခုထပ္ပိုေသာ table မ်ားကို တိုက္ဆိုင္စစ္ေဆးဖို႔ ရန္ အသံုးျပဳပါတယ္။
၎သည္ ထို table ေတြအတြင္း တိက်တဲ့ column ေတြအၾကား ဆက္ႏြယ္တာေတြေပၚမွာ အေျခခံၿပီးေတာ့
တိုက္ဆိုင္စစ္ေဆးပါ တယ္။
Ø Database တစ္ခုအတြင္း table မ်ားကို key ေတြ တစ္ခုႏွင့္ တစ္ခု ခ်ိတ္ဆက္ျပီးေတာ့ အသံုးျပဳတာ ျဖစ္ပါ
တယ္။
Ø Primary key သည္ row တစ္ခုစီအတြက္ unique တန္ဖိုးတစ္ခုႏွင့္အတူ columnတစ္ခု ( သို႔ column မ်ား၏
ဆက္သြယ္ထားတာတစ္ခ)ု ျဖစ္သည္။ Primary တစ္ခုစီ၏တန္ဖိုးသည္ table အတြင္း unique (တစ္သီးတစ္
ျခား) ျဖစ္ရမည္။ ရည္ရြယ္ခ်က္မွာ table တိုင္းတြင္ data အားလံုးကို ထပ္ခါထပ္ခါ မေရးျဖစ္ေအာင္ table
ေတြျဖတ္ျပီးေတာ့ data ေတြ အတူတကြ (bind) ခ်ည္ေႏွာင္ဖို႔ရန္ ျဖစ္ပါတယ္။

Persons table ၌ ၾကည့္ပါ။


P_Id LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila
မွတ္ခ်က္အေနနဲ႔ “P_Id” column သည္ “Persons” table အတြင္းက primary key ျဖစ္သည္။ ဆိုလိုသည္မွာ
တူညီတဲ့ “P_Id” row ႏွစ္ခု မရွိရပါဘူး။ P_Id သည္ တူညီတဲ့နာမည္ေတြ ရွိလွ်င္ေတာင္မွ person ႏွစ္ဦးကို
ခြဲျခားသတ္မွတ္ေပးတယ္။
ေနာက္ထပ္ Orders table:
O_Id OrderNo P_Id
1 12345 3
2 67890 3
3 112233 1
4 112234 1
5 112235 15
မွတ္ခ်က္အေနနဲ႔ “O_Id” column သည္ “Orders” table အတြင္းက primary key ျဖစ္သည္။ ျပီးေတာ့ “P_Id”
column သည္ “Persons” table အတြင္းက person မ်ားကို သူတို႔ရဲ႕နာမည္ေတြမပါပဲနဲ႕ ညႊန္းဆိုပါတယ္။
မွတ္ခ်က္အေနနဲ႔ “P_Id” column သည္ အေပၚက table ႏွစ္ခုအၾကား ဆက္သြယ္မႈျပဳ သည္။

Different SQL JOINS


Example ေတြမစခင္ ကၽြန္ေတာ္တို႔ဟာ ေအာက္မွာ JOIN type အမ်ိဳးအစားေတြကို list ေတြကို အသံုးျပဳရပါလိမ့္
မယ္။
· JOIN
· LEFT JOIN
· RIGHT JOIN
· FULL JOIN

Page35
THET NAUNG HTUT SQL

SQL INNER JOIN Keyword


INNER JOIN keyword သည္ table ႏွစ္ခုစလံုးတြင္ အနည္းဆံုးတူတာတစ္ခု ပါရွိတဲ့အခါ row ေတြ ျပန္ရိုက္ပို႕
တာကို လုပ္ေပးပါသည္။

INNER JOIN Syntax


SELECT column_နာမည္ေတြ
FROM table_နာမည္ 1
INNER JOIN table_ နာမည္ 2
ON table_နာမည္ 1.column_နာမည္ = table_နာမည္ 2. column_နာမည္
PS: INNER JOIN သည္ JOIN ႏွင့္အတူတူပဲျဖစ္သည္။

SQL INNER JOIN Example


The “Persons” table:
P_Id LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila
The “ Orders” table:
O_Id OrderNo P_Id
1 123 3
2 456 3
3 789 1
4 012 1
5 345 15
အခု ကၽြန္ေတာ္တို႔ order ေတြႏွင့္အတူ person ေတြအားလံုးကို list လုပ္ၾကည့္ရေအာင္။
SELECT Persons.LastName, Persons.FirstName, Orders.orderNo
FROM Persons
INNER JOIN Orders
ON Persons.P_Id = Orders.P_Id
ORDER BY Persons.LastName

Result အေနနဲ႔ ဒီပံုစံအတိုင္း ျဖစ္ပါတယ္။


LastName FirstName OrderNo
MgMg U 789
MgMg U 012
YanNaung Mg 123
YanNaung Mg 456
INNER JOIN keyword သည္ table ႏွစ္ခုစလံုးတြင္ အနည္းဆံုးလိုက္ဖက္ညီတဲ့ တစ္ခုရွိတဲ့အခါမွာ row ေတြကို
ျပန္လာေပးပါတယ္။ တကယ္လို႔ “Persons” အတြင္းမွာ မပါရွိဘူးဆိုရင္ “Orders” မွာ လုိက္ဖက္ညီတာေတြ
မထုတ္ႏိုင္ပါဘူး။ ၎ row မ်ားကိုလည္း listed မျပဳလုပ္ႏိုင္ပါဘူး။

Page36
THET NAUNG HTUT SQL

SQL LEFT JOIN Keyword


LEFT JOIN keyword သည္ left table ( table_နာမည္ 1) မွ row ေတြအားလံုးကို ညာဖက္ table (table_နာမည္
2) မွာ ဘယ္ဘက္ table မွာမပါရင္ေတာင္မွ ျပန္လည္ပို႔ေပးပါတယ္။

SQL LEFT JOIN Syntax


SELECT column_နာမည္မ်ား
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name = table_name2.column_name
PS: အခ်ိဳ႕ database ေတြမွာ LEFT JOIN ကို LEFT OUTER JOIN လို႔ေခၚပါတယ္။

SQL LEFT JOIN Example


The “Persons” table:
P_Id LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila

The “Orders” table:


O_Id OrderNo P_Id
1 123 3
2 456 3
3 789 1
4 012 1
5 345 15

အခု ကၽြန္ေတာ္တို႔ အေပၚက table ႏွစ္ခုကေန Persons ေတြအားလံုးႏွင့္ သူတို႔၏ Order ေတြကို list
လုပ္ၾကည့္ရေအာင္။
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P Id= Orders.P_Id
ORDER BY Persons.LastName

ေအာက္ပါအတိုင္း result ရရွိပါတယ္။

LEFT JOIN keyword သည္ ဘယ္ဘက္က table (Persons) ေတြအားလံုးကို ညာဖက္ (Orders) တြင္ မပါလွ်င္
ေတာင္မွ ျပန္ေခၚေပးတယ္။

Page37
THET NAUNG HTUT SQL

SQL RIGHT JOIN Keyword


RIGHT JOIN keyword သည္ ညာဖက္က table ( table_name2) မွ row ေတြအားလံုးကို left table
(table_name1)တြင္ မွတ္သားခဲ့တာေတြ မပါလွ်င္ေတာင္မွ ျပန္လည္ထုတ္ေပးတယ္။

SQL RIGHT JOIN Syntax


SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name = table_name2.column_name
မွတ္ခ်က္။ ။ အခ်ိဳ႕ database မ်ားတြင္ RIGHT JOIN ကို RIGHT OUTER JOIN ဟု လည္း ေခၚသည္။

SQL RIGHT JOIN Esample


The “Persons” table:
P_Id LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila

The “Orders” table:


O_Id OrderNo P_Id
1 123 3
2 456 3
3 789 1
4 012 1
5 345 15

အခု ကၽြန္ေတာ္တို႔ အေပၚက table ႏွစ္ခုကေန ပါ၀င္တဲ့လူေတြႏွင့္အတူ Order ေတြအားလံုးကို List


လုပ္ၾကည့္ရေအာင္။
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P Id = Orders.P_Id
ORDER BY Persons.LastName

ေအာက္ပါအတိုင္း result ရရွိပါတယ္။


LastName FirstName OrderNo
MgMg U 789
MgMg U 012
YanNaung Mg 123
YanNaung Mg 456
345

Page38
THET NAUNG HTUT SQL

SQL FULL JOIN Keyword


FULL JOIN keyword သည္ table ေတြ၏ အတူတူေတြပါရွိတဲ့အခါ row ေတြအားလံုး ကို ျပန္လည္ထုတ္ေပးပါ
တယ္။

SQL FULL JOIN Syntax


SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name = table_name2.column_name

The “Persons” table:


P_Id LastName FirstName Address City
1 MgMg U 21 Street Yangon
2 KyawThu Mg 32 yantarnar Yangon
3 Yan Naung Mg WinZin Meiktila
The “Orders” table:
O_Id OrderNo P_Id
1 123 3
2 456 3
3 789 1
4 012 1
5 345 15
အခု ကၽြန္ေတာ္တို႔ အေပၚက table ႏွစ္ခုကေန ပါ၀င္တဲ့လူေတြႏွင့္အတူ Order ေတြအားလံုးကို List လုပ္ၾကည့္ရ
ေအာင္။
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.P_Id= Orders.P_Id
ORDER BY Persons.LastName

ေအာက္ပါအတိုင္း result ရရွိပါတယ္။


LastName FirstName OrderNo
MgMg U 789
MgMg U 012
YanNaung Mg 123
YanNaung Mg 456
Kyaw Thu Mg
345
FULL JOIN keyword သည္ ဘယ္ဘက္ table က row ေတြအားလံုးကိုေရာ၊ ညာဘက္ table က row ေတြအား
လံုးကိုေရာ ျပန္ေခၚေပးတာ ျဖစ္ပါတယ္။ Person table မွာ ရွိတဲ့ row ေတြအားလံုးဟာ Order table မွာ match
လုပ္မထားခဲ့လွ်င္ေတာင္မွ ၊ ထို႔အတူ Orders table မွာရွိတဲ့ row ေတြအားလံုးဟာ Persons table မွာ match
မလုပ္ထားခဲ့လွ်င္ေတာင္ row ေတြအားလံုးကို list လုပ္ေပးပါတယ္။

Page39
THET NAUNG HTUT SQL

SQL UNION Operator


Ø SQL UNION operator သည္ ႏွစ္ခု(သို႔)ႏွစ္ခုထက္ပိုတဲ့ SELECT statement ေတြကို combines (ေရာေပါင္း)
ေပးတာ ျဖစ္ပါတယ္။
Ø အထူးအေနနဲ႔ UNION အတြင္းမွာရွိတဲ့ SELECT statement တစ္ခုစီက columns အေရအတြက္ေတြ တူညီ
ရပါမည္။ columns မ်ားမွာရွိထားတဲ့ data type ေတြဟာလည္း တူညီမႈရွိရပါမည္။ SELECT statement
တစ္ခုစီထဲက column မ်ားဟာလည္း တူညီတဲ့ order ထဲမွာ ျဖစ္ရပါမည္။

SQL UNION Syntax


SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
မွတ္ခ်က္။ ။ UNION operator သည္ default အေနျဖင့္ (distinct) ကြဲျပားျခားနား ေသာ တန္ဖိုးေတြကိုသာ
လွ်င္ select လုပ္တယ္။ (duplicate) ပံုတူတန္ဖိုးေတြကိုၾက ေတာ့ UNION ALL က ခြင့္ျပဳပါတယ္။

SQL UNION ALL Syntax


SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
PS: UNION တစ္ခု၏ result-set အတြင္းက column name မ်ားသည္UNION အတြင္း က ပထမ SELECT
statement အတြင္းက column နာမည္မ်ားႏွင့္ အျမဲတမ္းတူညီပါ တယ္။

SQL UNION Example


“Employees_Yangon”:
E_ID E_Name
01 U Kyaw Thu
02 U Min Soe
03 Mg Yel Soe
04 Mg Zaw Naing

“Employees_Mandalay”:
E_ID E_Name
01 U Yar Zar
02 U Nay Naing
03 Mg Yel Soe
04 Mg Zar Ni
အခု ကၽြန္ေတာ္တို႔ ရန္ကုန္ႏွင့္ မႏၲေလးက ျခားနားတဲ့ (employees) အလုပ္သမားေတြ အားလံုးကို list လုပ္ခ်င္
လွ်င္ -
SELECT E_Name FROM Employees_Yangon
UNION
SELECT E_Name FROM Employees_Mandalay

Page40
THET NAUNG HTUT SQL

ေအာက္ပါအတိုင္း result ရရွိပါတယ္။


E_Name
U Kyaw Thu
U Min Soe
Mg Yel Soe
Mg Zaw Naing
U Yar Zar
U Nay Naing
Mg Zar Ni
မွတ္ခ်က္။ ။ ဒီ command သည္ ရန္ကုန္ကႏွင့္ မႏၲေလးက ရွိတဲ့ အလုပ္သမားေတြ အား လံုးကို list လုပ္ဖို႕ရန္
အသံုးမျပဳႏိုင္ပါဘူး။ အေပၚက ဥပမာဆိုရင္ တူညီတဲ့ နာမည္ႏွစ္ခုရွိ ခဲ့လို႕ တစ္ခုကိုသာလွ်င္ List
လုပ္ေပးခဲ့ပါတယ္။ ထို႔ေၾကာင့္ UNION command သည္ (distinct) ကြဲျပားျခားနားေသာ တန္ဖိုးေတြကိုသာလွ်င္
select လုပ္ေပးတာ ျဖစ္ပါတယ္။

SQL UNION ALL Example


အခု ကၽြန္ေတာ္တို႔ ရန္ကုန္ကေရာ မႏၲေလးကေရာ အလုပ္သမားေတြအားလံုးကို list လုပ္ၾကည့္ရေအာင္
SELECT E_Name FROM Employees_Yangon
UNION ALL
SELECT E_Name FROM Employees_Mandalay

Result:
E_Name
U Kyaw Thu
U Min Soe
Mg Yel Soe
Mg Zaw Naing
U Yar Zar
U Nay Naing
Mg Yel Soe
Mg Zar Ni

Page41
THET NAUNG HTUT SQL

SQL SELECT INTO Statement


Ø SQL SELECT INTO statement ကို table ေတြကို (backup copies) အရန္အေနနဲ႔ ပြားဖို႔ရန္ အသံုးျပဳႏိုင္ပါ
တယ္။
Ø SELECT INTO statement သည္ table တစ္ခုမွ data ေတြကို၊ အျခား table အသစ္အတြင္းသို႔ ေပါင္းထည့္
တဲ့အခါမွာ အသံုးျပဳႏိုင္ပါတယ္။

SQL SELECT INTO Syntax


ကၽြန္ေတာ္တို႔ဟာ column ေတြအားလံုးကို table အသစ္သို႔ ေပါင္းထည့္ႏိုင္ပါတယ္။
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename

(သို႔) လိုခ်င္တဲ့ column ေတြကိုသာလွ်င္ table အသစ္သို႔ ေပါင္းထည့္ႏိုင္ပါတယ္။


SELECT column_name(s)
INTO new_table_name [in externaldatabase]
FROM old_tablename

SQL SELECT INTO Example


Ø Backup Copy ျပဳလုပ္တဲ့ပံုစံပါ။ - အခု ကၽြန္ေတာ္တို႔သည္ “Person” table ထဲက data ေတြကို copy လုပ္ျပီး
ဆြဲထုတ္ထားခ်င္လွ်င္ ေအာက္ပါ statement ကိုအသံုးျပဳပါ တယ္။
SELECT *
INTO Persons_Backup
FROM Persons

Ø ကၽြန္ေတာ္တို႔ဟာ table ကို copy လုပ္ျပီးေတာ့ အျခား database အတြင္းသို႔ IN clause ကို
အသံုးျပဳကာလည္း ေပါင္းထည့္ႏိုင္ပါတယ္။
SELECT *
INTO Persons_Backup IN ‘Backup.mdb’
FROM Persons

Ø ေနာက္ျပီးေတာ့ ကၽြန္ေတာ္တို႔သည္ လိုခ်င္တဲ့ field ေတြကိုသာလွ်င္ table အသစ္သို႔ ေပါင္းထည့္ခ်င္လွ်င္-


SELECT LasrName, FirstName
INTO Persons_Backup
FROM Persons

SQL SELECT INTO- With a WHERE Clause

ကၽြန္ေတာ္တို႔ဟာ WHERE clause ကိုလည္း add ၿပီးအသံုးျပဳႏိုင္ပါတယ္။ ေအာက္က SQL statement သည္
“Yangon” ၿမိဳ႕မွာ ေနထိုင္တဲ့ လူေတြႏွင့္အတူ table ကို “Backup” လုပ္တဲ့ပံုစံပါ။

Page42
THET NAUNG HTUT SQL

SELECT LastName, FirstName


INTO Persons_Backup
FROM Persons
WHERE City = ‘Yangon’

SQL SELECT INTO – Joined Tables


Table တစ္ခုထက္ ပိုျပီးေတာ့မွ data ေတြကို select လုပ္ခ်င္လွ်င္၊
SELECT Persons.LastName, Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.P_Id = Order.P_Id
အေပၚကဥပမာဟာ “Persons” table ႏွင့္ “Orders” table ႏွစ္ခုမွ ပါ၀င္တဲ့ data ေတြကို “Persons_Order
_Backup” လုပ္တဲ့ပံုစံပါ။

Page43
THET NAUNG HTUT SQL

SQL CREATE DATABASE Statement


CREATE DATABASE statement ကို database တစ္ခု ဖန္တီးဖို႔ရန္ အသံုးျပဳပါတယ္။

SQL CREATE DATABASE Syntax


CREATE DATABASE database_name

CREATE DATABASE Example


အခု ကၽြန္ေတာ္တို႔ ႀကိဳက္တဲ့နာမည္တစ္ခုခုေပးျပီးေတာ့ database တစ္ခု ဖန္တီး ၾကည့္ရေအာင္။
CREATE DATABASE my_db
CREATE TABLE statement ႏွင့္အတူ အခုဖန္တီးထားတဲ့ database အတြင္းသို႔ table ေတြကို add ႏိုင္ပါတယ္။

SQL CREATE TABLE Statement


CRTEATE TABLE statement ကို Database တစ္ခုထဲသို႔ table ေတြဖန္တီးတဲ့အခါ အသံုးျပဳပါတယ္။

SQL CREATE TABLE Syntax


CREATE TABLE table_name
(
Column_name1 data_type,
Column_name2 data_type,
Column_name3 data_type

)
ဒီေနရာမွာ data_type ဆိုသည္မွာ column ေတြသည္ ဘယ္ data type အမ်ိဳးအစားကို သံုးမွာလဲဆိုတာပါ။ data
type ညြန္းဆိုမႈ အားလံုးကို MS Access, MySQL, and SQL Server ေတြအားလံုးလက္ခံပါတယ္။ အျပည့္အစံုကို
ေတာ့ Data types reference ဆိုတဲ့ ေနရာမွာ ၾကည့္ပါ။

CREATE TABLE Example


အခု ကၽြန္ေတာ္တို႔ column ငါးခုပါတဲ့ “Persons” လို႔ေခၚတဲ့ table ကို ဖန္တီးၾကည့္ရေအာင္။ column ထဲမွာ
ကၽြန္ေတာ္တို႔ဘာေတြထည့္မလဲဆိုေတာ့- P_Id, LastName, FirstName, Address, and City စတာေတြ ထည့္ပါ
မယ္။
CREATE TABLE Persons
(
P_Id int,
LastName varchar (255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

Page44
THET NAUNG HTUT SQL

ဒီေနရာမွာ ရွင္းရမယ္ဆိုရင္ျဖင့္ P_Id သည္ ကိန္းဂဏန္းေတြကို ဆုပ္ကိုင္ထားတာပါ။ type အမ်ိဳးအစားကေတာ့


int ျဖစ္ပါတယ္။ LastName, FirstName, Address, and City နာမည္နဲ႔ column ေတြကေတာ့ varchar type
အမ်ိဳးအစားနဲ႔ေၾကျငာခဲ့ျပီး စာလံုးေရ 255 ထိ လက္ခံမယ္လို႔ ေၾကျငာခဲ့တာပါ။

Result အေနနဲ႔ကေတာ့ data ေတြဘာမွ မထည့္ရေသးတဲ့ “Persons” လို႔ေခၚတဲ့ table တစ္ခုရရွိပါလိမ့္မယ္။


P_Id LastName FirstName Address City

INSERT STATEMENT ကိုသံုျပီးေတာ့ ဒီ empty table ထဲကို data ေတြျဖည့္ႏိုင္ပါ တယ္။

Page45
THET NAUNG HTUT SQL

SQL Constraints
Ø Constraints သည္ data type ကို limit ျပဳလုပ္ဖို႔ရန္အသံုးျပဳပါတယ္။
Ø Constraints ကို table တစ္ခု ဖန္တီးတဲ့အခါ (CREATE TABLE statement ႏွင့္အတူ) ဒါမွမဟုတ္ table
ဖန္တီးျပီးမွ (ALTER TABLE statement ႏွင့္အတူ) အထူးျပဳျပီး အသံုးျပဳႏိုင္ပါတယ္။
ေအာက္ပါ constraints ေတြကေတာ့ အခ်က္အခ်ာၾကတာေသာ Constraint ေတြျဖစ္ ၾကပါတယ္။
· NOT NULL
· UNIQUE
· PRIMARY KEY
· FOREIGN KEY
· CHECK
· DEFAULT
ေနာက္ သင္ခန္းစာေတြသည္ constraint တစ္ခုစီ၏ အေသးစိတ္အခ်က္အလက္ေတြ ေဖာ္ျပတာျဖစ္ပါတယ္။

SQL NOT NULL Constraint


Table ေတြမွာရွိတဲ့ table column တန္ဖိုးေတြမွာ Default အေနျဖင့္ NULL တန္ဖိုးေပး ထားၿပီးသား၊
ရွိထားၿပီးသား ျဖစ္ပါတယ္။

SQL NOT NULL Constraint


NOT NULL constraint ကို နဂိုရွိျပီးသား NULL တန္ဖိုးကို NULL မဟုတ္ဖို႔ရန္ အသံုးျပဳပါတယ္။ ေအာက္မွာ
example ၾကည့္ပါ။ ရွင္းပါတယ္။
CREATE TABLE Persons
(
P_ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar (255),
City varchar (255)
)
အေပၚမွာ “P_id” column ႏွင့္ “LastName” column ကို default NULL လက္မခံဖို႔ ရန္ ျငင္းခဲ့တာျဖစ္ပါတယ္။

SQL UNIQUE Constraint


Ø UNIQUE constraint သည္ database table တစ္ခုအတြင္း record တစ္ခုစီကုိ [ (uniquely) ထူးျခားစြာ (သို႕မ
ဟုတ္) တစ္မူထူးျခားစြာ] အသံုးျပဳဖို႔ရန္ အထူးျပဳတာျဖစ္ပါတယ္။

Page46
THET NAUNG HTUT SQL

Ø UNIQUE ႏွင့္ PRIMARY KEY constraint ႏွစ္ခုစလံုးဟာ column တစ္ခုအတြက္ ဒါမွမဟုတ္ column
အစုမ်ားအတြက္ တစ္မူထူးျခားဖို႕အတြက္ အာမခံေထာက္ပံ့တာကို ဆိုလိုပါတယ္။
Ø PRIMARY KEY constraint တစ္ခုမွာဆိုလွ်င္ ၎ေပၚကို သတ္မွတ္ထားတဲ့ UNIQUE constraint ရွိပါ
တယ္။
Ø Table တစ္ခုစီအတြက္ UNIQUE constraints မ်ားစြာရွိႏိုင္ပါတယ္။ ဒါေပမဲ့ PRIMAEY KEY constraint
တစ္ခုသာလွ်င္ ရွိရပါမည္။

SQL UNIQUE Constraint on CREATE TABLE


“Persons” table တစ္ခုဖန္တီးလိုက္တဲ့အခါမွာ “P_ID” column ေပၚကို UNIQUE constraint တစ္ခု
ဖန္တီးလိုက္တဲ့ပံုစံပါ။
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstNam e varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)

SQL Server / Oracle / MS Acess:


CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar (255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City v archar(255)

Column ေတြ အသီးသီးေပၚမွာ UNIQUE constraint တစ္ခု သတ္မွတ္ဖို႕ရန္အတြက္ ေအာက္ပါ SQL syntax
ကို အသံုးျပဳပါတယ္။
CREATE TABLE Persons
(
P_Kd int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRANT uc_PersonID UNIQUE (P_Id, LastName)
)

SQL UNIQUE Constraint on ALTER TABLE


Table ကို အရင္ဖန္တီးခဲ့ၿပီးသားဆိုလွ်င္ “P_Id” column ေပၚမွာ ကၽြန္ေတာ္တို႔ဟာ UNIQUE constraint တစ္ခု
ဖန္တီးခ်င္တဲ့အခါ ေအာက္ပါ syntax ကို အသံုးျပဳပါ တယ္။

Page47
THET NAUNG HTUT SQL

MySQL / SQL Server/ Oracle/ MS Access:


ALTER TABLE Persons
ADD UNIQUE (P_Id)

Column တစ္ခုစီ၌ UNIQUE constraint သတ္မွတ္ဖို႔ရန္အတြက္ ေအာက္ပါ syntax ကို သံုးပါတယ္။

MySQL/ SQL Server/ Oracle/ MS Acess:


ALTER TABLE Persons
ADD CONSTRINT uc_PersonID UNIQUE (P_Id, LastName)

TO DROP a UNIQUE Constraint


UNIQUE constraint တစ္ခုကို drop ျပဳလုပ္ဖို႔ရန္ ေအာက္ပါ syntax ကိုအသံုးျပဳပါတယ္။

MySQL:
ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server/ Oracle/ MS Access:


ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID

SQL PRIMARY KEY Constraint


Ø PRIMAEY KEY constraint သည္ database table တစ္ခုအတြင္းက record တစ္ခုစီ ကို အထူးျပဳပါတယ္။
Ø Primary key column တစ္ခုမွာ NULL တန္ဖိုးမ်ား မပါ၀င္ပါဘူး။
Ø Table တစ္ခုစီမွာ primary key တစ္ခုရွိရျပီး primary key တစ္ႀကိမ္သာလွ်င္ ရွိႏိုင္ပါ တယ္။

SQL PRIMARY KEY Constraint on CREATE TABLE


ေအာက္မွျပထားတာဟာ Table တစ္ခု တည္ေဆာက္တဲ့အခါမွာ “P_Id” column ေပၚမွာ PRIMARY KEY
တစ္ခုကို ဖန္တီးခဲ့တာျဖစ္ပါတယ္။

MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL
LastName varchar (255) NOT NULL,
FirstName varchar(255),
Address varchar (255),
PRIMARY KEY (P_Id)
)

Page48
THET NAUNG HTUT SQL

SQL Server / Oracle / MS Access:


CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar (255) ,
Address varchar (255),
City varchar (255)
)

SQL PRIMARY KEY Constraint on ALTER TABLE


Table တည္ေဆာက္ျပီးသားျဖစ္တဲ့အခါ “P_Id” ေပၚမွာ PRIMARY KEY ကို ထည့္ခ်င္လွ်င္ ေအာက္ပါပံုစံ
အသံုးျပဳပါတယ္။
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonsID PRIMARY KEY (P_Id, LastName)
မွတ္ခ်က္။ ။ တကယ္လို႕ ALTER TABLE statement တြင္ primary key တစ္ခုကို ေပါင္းထည့္ဖို႔ရန္
အသံုးျပဳခ်င္လွ်င္ table တည္ေဆာက္ခဲ့တုန္းက primary key column မ်ားတြင္ NULL တန္ဖိုးကို
မပါ၀င္ထားဖို႕ရန္ ေၾကျငာထားခဲ့မွ ရပါမည္။

To DROP a PRIMARY KEY Constraint


PRIMARY KEY constraint တစ္ခုကို drop လုပ္ခ်င္လွ်င္-
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

SQL CHECK Constraint


Ø CHECK constraint ကို column တစ္ခုအတြင္း ထားခဲ့တဲ့ value range ကို limit လုပ္ဖို႕ရန္ အသံုးျပဳပါတယ္။
Ø Column တစ္ခုေပၚမွာ CHECK constraint ကို သတ္မွတ္လွ်င္ ထို column အတြက္ ေသခ်ာတဲ့တန္ဖိုးေတြ
ကိုသာလွ်င္ ခြင့္ျပဳပါတယ္။
Ø Table တစ္ခုေပၚမွာ CHECK constraint ကို သတ္မွတ္လွ်င္ row အတြင္းက အျခား column မ်ားအတြင္းက
တန္ဖိုးေပၚက အေျခခံခဲ့တဲ့ တိက်တဲ့ column အတြင္းက တန္ဖိုးေတြကို CHECK constraint သည္ limit
လုပ္ႏိုင္သည္။

SQL CHECK Constraint on CREATE TABLE


Persons table တည္ေဆာက္တဲ့အခါ P_Id column ေပၚ၌ CHECK constraint တစ္ခုကို create လုပ္တဲ့ပံုစံပါ။
CHECK constraint အထူးျပဳတဲ့ P_Id column သည္ “0” ထက္ ႀကီးတဲ့ integer ေတြသာလွ်င္ ပါ၀င္ရပါမည္။

Page49
THET NAUNG HTUT SQL

MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar (255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar (255),
CHECR (P_Id>0)
)

SQL Server / Oracle / MS Access:


CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FIrestName varhcar (255),
Address varchar (255),
City varchar (255)
)

Multiple(အဆင့္ဆင့္)column မ်ားေပၚမွာ CHECK constraint ကို သတ္မွတ္ဖို႔အတြက္ ေအာက္ပါ syntax ကို


အသံုးျပဳပါတယ္။

MySQL / SQL Server / Oracle / MS Access:


CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar (255) NOT NULL,
FirstName varchar (255),
Address varchar (255),
City varchar (255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City = ‘Yangon’)

SQL CHECK Constraint on ALTER TABLE


Table တည္ေဆာက္ၿပီးသားျဖစ္တဲ့အခါ CHECK constaint ကို ဖန္တီးခ်င္တဲ့အခါ ေအာက္ပါ syntax ကို
အသံုးျပဳပါတယ္။

MySQL / SQL Server / Oracle / MS Access:


ALTER TABLE Persons
ADD CHECK (P_Id>0)

အဆင့္ဆင့္ column မ်ားအေပၚမွာ CHECK constraint ကို အထူးျပဳခ်င္တဲ့အခါ -


MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City = ‘Yangon’’)

Page50
THET NAUNG HTUT SQL

To DROP a CHECK Constraint


CHECK constraint ကို ျဖတ္ဖို႔ရန္ ေအာက္ပါ syntax ကို အသံုးျပဳပါတယ္။
ALTER TABLE Persons
DROP CONSTRAINT chk_Person

SQL DEFAULT Constraint


DFFAULT constraint ကို column အတြင္းသို႕ default တန္ဖိုးတစ္ခုေပါင္းထည့္ဖို႕ရန္ အသံုးျပဳပါတယ္။

SQL DEFAULT Constrint on CREATE TABLE


Persons table တည္ေဆာက္တုန္းက City column ေပၚမွာ DEFAULT constraint ကို ဖန္တီးခဲတ
့ ဲ့ပံုစံပါ။
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) ,
Address varchar(255),
City varchar (255) DEFAULE ‘Myanmar’

Default constraint တြင္ GETDATE() ကဲ့သို႔ေသာ function ေတြကို အသံုးျပဳျပီးေတာ့ system တန္ဖိုးေတြကို
ေပါင္းထည့္ႏိုင္ပါတယ္။
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)

SQL DEFAULE Constrint on ALTER TABLE


Table ကို ကၽြန္ေတာ္တို႔ဟာ တည္ေဆာက္ခဲ့ျပီးသားျဖစ္တဲ့အခါ “City” column ေပၚမွာ DEFAULT constraint
တစ္ခု ဖန္တီးခ်င္တဲ့အခါ -

MySQL:
ALTER TABLE Persons
ALTER Country SET DEFAULT ‘Yangon’

SQL Server / Oracle / MS Access:


ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT ‘ Yangon’

Page51
THET NAUNG HTUT SQL

DEFAULT Constraint ျဖတ္ဖို႔ရန္


MySQL:
ALTER TABLE Persons
ALTER City DROP DEFAULT

SQL Server / Oracle / MS Access:


ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT

Page52

You might also like