មេរៀន Access-ការសរសេរកូដ Macro

1. What is Macro? Macro គឺជា Object មួយយ៉ាងសំខាន់របស់ Microsoft Access វាមានតូនាទីសំរាប់ ជូយបន្ថែមល្បឿន ការងាររបស់យើងបានយ៉ាងឆាប់រហ័ស។ វាអាចភ្ជាប់ Object ផ្សេងៗនៅក្នុងកម្មវិធី អោយធ្វើការជាមួយគ្នា ហើយ មានតួនាទីខុសស្រលះពី Tables, Queries, Forms និង Reports ដោយសារវាមានលក្ខណៈពិសេសមួយគឺ វាជា លក្ខណៈនៃ សកម្មភាព (Action) សំ៎រាប់ធ្វើទៅលើ Files ( Databases) អោយធ្វើអ្វីមួយ។
ឧទាហរណ៍ បង្កើត Macro មួយដើម្បីបង្ហាញជា Msgbox (Message box) គឹបញ្ជារទៅលើ File អោយបង្ហាញ ពត៍មាន (Message) ចេញមកនៅពេលដែលយើងបើក Form ណាមួយ។ Macro អាចបង្កើតនូវ សកម្មភាព ផ្សេងៗជាច្រើន ដូចជាៈ Open Form, Close Form, រឺបង្កើត Menu ជាដើម។
2. របៀបបង្កើតMacros:
– ចុចលើ  Macros
– ចុច New ពេលនោះវានិង បង្ហាញប្រអប់ Macro ដូចខាងក្រោមៈ
a% Action: សំរាប់អោយយើងជ្រើសរើសដើម្បីអោយធ្វើសកម្មភាពអ្វីមួយ
% Action Arguments: សំរាមប់ប្រើបញ្ជាក់បន្ថែមទៅលើសកម្មភាព

–   ឧ. ក្នុង Action យើងជ្រើសរើសយក Msgbox គឹបង្កើត Message ។ បន្ទាប់មកយើងត្រូវកំនត់បន្ថែមនូវក្នុង  Action Arguments គឺ
–   Message: យើងបញ្ចូលពត៍មានដែលយើងចង់អោយវាបង្ហាញ
–    Beep: យក Yes ( បង្ហាញថាមានសំលេង) បើយក No ( គ្មានសំលេង )
–     Type: ជ្រើសរើសយកប្រភេទសញ្ញាដែលចង់អោយបង្ហាញ ( សញ្ញា !, ? )
–    Title: សំរាប់ដាក់ចំណងជើងនៅប្រអប់ Message ពេលវាបង្ហាញ។
aក្រោយពេលយើងបង្កើតរួចហើយ (Save ដាក់ឈ្មោះ Ex: Msgbox ) ។ ការ Save នេះធ្វើអោយយើងមានលក្ខណៈងាយស្រួលក្នុងការភ្ជាប់ Command Button ក្នុង Form។
3. របៀបភ្ជាប់Macro ក្នុងForm: ដើម្បីភ្ជាប់ Macro ទៅកាន់ Form យើងត្រូវបើក Form នោះជា Design View
a–      Select on Form (Ctrl + R)
–     ចុចលើ  Tabs
–     ជ្រើសរើសយក On Open ឬ On Load
–     ជ្រើសរើសយក Macro ដែលយើងបានបង្កើត (Msgbox) ។
ចំណាំ: យើងអាចបង្កើត Macro ដោយពុំចាំបាច់បង្កើតនៅក្នុង Object Macros រួចទើបភ្ជាប់ទៅកាន់ Command Button នៃ Form ក៏បានដែរ យើងអាចបង្កើត ដោយផ្ទាល់តែម្ដង នៅលើ Tab Event នៃ Properties របស់ Form ឬ Command Button ។

ឧ. យើងបង្កើត Macro OpenForm និង CloseForm ដោយមិនចាំបាច់ បង្កើតដោយផ្ទាល់នៅក្នុង Object Macro យើងបង្កើត ទៅតាម Tab Event នៃ Properties របស់ Command OpenForm និង CloseForm ផ្ទាល់តែម្ដង។
វិធីធ្វើៈ
1 Macro Open Form
–          បើក Form ជា Design View
–          ចុចលើ Toolbox
–          ត្រូវបិទ Control Wizard ជាមុនសិនហើយ ចុចលើ Command Button យកកមគូរលើ Form
–          Select លើ Command Button ហើយចុច Mouse ខាងស្ដាំ
–          ជ្រើសរើសយក Properties
ចុចលើ Event Tab ហើយដាក់ Cursor នៅក្នុង Text នៃ On Click
a-ចុចលើ Build… រួចជ្រើសរើសយក Macro Builder ចុច OK
-ពេលនោះផ្ទាំង Macro និង បង្ហាញទ្បើង
a-នៅក្នុង Action វាយ OpenForm បន្ទាប់មកយើង ធ្វើការកំនត់នៅលើ Action Argument ដូចខាងក្រោម៖
+Form Name: សំរាប់អោយយើងជ្រើសរើស Form ដែលចង់បើក
+View: សំរាប់បង្ហាញប្រភេទ Form ក្នុងការបើក
+Where Condition: សំរាប់បើក Form តាមល័ក្ខខ័ណ្ឌ
+Data Mode: មាន ៣ ប្រភេទគឺ Add, Edit, Read Only
•Add: សំរាប់បន្ថែម Record តែមិនអាចធ្វើការកែប្រែបាន Record បានឡើយ
•Edit: អាចបន្ថែម Record ហើយអាចធ្វើការកែប្រែ Recordបាន
•Read Only: សំរាប់ មើលតែប៉ុណ្ណោះ មិនអាចបន្ថែម ឬ កែប្រែបានឡើយ។
+Window Mode: សំរាបកំនត់ទំរង់ របស់ Form នៅពេលបើក។
-បន្ទាប់ពីការកំនត់ និង ជ្រើសរើស រួចហើយ យើង Save ។
+Macro Close Form
-ដូចខាងលើដែរ បន្ទាប់មកក្នុង Action វាយ Close ហើយនៅក្នុង Action Argument យើងធ្វើការកំនត់ដូចខាងក្រោមៈ
+Object Type: សំរាប់ជ្រើសរើសប្រភេទសំរាប់បិទ (Form)
+Object Name: ជ្រើសរើសឈ្មោះ Form ដែលយើងចង់បិទ
+Save:    សំរាប់ជ្រើសរើសលក្ខខ័ណផ្សេងៗក្នុងការបិទ
-បន្ទាប់ពីកំនត់រួចយើង Save (CloseForm)។
4. ការប្រេី Macro Name:
Macro Name ជាការប្រមូលផ្ដុំគ្ន្មានៃ Macro ជាច្រើន។ វាជួយសំរួលក្នុងការបង្កើត Macro មានន័យថា យើងមិនចាំបាច់បង្កើត Macro ច្រើនដងទេ គឺយើងបង្កើតតែម្ដងជាការស្រេច។ ឧបមាថា យើងមាន Form ចំនួន 3 យើងត្រូវការបង្កើត Macro ចំនួន 3 ដែរ ដើម្បីប្រើប្រាស់ក្នុង Form ហើយយើង  ក៏មានឈ្មោះដែល Save នៅលើ Macro ចំនួន 3 ដែរ ។ ប៉ុន្ដែបើយើងប្រើ  Macro Name យើងអាច យើងអាចប្រមូល Macro ទាំង 3 មកទុកនៅក្នុងឈ្មោះេតែមួយ។
របៀបបង្កើតផ្ទាំង Macro Name:
-ចុចលើ Object Macros
-ចុចលើ New
-ចុចលើ View Menu
-ចុចលើ Macro Names ឬ ចុចលើ
ឧ. យើងបង្កើត Macro មួយដោយផ្ទុកនៅ Macros ចំនួន ៣ រួមមាន Form Students List, Close Form Students List, Msgbox ហើយ Save ដាក់ឈ្មោះអ្វីក៏បាន។ សូមមើលរូបខាងក្រោមៈ
a5. ការប្រើ Condition Macro:
Condition របស់ Macro ប្រើសំរាប់ធ្វើការអ្វីមួយទៅតាមល័ក្ខខ័ណ្ឌដែលយើងចង់កំណត់។
របៀបបង្កើត Condition Macros
-ចុចលើ Object Macros
-ចុចលើ New
-ចុចលើ View Menu
-ចុចលើ Condition ឬ ចុចលើ
ឧ. បង្កើត Macro ដោយប្រើ Condition ដើម្បីស្វែងរកឈ្មោះសិស្សនៅក្នុង Form Students List
-បើក Form Students List ជា Design View
-នៅលើ Tolbox ចុចលើ Frame (Option Group) រួចយកមកគូរលើ Form Footer របស់ Form
-ចុចលើ Toggle Button យកមកគូរនៅក្នុង Frame ពី A → Z
-ចុច Mouse ស្ដាំនៅលើ Frame
-ចុច Properties  → Event → After Update → ចុចលើ Build…   ពេលនោះវាអោយយើង Save ហើយធ្វើដូចខាងលើបន្ទាប់មកធ្វើតាមរូបខាងក្រោមៈ
aa6. របៀបបង្កើត Menu តាម Macro:
ដើម្បីបង្កើត Menu យើងត្រូវបែងេចែកជា ២ ផ្នែកគឺ Main Menu និង Sub Menu ដូចនេះ Menu មួយ ដំបូងយើងត្រូវបង្កើត Main Menu ជាមុនសិន ពីព្រោះ Main Menu វាផ្ទុកនូវ Sub Menu
របៀបបង្កើត Main Menu
-ចុចលើ Object Macros
-ចុចលើ New
-នៅក្នុង Action វាយពាក្យ AddMenu
-នៅក្នុង Action Arguments ធ្វើការកំនត់ដូចខាងក្រោម
Menu Name: វាយឈ្មោះដែលយើងចង់អោយបង្ហាញនៅលើ Main Menu (Ex: File, Edit ជាដើម)
Menu Macro Name: វាយឈ្មោះអោយដូចទៅនិង Menu Name ដែរ
-បន្ទាប់មក Save ដាក់ឈ្មោះថា Menus
របៀបបង្កើត Sub Menu
1. បង្កើត Sub Menu File
-ចុចលើ Object Macros
-ចុចលើ New
-ចុចលើ View → Macro Name
-នៅក្នុង Macro Name វាឈ្មោះរបស់ Sub Menu ដែលយើងចង់បង្កើតដូចជា
New Database ហើយកំនត់ នៅក្នុង Action ដោយវាយឈ្មោះ Runcommand និងនៅក្នុង Action Argument កំនត់ពាក្ស NewDatabase
Open ហើយកំនត់ នៅក្នុង Action ដោយវាយឈ្មោះ Runcommand និងនៅក្នុង Action Argument កំនត់ពាក្ស OpenDatabase
Save ហើយកំនត់ នៅក្នុង Action ដោយវាយឈ្មោះ Runcommand និងនៅក្នុង Action Argument កំនត់ពាក្យ ហើយកំនត់ នៅក្នុង Action ដោយវាយឈ្មោះ Runcommand និងនៅក្នុង Action Argument កំនត់ពាក្យ Save
-បន្ទាប់មក Save ដាក់ឈ្មោះថា File
2. បង្កើត Sub Menu Edit
-ចុចលើ Object Macros
-ចុចលើ New
-ចុចលើ View → Macro Name
នៅក្នុង Macro Name វាឈ្មោះរបស់ Sub Menu ដែលយើងចង់បង្កើតដូចជា
Copy ហើយកំនត់ នៅក្នុង Action ដោយវាយឈ្មោះ Runcommand និងនៅក្នុង Action Argument កំនត់ពាក្ស Copy
Cut ហើយកំនត់ នៅក្នុង Action ដោយវាយឈ្មោះ Runcommand និងនៅក្នុង Action Argument កំនត់ពាក្ស Cut
Paste ហើយកំនត់ នៅក្នុង Action ដោយវាយឈ្មោះ Runcommand និងនៅក្នុង Action Argument កំនត់ពាក្យ Paste
-បន្ទាប់មក Save ដាក់ឈ្មោះថា Edit
បន្ទាប់ពីបង្កើត រួច យើងត្រូវភ្ជាប់វាទៅកាន់ Form ដោយធ្វើដូចខាងក្រោម
-បើក Form ដែលយើងចង់ ភ្ជាប់ Menus ជា Design View
-ចុចលើ Edit → ចុចលើ Select Form ឬ Ctrl+ R
-ចុចលើ View → ចុចលើ Properties
-ចុចលើ Tab Other កំនត់នៅលើ Menu Bar ដោយវាយ ពាក្ស Menus បន្ទាប់មក ចុចលើ View យើងនិងឃើញដូចរូបខាងក្រោម

IT ads

មជ្ឈមណ្ឌល អាយធី ខេប៊ូ

មានទទួលរចនាវ៉ិបសាយ កម្មវិធីគ្រប់គ្រងក្រុមហ៊ុន…
មានបើកវគ្គខ្លី:
–  វគ្គរចនាវ៉ិបសាយ HTML,CSS, Javascript, PHP, ASP.NET
–  វគ្គដំឡើងកុំព្យូទ័រណែតវឺក Networking
–   វគ្គជួសជុលកុំព្យូទ័រ Computer Repairing
–   វគ្គសរសេរកម្មវិធីលើ iOS (កម្មវិធី iPhone, iPAD)
ទំនាក់ទំ​នង 0977778647-077778647-070778647
Email: chhunnan@gmail.com
Chat: yahoo, skype: chhunnan
www.itcambo.com

មេរៀន Access- លំហាត់ពី Modules

1) ចូរបង្កើត Button Open form Study List និង Button Close form Student List
a-Program’s Code ភ្ជាប់ទៅនឹង Button Open:
Private Sub CmdOpen_Click()
DoCmd.OpenForm “Study List”, acNormal
End Sub
-Program’s Code ភ្ជាប់ទៅនឹង Button Close:
Private Sub CmdClose_Click()
DoCmd.Close
End Sub
2) ចូរបង្កើត Message នៅពេលបើក ឬ បិទ Form Student List
a-Program’s Code ភ្ជាប់ទៅនឹង Form:(សរសេរលើ On load ឬ On open)
Private Sub Form_Open(Cancel As Integer)
MsgBox “Welcome to Student List form.”,  , “Student List Form”
End Sub
ចំនែក ឯនៅពេលបិទ Formវិញ ធ្វើដូចខាងលើដែរ ប៉ុន្ដែត្រូវសរសេរលើ On close នៅក្នុង Event Tab
3) ចូរបង្កើត Button Fist, Previous, Next, Last និង Add New Record
a-Program’s Code ភ្ជាប់ទៅនឹង Button ទាំង 5 ខាងលើ
Private Sub CmdFirst_Click()
DoCmd.GoToRecord , , acFirst
End Sub

Private Sub CmdPrevious_Click()
On Error Resume Next
DoCmd.GoToRecord , , acPrevious
End Sub

Private Sub CmdNext_Click()
On Error Resume Next
DoCmd.GoToRecord , , acNext
End Sub

Private Sub CmdLast_Click()
DoCmd.GoToRecord , , acLast
End Sub

Private Sub CmdAddNewRec_Click()
DoCmd.GoToRecord , , acNewRec
End Sub

4) ចូរបង្កើត Button Preview, Print Report និងបើក Form ជា Design
a-Program’s Code ភ្ជាប់ទៅនឹង Button ទាំងបីខាងលើ
Private Sub CmdDesign_Click()
DoCmd.OpenForm “Student List”, acDesign
End Sub

Private Sub CmdPreviewRe_Click()
DoCmd.OpenReport “Student List”, acViewPreview
End Sub

Private Sub CmdPrintRe_Click()
DoCmd.OpenReport “Student List”, acViewNormal
End Sub
4) ចូរបង្កើតរូបមន្ដផលគុណតាម Public Function និង Private Sub
a-Program’s Code Public Function:
Public Function Result(A, B As Double) As Double
Result = A * B
End Function
ភ្ចាប់ទៅនឹង Button ក្នុង Form:
Private Sub CmdCalculate_Click()
Me.Text4 = Result(Me.Text0, Me.Text2)
End Sub

– Program’s Code Private Sub:
Private Sub CmdCalculate1_Click()
Me.Text16 = Me.Text11 * Me.Text13
End Sub

Private Sub CmdClose_Click()
DoCmd.Close
End Sub
5) ចូរបង្កើត Form Exchange Rate ដោយប្រើរូបមន្ដផលគុណខាងលើ
6) ចូរបង្កើត Form Employee Salary ដូចខាងក្រោម:
a-Program’s Code
Private Sub CmdExchange_Click()
Me.Text12 = InputBox(“Enter the price for exchange”, “Exchange”, 4000)
End Sub
ចំណែក Total in Riel= [Salary] * [Text12](ប្រើនៅក្នុង Control Source)
Total=Sum([Salary])*[Text12] (ប្រើនៅក្នុង Control Source)
7) ចូរគណនា Mention និង Result ដោយប្រើរូបមន្ដ If……Then ….End If
a-Program’s Code សំរាប់ Mention:
Public Function Mention(D As Double) As String
If D = 0 Then
Mention = ” ”
ElseIf D < 5 Then
Mention = “Weak”
ElseIf D >= 5 And D <= 6 Then
Mention = “Medium”
ElseIf D > 6 And D <= 8 Then
Mention = “Good”
ElseIf D > 8 And D <= 10 Then
Mention = “Very good”
Else
Mention = ” ”
End If
End Function
-Program’s Code សំរាប់ Result:
Public Function Result(E As Double) As String
If E = 0 Then
Result = ” ”
ElseIf E < 5 Then
Result = “Fail”
Else
Result = “Pass”
End If
End Function
8) គណនាដូចខាងលើដែរ ទៅលើ Mention និង Result ដោយប្រើរូបមន្ដ Select Case
-Program’s Code សំរាប់ Mention:
Public Function Mention1(F As Double) As String
Select Case F
Case 0
Mention1 = ” ”
Case Is < 5
Mention1 = “Weak”
Case 5 To 6
Mention1 = “Medium”
Case 6.01 To 8
Mention1 = “Good”
Case 8.01 To 10
Mention1 = “Very good”
Case Else
Mention1 = ” ”
End Select
End Function
-Program’s Code សំរាប់ Result:
Public Function Result01(G As Double) As String
Select Case G
Case G = 0
Result01 = ” ”
Case Is < 5
Result01 = “Fail”
Case Is >= 5
Result01 = “Pass”
Case Else
Result01 = ” ”
End Select
End Function
9) ចូរបង្កើត រូបមន្ដ Min តាម Public Function ហើយភ្ជាប់ទៅ Form និង តាម Private Sub

-Program’s Code សំរាប់់ Public Function:
Public Function Min(A, B, C As Double) As Double
Min = A
If Min > B Then Min = B
If Min > C Then Min = C
End Function
បន្ទាប់មក ភ្ជាប់ទៅ Button ក្នុង Form ដូចខាងក្រោម :
Private Sub CmdMinPublic_Click()
Me.Text7 = Min(Me.Text0, Me.Text2, Me.Text4)
End Sub
a-Program’s Code សំរាប់ Private Sub:
Private Sub CmdMinPrivate_Click()
Dim Min As Double
Min = Me.Text13
If Min > Me.Text15 Then
Min = Me.Text15
ElseIf Min > Me.Text17 Then
Min = Me.Text17
End If
Me.Text20 = Min
End Sub
10) ចំណែករូុបមន្ដ Max ដូចគ្នាទៅនឹងរូប Min ដែរ ប៉ុន្ដែល័ក្ខខ័ណ្ឌផ្ទុយគ្នា
Public Function Max(A, B, C As Double) As Double
Max = A
If Max < B Then Max = B
If Max < C Then Max = C
End Function

11) ចូរបង្កើត Form ដូចខាងក្រោមៈ
a-Program’s Code:
Private Sub Combo10_AfterUpdate()
Me.RecordSource = “select * from [Salary] where Sex like ‘” & Me.Combo10 & “‘;”
End Sub
Private Sub Combo10_GotFocus()
Me.Combo10.RowSourceType = “Value list”
Me.Combo10.RowSource = “F, M”
End Sub
12) ចូរបង្កើត Form ដូចខាងក្រោមៈ
a-Program’s Code:
Private Sub Frame12Find_Click()
Me.RecordSource = “select * from [Salary] where Name like ‘” & Find & “‘;”
End Sub
Function Find()
Select Case Frame12Find
Case 1
Find = “C*”
Case 2
Find = “D*”
Case 3
Find = “H*”
Case 4
Find = “*”
End Select
End Function

-Program’s Code:
Private Sub Form_Timer()
Me.Text21 = Format(Now, “h:mm:ss”)
End Sub

13) ចូរបង្កើត Button ដើម្បីបើកកម្មវិធីផ្សេងៗ
aរបៀបបង្កើត Dictionary
ដើម្បីបង្កើត Dictionary យើងត្រូវបង្កើត Table 3 ដែលមានឈ្មោះដូចខាងក្រោម
-Table Khmer
-Table English
-Part Of Speed
ហើយនៅក្នុង Table នីមួយៗ មាន
-Table Khmer
•Field Name:
-No Data Type ជា AutoNumber
-ID Data Type ជា Number
-Part_Speed Data Type ជា Look Up Wizard
-Khmer1 Data Type ជា Text
-Khmer2 Data Type ជា Text
•    Table English
-ID Data Type ជា AutoNumber
-English Data Type ជា Text
•    Table Part Of Speed
-No Data Type ជា AutoNumber
-Part_Speed Data Type ជា Text
បន្ទាប់មកយើងធ្វេ្វ្វ្វី Relationship រវាង Table English និង Table Khmer ហើយទាញ ទិន្នន័យចូលក្នុង Query
•    ទិន្នន័យក្នុង Query រួមមាន
-ID និង English របស់ Table English
-Part_Speed, Khmer1, and Khmer2 របស់ Table Khmer
បន្ទាប់មក ភ្ជាប់វាទៅកាន់ Form ជារាង Tabular រួចយើងភ្ជាប់ Code ទៅកាន់ Command button មួយចំនួន
•Command button Add New
Docmd.GoToRecord, , acNewRec
English.Setfocus
•Command button Move First
Docmd.GoToRecord, , acFirst
•Command button Move Previous
On Error Resume Next
Docmd.GoToRecord, , ac Previous
•Command button Move Next
On Error Resume Next
Docmd.GoToRecord, ,acNext
•Command button Move Last
Docmd.GoToRecord, ,acLast
Code ភ្ជាប់ទៅ Search សំរាប់ពាក្ស
Docmd.ApplyFilter, “English like'” & Search.Text & “*” &”‘”
Search.SelStart = Len(Search.Text)
aa

 

មេរៀន Access- ភ្ជាប់ SQL និង Module

aI ) អ្វីទៅភាសារុករកទិន្នន័យ? What is SQL?
SQL (Structured Query Language): គឺជាភាសាមួយប្រភេទដែលគេប្រើសំរាប់ទាញទិន្នន័យពី Database  មកធ្វើការគណនា បង្ហាញ ផ្លាស់ប្ដូរ លុប និង កែប្រែ ទៅតាមការកំណត់លក្ខខ័ណ្ឌផ្សេងៗដែលយើងកំណត់ ។
ទំរង់ទូទៅរបស់ SQL Statements :
SELECT Tablename.fieldname?,Tablename.fieldname?,…….or Expression
FROM Tablename,Tablename,….
[WHERE Condition…..]
[ORDER BY….Tablename.fieldname,.. ASC/DESC]
[GROUP BY Tablename.fieldname,…]
[ HAVING Condition….]
Ex: ចូរប្រើប្រាស់ Database Northwind of Sample Microsoft in Folder Programfiles\Microsoft Offiec\OfficesXX\Sample\Northwind.mdb
Select CustomerID,CompanyName,ContactName
From Customers
ការចូលសរសេរ ត្រូវ ចុច Object Query–>New–>Design View–>OK
aបន្ទាប់មកត្រូវចុច Close Button:
aបន្ទាប់មកទៀតត្រូវចុច SQL button on Toolbar រួចសរសេ កូដបានហើយ
aពេលដែលសរសេរួចហើយអាច View or Run សំរាប់មើលលទ្ធផលៈ
II) Type of Sql statement ប្រភេទនៃភាសារុករកទិន្នន័យ
គេចែក SQL Statement ជាពីរប្រភេទគឺដូចខាងក្រោម ៖
1-DDL(Data Definition Language)
DDL គឺជាភាសាមួយប្រភេទដែលអាច Delete, Update, Insert, Alter ,Create Table and Drop នៃ Database។

a) Syntax Delete SQL:
DELETE * FROM TableName,…
[WHERE Condition]
ប្រើសំរាប់លុប Records ទិន្នន័យក្នុង Table ណាមួយ ទៅតាមលក្ខខ័ណ្ឌដែលបានកំណត់ ។
b) Syntax Update SQL :
Update TableName,..
Set Tablename.Fieldname=NewValues or Expression
Where Condition
ប្រើសំរាប់កែប្រែ ទិន្នន័យក្នុង Table ណាមួយ ទៅតាមលក្ខខ័ណ្ឌដែលបានកំណត់ ។
c) Syntax  Insert 1:
Insert Into TableDestination(FieldName,…) Values(?,?,?,?,…)
ប្រើសំរាប់យកទិន្នន័យពិតចូល TableDestination
d) Systax Insert 2:
Insert Into TableDestination(FieldName,…)
Select Fieldnamesource,….
From TableSourec,…
[WHERE Condition]
ប្រើសំរាប់យកទិន្នន័យពី TableSource ទៅ TableDestination តាមលក្ខខ័ណ្ឌដែលបានកំនត់ ។

1. What is Module?
Modules ជា Object មួយមានលក្ខ្ខណៈស្រដៀងនឹង Macro ដែរ តែខុសគ្នាត្រង់ Modules ត្រូវសរសេរ Code ដើម្បីអោយវាធ្វើអ្វីមួយ ចំណែកឯ Macro វិញគ្រាន់តែយើង Select យកនោះជាការស្រេច។ Modules ធ្វើអោយ Object ក្នុង MS Access ទាក់ទងគ្នាហើយ វាជួយបង្កើនល្បឿនការងារ ក្នុងការប្រើ Database។
ឧៈ យើងត្រូវការគណនាញឹកញាប់ រឺ យើងត្រូវការប្រើវាច្រើនដង តែយើងសរសេរ Code តែម្ដងប៉ុណ្ណោះ។
aនៅក្នុងការប្រើ Modules ដូចនឹងការប្រើ Macro ដែរគឺ យើងអាចសរសេរតាមពីររបៀបគឺ សរសេររួចហើយ ទើបភ្ជាប់ទៅកាន់ Form និងសរសេរដោយផ្ទាល់នៅក្នុង Form តែម្ដង។

2 Procedure:
នៅក្នុងការប្រើ Sub Procedure គឺមានពីររបៀបដែលត្រូវបានគេនៅក្នុងការសរសេរ Code នៅក្នុង MS Access ៖
-Public Function
-Private Sub
a) Public Function: ត្រូវបានគេប្រើជាលក្ខណៈទូទៅ បន្ទាប់មកទើបគេភ្ជាប់វាដើម្បីអោយវាធ្វើការអ្វីមួយតាមតំរូវការ របស់គេ។
b) Private Sub: ត្រូវបានគេប្រើដើម្បីសរសេរភ្ជាប់ដោយផ្ទាល់ទៅនឹង Form, Button,… ដើម្បីអោយវាធ្វើការអ្វីមួយតាម តំរូវការ។
-របៀបបង្កើត Sub Procedure:
+ ចុចលើ Modules Object នៅក្នុង Database
+ ចុចលើ New
+ ចុចលើ Insert Menu

– ជ្រើសរើសយក Procedure ពេលនោះវានឹងបង្ហាញនូវប្រអប់មួយដូចខាងក្រោមៈ
a-Name: សំរាប់ក្នុងការសរសេរ Code
-Scope និង Type: សំរាប់អោយយើងជ្រើសរើសប្រភេទ Procedure ក្នុងការសរសេរ
+ បន្ទាប់ពីកំនត់រួចហើយចុច Ok
ឧទាហរណ៍១ៈ ការបង្កើតនៅក្នុង Public Function:
Public Function Total(A, B As Integer) As Integer
Total = A * B
End Function
ឧទាហរណ៍២ៈ ការបង្កើតនៅ Private Sub:
Private Sub Cmd_Click()
Me.Text4 = Me.Text0 * Me.Text2
End Sub
3 Arguments: ជា Variable ដែលត្រូវហៅយកមកប្រើនៅក្នុងការសរសេរ មានន័យថាកំនត់ប្រភេទវាជាអ្វីមួយ។
Arguments As Data Type មានដូចជាៈ

String ផ្ទុកតំលៃជាអក្សរ
Byte ផ្ទុកតំលៃជាចំនួនគត់ពី 0-255
Integer ផ្ទុកតំលៃជាចំនួនគត់
Long ផ្ទុកតំលៃជាចំនួនគត់
Single ផ្ទុកតំលៃជាទស្សភាគ
Double ផ្ទុកតំលៃជាទស្សភាគ
Boolean ផ្ទុកតំលៃជាចំនួនពិត ឬ មិនពិត
Date ផ្ទុកតំលៃជាថ្ងៃ ខែ ឆ្នាំ

ឧទាហរណ៍ៈ     Public Function Total(A, B As Integer) As Integer
Total = A * B
End Function
4) ការប្រើ Statements:
a) Dim: ប្រើសំរាប់ Declare Variable មានន័យថា វាប្រាប់អោយ Memory របស់ម៉ាស៊ីនទុក Space សំរាប់ ដាក់តំលៃដែលយើងកំនត់ ។
-របៀបប្រើ Dim ដើម្បី Declare៖ Dim Variable_Name As Data Type
ឧទាហរណ៍ៈ     Private Sub CmdMin_Click()
Dim Min As Double
Dim A As Integer
Dim B As Integer
———————-
———————-
-b) Const: ប្រើសំរាប់ Declare Variable ដែលមានតំលៃថេរ។
ឧទាហរណ៍ៈ    Public Function Unit_Price(Device, Qty As Integer) As Currency
Const Table = 20
Const Chair = 5
——————–
——————–
-c) If ……Then: ជា Statement ប្រើសំរាប់ដាក់ល័ក្ខខ័ណ្ឌដើម្បីពយភាក្សាទៅលើអ្វីមួយ។
-របៀបប្រើៈ
If Condition Then
Do Something
End If
-ប្រសិនបើល័ក្ខខ័ណ្ឌយើងមានច្រើនយើងត្រូវប្រើពាក្យ ElseIf ដើម្បីបន្ដល័ក្ខខ័ណ្ឌផ្សេងៗទៀត។
If Condition Then
Do Something
ElseIf Condition Then
Do Something
End If
-ប្រសិនបើយើងមានល័ក្ខខ័ណ្ឌពីរ ឬ យើងចង់អោយវាមានល័ក្ខខ័ណ្ឌផ្ទុយពីល័ក្ខខ័ណ្ឌផ្សេងៗដែលយើងបានកំនត់ យើងត្រូវប្រើពាក្យ Else ហើយបញ្ចប់ដោយ End If។
-If Condition Then
Do Something
Else
Do Something
End If
-If Condition Then
Do Something
Elseif Condition Then
Do Something

Elseif Condition Then
Do Something
Else
Do Something
End If
ចំណាំៈ     – ElseIf អាចប្រើបានច្រើនដង
-Else អាចប្រើបានតែម្ដងប៉ុណ្ណោះ។
d) Select Case: ប្រើសំរាប់ដាក់ល័ក្ខខ័ណ្ឌដូចទៅនឹង Statement If ដែរ តែរបៀបប្រើមានលក្ខណៈខុសគ្នា។
– របៀបប្រើៈ
Select Case Expression
Case ទី១
Do Something
Case ទី២
Do Something
Case Else
Do Something
End Select
ឧទាហរណ៍ៈ     Public Function Result(Average As Double) As String
Select Case Average
Case Is < 5
Result = “Fall”
Case is >= 5
Result = “Pass”
Case Else
Result = ” ”
End Select
End Function

គ្រប់គ្រង​និង​ស្រង់​ទិន្នន័យ Access 2007

តើ​អ្នក​បាន​ដឹង​ទេ​ថា​កម្មវិធី Microsoft Office Access2007 ជា ​កម្មវិធី​ដ៏​វិសេស​មួយ​ក្នុង​ចំណោម​កម្មវិធី​គ្រប់គ្រង​ទិន្នន័យ​ផ្សេងៗ​ ដែល​គេ​បាន​ជ្រើសរើស​យក​មក​ប្រើប្រាស់​នៅ​ពេល​បច្ចុប្បន្ន​ នៅ​តាម​បណ្ដា​ក្រុមហ៊ុន​ស្ថាប័ន​ផ្សេងៗ​ទូទាំង​សកល​លោក។​ ​ខាង​ក្រោម​នេះ​ យើង​ខ្ញុំ​និង​លើក​យក​ពី​ការ​គ្រប់គ្រង​ទិន្នន័យ​នៃ​ចំនួន​ភូមិ ​ឃុំ​ ក៏​ដូច​ជា​ចំនួន​ប្រជាជន​កម្ពុជា​របស់​យើង​ដែល​រស់​នៅ​ក្នុង​ភូមិ​នីមួយៗ នា​ពេល​បច្ចុប្បន្ន។ ​មាន​ន័យ​ថា​យើង​បង្កើត​កម្មវិធី​គ្រប់គ្រង​ដ៏​ងាយស្រួល​មួយ​ជាមួយ​កម្មវិធី MicrosAccess2007 ដើម្បី​គ្រប់គ្រង​ព័ត៌មាន​ជាក់លាក់​ពី​បុគ្គល​នីមួយ​ដោយ​យើង​បង្កើត​ជា table ដើម្បី​រក្សា​ទិន្នន័យ​ទាំង​នោះ។​ជា​បន្ត​យើង​ចាប់​ផ្ដើម​បង្កើត​តារាង​ឬ​ហៅ​ថា table សម្រាប់ ​រក្សា​ទិន្នន័យ​ទៅ​តាម​កម្រិត​នីមួយៗ​ទៅ​តាម​លំដាប់​លំដោយ​ហើយ​ក្នុង​នោះ​ យើង​ក៏​ត្រូវ​ចេះ​ធ្វើការ​វិភាគ​និង​តម្រៀប​ទិន្នន័យ​ទាំង​នោះ​ឱ្យ​បាន​ ត្រឹមត្រូវ​ដូច​មាន​លំនាំ​ដូច​ខាង​ក្រោម។

I កំណត់​ឈ្មោះ​ឱ្យ table នីមួយៗ

១)​បង្កើត table មួយ​សម្រាប់​រក្សា​ឬ​ផ្ទុក​ផ្ទុក​ឈ្មោះ​ឱ្យ​ខេត្ត​ក្រុង​ទាំង​អស់​មាន​ឈ្មោះ​ថាProvince_city។

*pcid

pc_name description

២)​បង្កើត table ឈ្មោះ​ថា district​សម្រាប់​រក្សា​ទិន្នន័យ​ស្រុក​ឬ​ខណ្ឌ។

*did pcid district_name description

៣)​បង្កើត table ឈ្មោះ​ថា Commune សម្រាប់​រក្សា​ឬ​ផ្ទុក​ឈ្មោះ​ឃុំ​សង្កាត់​ទូទាំង​ប្រទេស។

*cid did commune_name description

៤) បង្កើតtable village សម្រាប់​រក្សា​ឈ្មោះ​ភូមិ​នីមួយៗ​ទូទាំង​ប្រទេស។

*vid cid village_name description

៥)​បង្កើតtable store_peopleមួយ​សម្រាប់​រក្សា​ព័ត៌មាន​លំអិត​របស់​ប្រជា​ពលរដ្ឋ​ម្នាក់ៗ​នៃ​ភូមិ​នីមួយៗ។

*pid vid people_name sex dob current_address job_title old_address

II បង្កើត table នីមួយ​ក្នុង​កម្មវិធី MicrosAccess2007

១) បើក​កម្មវិធី ms.Access2007 ដើម្បី​បង្កើត table ឈ្មោះ​ថាprovince_cityដូច​ខាង​ក្រោម។

-នៅ​ត្រង់pcid មាន​សញ្ញា​កូនសោ​នៅ​ខាង​មុខ​នោះ​គឺ​យើង​កំណត់​វា​យក​ជា​ប្រភេទ​ទិន្នន័យ​ជាprimary key មាន​ន័យ​សម្រាប់​រក្សា​ទិន្នន័យ​មិន​ឱ្យ​ស្ទួន​នៅ​ក្នុង table មួយ​នេះ​និង​កំណត់​យក​ជា​ប្រភេទ auto-number។
1២)​បង្កើត table district​សម្រាប់​រក្សា​ឈ្មោះ​ទូទាំង​ស្រុក​មាន​ដូច​ខាង​ក្រោម។
1-សូម​ធ្វើ​តាម​លំនាំ​ដូច​បាន​បង្ហាញ​ពី​ចំណុច​ទី​១​ដល់​ទី​៣​នោះ​អ្នក​និង​ទទួល​បាន table ទាំង​អស់​នៅ​ក្នុង Database របស់​អ្នក​ដូច​ខាង​ក្រោម។
1-ដូច្នេះtable សម្រាប់​រក្សា​ទិន្នន័យ​ទាំង​អស់​របស់​យើង​គឺ​ត្រូវ​បាន​បង្កើត​រួច​ដូច​ខាង​លើ​ពី​មួយ​ដល់​ប្រាំ។

III ភ្ជាប់ table នីមួយៗ​ឱ្យ​មាន​ទំនាក់​ទំនង​និង​គ្នា

នៅ​ចំណុច​នេះ​គឺ​វា​មាន​សារៈសំខាន់​ណាស់​សម្រាប់​អនុញ្ញាត​ឱ្យ​យើង​អាច​ធ្វើការ​ទំនាក់ទំនង​រវាង​ទិន្នន័យ​ពី table ទៅ​កាន់ table នីមួយៗ​ផ្សេងៗ​នៅ​ក្នុង Database របស់​យើង​ដោយ​វា​ធ្វើការ​អាស្រ័យ​ទៅ​បាន​តាមរយៈ ID នៃ Record នីមួយៗ​ដាច់​ដោយ​ឡែក​ពី​គ្នា។

ចុច​លើ​ម៉ឺនុយ “Database Tools “ នៃ​កម្មវិធី Ms.Access2007 ដែល​អ្នក​កំពុង​តែ​ដំណើរការ។
1-ចុច​លើ​ប្រអប់“Relationships”ដូច​រូប​ខាង​លើ​នោះ​យើង​និង​ទទួល​បាន​ទីតាំង​សម្រាប់​ភ្ជាប់​ទំនាក់ទំនង​ឬ​ហៅ​ថា​ភ្ជាប់ relationship។
1-ជ្រើសរើសSelect លើ​ឈ្មោះ table ទាំង​អស់​របស់​យើង​ដែល​បាន​បង្ហាញ​ដូច​រូប​ខាង​លើ​បន្ទាប់​មក​ចុច​លើ​ប៊ូតុង “Add” ដើម្បី​យើង​អាច​ធ្វើការ​ភ្ជាប់​ទំនាក់ទំនង​គ្នា​បាន​ឬ​ហៅ​ថា​ភ្ជាប់ Relationship។
1-ជ្រើសរើសSelect លើ​ឈ្មោះ table ទាំង​អស់​របស់​យើង​ដែល​បាន​បង្ហាញ​ដូច​រូប​ខាង​លើ​បន្ទាប់​មក​ចុច​លើ​ប៊ូតុង “Add” ដើម្បី​យើង​អាច​ធ្វើការ​ភ្ជាប់​ទំនាក់ទំនង​គ្នា​បាន​ឬ​ហៅ​ថា​ភ្ជាប់ Relationship។

-ជា​ដំបូង​យើង​ត្រូវ​ភ្ជាប់​ទំនាក់ទំនង​រវាង table មួយ​ទៅ​និងtable មួយ​ទៀត​ដោយ​តម្រៀប table ទាំង ​អស់​នោះ​ឱ្យ​ស្ថិត​ទៅ​តាម​ថានានុក្រម។​មាន​ន័យ​ថា​យើង​កំណត់​យក​ឱ្យ​ត្រូវ​ តាម​រចនា​សម្ពន្ធ​ពី​ថ្នាក់​ខេត្ត​ក្រុង​ទៅ​ស្រុក​ខណ្ឌ​ហើយ​ពី​ឃុំ​សង្កាត់​ ទៅ​ភូមិ​ព្រមទាំង​ពី​ភូមិ​ឱ្យ​វា​មាន​ទំនាក់ទំនង​ទៅ​ដល់ table ឈ្មោះ​ថាstore_people។​ដើម្បី​ភ្ជាប់ relationship យើង​ចាប់​យកpcidនៃtable ‘province_city’យក​មក​ភ្ជាប់​ជាមួយ pcid ស្ថិត​នៅ​ក្នុងtable ‘district’​នោះ​យើង​ទទួល​បាន។
1-យើង​ជ្រើសរើស​យក​ប្រភេទ​នៃ id ដែល​យើង​ត្រូវ​ការ​ភ្ជាប់​ឱ្យ​បាន​ដូច​គ្នា​ដូច​មាន​បញ្ជាក់​នៅ​ក្នុង​ផ្ទាំង​សារ​បង្ហាញ​គឺ “pcid”និង “pcid”បន្ទាប់​មក​ជ្រើសរើស​យក‘Enforce Referential Integrity’ហើយ​ដើម្បី​យល់​ព្រម​ចុច​លើ​ប៊ូតុង ‘Create’។
1-ជា​បន្ត​យើង​ចាប់​ផ្ដើម​ធ្វើការ​តភ្ជាប់​ទំនាក់ទំនង​ពី table ‘district’ជាមួយ table ‘commune’ដោយ​ភ្ជាប់​ពី idនៃdistrictទៅcommune តាមរយៈdidដែល​អនុវត្តន៍​ដូច​ខាង​លើ​ដែរ​នោះ​យើង​ទទួល​បាន។
1ហើយ​ជា​បន្ត​យើង​អាច​ធ្វើ​តាម​ជំហាន​ខាង​លើ​រហូត​ដល់​បញ្ចប់​នៃ​ការ​ចង់​ទំនាក់ទំនង​ឬ​ហៅ​ថា​ភ្ជាប់ relationship រវាង table បន្ត​បន្ទាប់​មក​ទៀត​រហូត​ដល់​ចប់​យើង​ទទួល​បាន​លទ្ធផល​ដូច​ខាង​ក្រោម​នៃ​ទំនាក់ទំនង​ទាំង​អស់។
1

-មក​ដល់​ចំណុច​នេះ​យើង​ឃើញ​ថា​ការ​បង្កើត​និង​ការ​ចង់ table របស់ ​យើង​ឱ្យ​មាន​ទំនាក់ទំនង​និង​គ្នា​គឺ​ត្រូវ​បាន​កំណត់​រួចរាល់​ហើយ​វា​ក៏​ ស្ថិត​ត្រូវ​តាម​លំដាប់លំដោយ​នៃ​បំណង​ដែល​យើង​ចង់​បាន​ផង​ដែរ​ដោយ​សរុប​ ទាំងអស់​មាន​ចំនួន​៥ table​និង​មាន​តួនាទី​នៃ​ការ​រក្សា​ទិន្នន័យ​ផ្សេងៗ​ពី​គ្នា។

IVបញ្ចូល​ទិន្នន័យ​ចូល​ក្នុង table នីមួយៗ

នៅ​ក្នុង​ការ​បញ្ចូល​ ទិន្នន័យ​យើង​ត្រូវ​វាយ​បញ្ចូល​ឱ្យ​ត្រូវ​តាម​លំដាប់លំដោយ​នៃ​ការ​ធ្វើ​ ទំនាក់ទំនង​របស់​យើង​ដែល​បាន​ចង​ទុក​រួច​ជា​ស្រេច​នៅ​ចំណុច​ទី III ខាង​លើ។​ជា​ដំបូង​យើង​ត្រូវ​បើក table ‘province_city’ដើម្បី​បញ្ចូល​ឈ្មោះ​ខេត្ត​ក្រុង​ទាំង​អស់​នៃ​ប្រទេស​កម្ពុជា។​ឧទាហរណ៍​យើង​ខ្ញុំ​វាយ​បញ្ចូល​ឈ្មោះ​ខេត្ត​ចំនួន​៥​គឺ​ខេត្ត kandal,kampong chhnang,Pursat,Battambang , & Banteay meanchey បាន​ដូច​រូប​ខាង​ក្រោម។
1-បន្ត​មក​ទៀត​យើង​វាយ​បញ្ចូល​ឈ្មោះ​ស្រុក​ឬ​ខណ្ឌ​ទាំង​អស់​របស់​ខេត្ត​នីមួយ​ចូល​ក្នុង table ‘district’ ដោយ​នៅ​ពេល​នេះ​យើង​ខ្ញុំ​វាយ​បញ្ចូល​ឈ្មោះ​ស្រុក​មួយ​ចំនួន​នៅ​ក្នុង​បាត់ដំបង។
1-កិច្ចការ​បន្ត​ទៀត​យើង​ត្រូវ​វាយ​ព័ត៌មាន​ឬ​ទិន្នន័យ​របស់​ឃុំ​និង​ភូមិ​ព្រមទាំង​ចំនួន​ប្រជាជន​ស្ថិត​នៅ​ក្នុង​ភូមិ​នីមួយៗ​ទៅ​តាម record ផ្សេងៗ​នៅ​ក្នុងtable។
1-ក្រោយ​ពី​យើង​បាន​វាយ​បញ្ចូល​ព័ត៌មាន​ រួចរាល់​ហើយ​ដើម្បី​មើល​អំពី​ព័ត៌មាន​លំអិត​អំពី​ប្រជាជន​ឬ​អំពី​ឈ្មោះ​នៃ​ ទីតាំង​ណាមួយ​មួយ​នោះ​អ្នក​គ្រាន់តែ​យកMouse មក​ចុច​នៅ​លើ​សញ្ញា​បូក​ចូល​ទៅ​កាន់ table នីមួយៗ ​នោះ​អ្នក​និង​ទទួល​បាន​ព័ត៌មាន​យ៉ាង​ច្បាស់​អំពី​ឈ្មោះ​របស់​​អ្នក​ណា​ ម្នាក់​ឬ​ឈ្មោះ​នៃ​តំបន់​ណាមួយ​បាន​យ៉ាង​ងាយស្រួល។​ម្យ៉ាង​វិញទៀត​នេះ​ជា​ ចំណុច​ចាប់​ផ្ដើម​ដំបូង​មួយ​មុន​និង​អ្នក​ឈាន​ទៅ​ដល់​ការ​សិក្សា Programming ដោយ​ប្រើ​កូដ​ដើម្បី​កំណត់​បញ្ជា​ហើយ​អ្វី​ដែល​សំខាន់​ជាង​នេះ​ទៅ​ទៀត​នោះ​គឺ​អ្នក​អាច​យល់​ច្បាស់​ពី​ការ​ធ្វើ​ទំនាក់ទំនង​រវាងtable មួយ​ទៅtable ដែល​ជា​គន្លឹះ​មួយ​សម្រាប់​ធ្វើការ​សិក្សា​ស្រាវជ្រាវ​ដោយ​ខ្លួន​ឯង​បន្ត​ទៅ​ជំហាន​បន្ត​បន្ទាប់​ទៀត​នៅ​ក្នុង​កម្មវិធី Microsoft Office Access2007 ឬ​ជំនាន់​នៃ​កម្មវិធី​នេះ​ក្រោយៗ​ទៀត។

មេរៀន មូលដ្ឋាន SQL

a

SQL គឺ​ជា​ភាសា​ស្តង់​ដា​រ​សម្រាប់​ការ​ចូល​ដំណើរ​ការ​មូលដ្ឋាន​ទិន្នន័យ​។ ឯកសារ​បង្រៀន SQL មួយ​របស់​យើង​នឹង​បង្រៀន​អ្នក​ពី​របៀប​ប្រើ SQL ដើម្បី​ចូល​ដំណើរ​ការ​និង​ការ​រៀបចំ​ទិន្នន័យ​នៅ​ក្នុង​: កម្មវិធី MySQL​, SQL មួយ​ម៉ាស៊ីន​បម្រើ​ចូល​ដំណើរ​ការ​, Oracle​, Sybase​, DB2 និង​ប្រព័ន្ធ​មូលដ្ឋាន​ទិន្នន័យ​ផ្សេង​ទៀត​។
ឧ​ទា​ហរ​ណ៏​ជំហានដំបូង
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers;

មេរៀនសេចក្តី​ផ្តើ​ម​នៃ SQL
SQL គឺ​ជា​ភាសា​ស្តង់​ដា​រ​សម្រាប់​ការ​ចូល​ដំណើរការ​និង​ការ​គណនា​ឯកសារ​មូលដ្ឋាន​ទិន្នន័យ​។
SQL គឺ​ជា​អ្វី​?
-SQL មួយ​ឈរ​ភាសា​សម្រាប់​សំណួរ​ដែល​បាន​រចនា​ស​ម្ព័​ន
-SQL មួយ​អនុញ្ញាត​ឱ្យ​អ្នក​ចូល​ដំណើរ​ការ​និង​ការ​រៀបចំ​មូលដ្ឋាន​ទិន្នន័យ
-SQL គឺ​ជា​មួយ ANSI (អា​មេ​រិ​ច​វិទ្យាស្ថាន​ជាតិ​ស្តង់ដារ​) ជា​ខ្នាត​គំរូ
តើSQL​​អាច​ធ្វើបានអ្វីខ្លះ​?
-SQL មួយ​អាច​ប្រតិបត្តិ​សំណួរ​ប្រឆាំង​នឹង​មូលដ្ឋាន​ទិន្នន័យ​មួយ
-SQL មួយ​អាច​ទៅ​យក​ទិន្នន័យ​ពី​មូលដ្ឋាន​ទិន្នន័យ​មួយ
-SQL មួយ​អាច​បញ្ចូល​កំណត់ត្រា​នៅ​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​មួយ
-SQL មួយ​ដែល​អាច​ធ្វើ​ឱ្យ​ទាន់​សម័យ​កំណត់ត្រា​នៅ​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​មួយ
-SQL មួយ​អាច​លុប​កំណត់ត្រា​ពី​មូលដ្ឋាន​ទិន្នន័យ​មួយ
-SQL មួយ​ដែល​អាច​បង្កើត​មូលដ្ឋាន​ទិន្នន័យ​ថ្មី
-SQL មួយ​អាច​បង្កើត​តារាង​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​ថ្មី​មួយ
-SQL មួយ​អាច​បង្កើត​នីតិវិធី​ត្រូវ​បាន​រក្សា​ទុក​នៅ​ក្នុង​ឃ្លាំង​ទិន្នន័យ​មួយ
-SQL មួយ​អាច​បង្កើត​ទិដ្ឋភាព​នៅ​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​មួយ
-SQL មួយ​អាច​កំណត់​សិទ្ធិ​នៅ​លើ​តុ​និ​តិ​វិធី​និង​ទស្សនៈ
ការ​ប្រើ SQL មួយ​នៅ​ក្នុង​វ៉ិ​ប​សាយ
ដើម្បី​កសាង​វិប​សាយ​មួយ​ដែល​បង្ហាញ​ទិន្នន័យ​ពី​មូលដ្ឋាន​ទិន្នន័យ​មួយ​ដែល​អ្នក​នឹង​ចាំបាច់​:
-កម្មវិធី​មួយ​មូលដ្ឋាន​ទិន្នន័យ RDBMS (ឧ. ថា MS ចូល​ដំណើរ​ការ​, SQL មួយ​ម៉ាស៊ីន​បម្រើ MySQL បាន​)
-ដើម្បី​ប្រើ​ជា​មួយ​ផ្នែក​ខាង​ម៉ាស៊ីន​បម្រើ​ភាសា​ស្គ្រីប​ដូចជា​របស់ PHP ឬ ASP
-ដើម្បី​ប្រើ SQL ដើម្បី​ទទួល​បាន​ទិន្នន័យ​ដែល​អ្នក​ចង់​បាន
-ដើម្បី​ប្រើ​ជា HTML / CSS មាន

មេរៀន SQL Syntax

តារាង​មូលដ្ឋាន​ទិន្នន័យ
មូលដ្ឋាន ​ទិន្នន័យ​ដែល​មាន​ជា​ញឹកញាប់​បំផុត​មាន​មួយ​ឬ​ច្រើន​តុ​។ តារាង​នីមួយ​ត្រូវ​បាន​កំណត់​ដោយ​ឈ្មោះ (“ប្ដូរ​តាម​បំណង​” ឧ. ឬ “ការ​បញ្ជាទិញ​”​) ផង​ដែរ​។ តារាង​មាន​កំណត់ត្រា (ជួរ​ដេក​) ដែល​មាន​ទិន្នន័យ​។ នៅ​ក្នុង​ឯកសារ​បង្រៀន​នេះ​យើង​នឹង​ប្រើ​ល្បី​មូលដ្ឋាន​ទិន្នន័យ​គំរូ​នៃ Northwind (រួម​បញ្ចូល​នៅ​ក្នុង​ថា MS លទ្ធភាព​ទទួល​បាន​និង​ថា MS SQL មួយ​ម៉ាស៊ីន​បម្រើ​) ។ខាងក្រោម​នេះ​ជា​ការ​ជ្រើសរើស​ពី “អតិថិជន​” តារាង​មួយ​គឺ​:

CustomerID

CustomerName

ContactName

Address

City

PostalCode

Country

1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

តារាង​ខាង​លើ​មាន​ចំនួន​ប្រាំ​កំណត់ត្រា (មួយ​សំរាប់​អតិថិជន​គ្នា​) និង​ជួរ​ឈរ​ប្រាំពីរ (CustomerID​, CustomerName​, ContactName​, អាស​​័យ​ដ្ឋាន​, ទីក្រុង​, PostalCode និង​ប្រទេស​) ។
 សេចក្តី​ថ្លែងការណ៍ SQL
ភាគ ​ច្រើន​នៃ​សកម្មភាព​ដែល​អ្នក​ត្រូវ​ការ​ដើម្បី​អនុវត្ត​នៅ​លើ​មូលដ្ឋាន​ ទិន្នន័យ​មួយ​ដែល​ត្រូវ​បាន​ធ្វើ​រួច​ជាមួយ​នឹង​សេចក្តី​ថ្លែងការណ៍ SQL ។
សេចក្តី​ថ្លែងការណ៍ SQL ដែល​បាន​ជ្រើសរើស​ដូច​ខាងក្រោម​កំណត់ត្រា​ទាំងអស់​នៅ​ក្នុង “ប្ដូរ​តាម​បំណង​” តារាង​:
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers;

ខ្លះ​នៃ​ពាក្យ​បញ្ជា SQL មួយ​ដ៏​សំខាន់​បំផុត

-SELECT- extract ពី​មូលដ្ឋាន​ទិន្នន័យ​មួយ​ដែល​មាន​ទិន្នន័យ
-UPDATE – ធ្វើ​ឱ្យ​ទាន់​សម័យ​នៅ​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​ទិន្នន័យ
-DELETE- លុប​ទិន្នន័យ​ពី​មូលដ្ឋាន​ទិន្នន័យ​មួយ
-INSERT INTO – បញ្ចូល​ទិន្នន័យ​ថ្មី​ទៅ​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​មួយ
-CREATE DATABASE- បង្កើត​មូលដ្ឋាន​ទិន្នន័យ​ថ្មី
-ALTER DATABASE – កែប្រែ​មូលដ្ឋាន​ទិន្នន័យ​មួយ
-CREATE TABLE- បង្កើត​តារាង​ថ្មី
-ALTER TABLE – កែប្រែ​តារាងមួយ
-DROP TABLE – លុប​តារាង
-CREATE INDEX – បង្កើត​ INDEX(ចុច​គ្រាប់ចុច​ស្វែងរក​) មួយ
-DROP INDEX – លុប​ INDEX ​មួយ

SQL មួយ​មុខងារ​សរុប
SQL មួយ​មុខងារ​សរុប​ត្រឡប់​មក​វិញ​ជា​មួយ​តម្លៃ​តែ​មួយ​បាន​គណនា​ពី​តម្លៃ​នៅ​ក្នុង​ជួរ​ឈរ​មួយ​។
មុខងារ​សរុប​មាន​ប្រយោជន៍​:

-AVG() – ត្រឡប់​តម្លៃ​មធ្យម
-COUNT() – ត្រឡប់​ចំនួន​នៃ​ជួរដេក
-FIRST() – ត្រឡប់​តម្លៃ​ដំបូង
-LAST() – ត្រឡប់​តម្លៃ​ចុង​ក្រោយ
-MAX() – ត្រឡប់​តម្លៃ​ដែល​ធំ​ជាង​គេ​បំផុត
-MIN() – ត្រឡប់​តម្លៃ​ដែល​តូច​ជាងគេ​បំផុត
-SUM() – ត្រឡប់​ផលបូក
SQL មួយ​មុខងារ Scalar
SQL មួយ​មុខងារ scalar ត្រឡប់​មក​វិញ​ជា​មួយ​តម្លៃ​តែ​មួយ​ដោយ​ផ្អែក​លើ​តម្លៃ​បញ្ចូល​។
មុខងារ scalar ដែល​មាន​ប្រយោជន៍​
-UCASE() – បម្លែង​ ​មួយ​ទៅ​ជា​អក្សរ​ធំ
-LCASE() – បម្លែង​ មួយ​ទៅ​ករណី​ទាប​ជាង
-MID() – ស្រង់​តួ​អក្សរ​ពី​វាល​អត្ថបទ​មួយ
-LEN() – ត្រឡប់​ប្រវែង​នៃ​វាល​អត្ថបទ​មួយ
-ROUND() – ជុំ​ទី​វាល​មួយ​ដែល​ជា​លេខ​គោល​ដប់​ចំនួន​ដែល​បាន​បញ្ជាក់
-NOW() – ត្រឡប់​កាល​បរិច្ឆេទ​ប្រព័ន្ធ​នា​ពេល​បច្ចុប្បន្ន​និង​ពេល​វេលា
-FORMAT() – ធ្វើ​ទ្រង់ទ្រាយ​របៀប​វាល​មួយ​នឹង​ត្រូវ​បាន​បង្ហាញ

សេចក្តី​ថ្លែងការណ៍ SQL SELECT Statement

សេចក្តី​ថ្លែងការណ៍ SELECT statement ដែល​បាន​ជ្រើស​នឹង​ត្រូវ​បាន​ប្រើ​ដើម្បី​ជ្រើស​ទិន្នន័យ​ពី​មូលដ្ឋាន​ទិន្នន័យ database។
SQL SELECT Syntax

SELECT column_name,column_name
FROM table_name
និង
SELECT * FROM table_name

មូលដ្ឋាន​ទិន្នន័យ​សាកល្បង នៅ​ក្នុង​ឯកសារ​បង្រៀន​នេះ​យើង​នឹង​ប្រើ​មូលដ្ឋាន​ទិន្នន័យ។

ខាងក្រោម​នេះ​ជា​ការ​ជ្រើសរើស​ពី “អតិថិជន​” តារាង​មួយ​គឺ​:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22

ឩ​ទា​ហរ​ណ៍​ជួរ​ឈរ​ដែល​បាន​ជ្រើស
បាន​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​ជ្រើស “CustomerName​” និង​ជួរ​ឈរ “City​” ពី “Customers​” តារាង​:
ឧ​ទា​ហរ​ណ៏
SELECT CustomerName,City FROM Customers;
ឧ​ទា​ហរ​ណ៏​ដែល​បាន​ជ្រើស  *

ការ stament SQL មួយ​ដូច​ខាង​ក្រោម​ជួរ​ឈរ​ជ្រើស​ទាំងអស់​ពី “Customers​” តារាង​:
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers;
សេចក្តី​ថ្លែងការណ៍ SQL SELECT DISTINCT Statement

សេចក្តី​ថ្លែងការណ៍ SELECT DISTINCT statement នៅ​ក្នុង​តារាង​មួយ​ជួរ​ឈរ​មួយ​អាច​មាន​តម្លៃ​ស្ទួន​ជា​ច្រើន​និង​ពេល​ខ្លះ​អ្នក​គ្រាន់​តែ​ចង់​រាយ​តម្លៃ (ខុស​) ដែល​ផ្សេង​គ្នា​។

SQL SELECT DISTINCT Syntax

SELECT DISTINCT column_name,column_name
FROM table_name

ខាងក្រោម​នេះ​ជា​ការ​ជ្រើសរើស​ពី “អតិថិជន​” តារាង​មួយ​គឺ​:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

សេចក្តី​ថ្លែងការណ៍ SQL ដែល​បាន​ជ្រើសរើស​ប៉ុណ្ណោះ​ដូច​ខាង​ក្រោម​តម្លៃ​ខុស​គ្នា​ពី​ជួរ​ឈរ “City​” ពី “Customers​” តារាង​:
ឧ​ទា​ហរ​ណ៏
SELECT DISTINCT City FROM Customers;
SQL WHERE Clause

WHERE clause កន្លែងណា​ដែល​ត្រូវ​បាន​ប្រើ​ដើម្បី​ត្រង​កំណត់ត្រា​។
The SQL WHERE Clause

The WHERE clause ​ត្រូវ​បាន​ប្រើ​ដើម្បី​ស្រង់​ចេញ​កំណត់ត្រា​ទាំងនោះ​តែ​មួយ​គត់​ដែល​បំពេញ​តាម​លក្ខណៈ​វិនិច្ឆ័យ​ដែល​បាន​បញ្ជាក់​មួយ​។

SQL WHERE Syntax
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value
ប្រមាណវិធី SQL AND & OR Operators
ប្រមាណវិធី AND & OR operators ត្រូវ​បាន​ប្រើ​ដើម្បី​ត្រង​កំណត់ត្រា​ដោយ​ផ្អែក​លើ​លក្ខខណ្ឌ​ច្រើន​ជាង​មួយ​។

ខាងក្រោម​នេះ​ជា​ការ​ជ្រើសរើស​ពី “អតិថិជន​” តារាង​មួយ​គឺ​:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

សេចក្តី​ថ្លែងការណ៍ SQL ដែល​បាន​ជ្រើសរើស​ដូច​ខាងក្រោម​អតិថិជន​ទាំងអស់​ពី​ប្រទេស “Germany​” និង​ទីក្រុង “Berlin​” នៅ​ក្នុង “ប្ដូរ​តាម​បំណង​” តារាង​:
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers
WHERE Country=’Germany’
AND City=’Berlin’;
សេចក្តី​ថ្លែងការណ៍ SQL ដែល​បាន​ជ្រើសរើស​ដូច​ខាងក្រោម​អតិថិជន​ទាំងអស់​ពី​ទីក្រុង “Berlin” ឬ “München​” នៅ​ក្នុង “ប្ដូរ​តាម​បំណង​” តារាង​:
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers
WHERE City=’Berlin’
OR City=’München’;
សេចក្តី​ថ្លែងការណ៍ SQL ដែល​បាន​ជ្រើសរើស​ដូច​ខាងក្រោម​អតិថិជន​ទាំងអស់​ពី​ប្រទេស “Germany​” និង​ទីក្រុង​ត្រូវ​តែ​ស្មើ​នឹង​ទៅ​ជា “Berlin​” ឬ “München​” នៅ​ក្នុង “ប្ដូរ​តាម​បំណង​” តារាង​:

Example
SELECT * FROM Customers
WHERE Country=’Germany’
AND (City=’Berlin’ OR City=’München’);ឭ
ពាក្សគន្លឹះ SQL ORDER BY Keyword

ពាក្សគន្លឹះ ORDER BY keyword ​គឺ​ត្រូវ​បាន​ប្រើ​ដើម្បី​តម្រៀប​លទ្ធផល​ដែល​បាន​កំណត់​។
ត​ម្រៀ​ម​តាម​ប្រភេទ​ពាក្យ​គន្លឹះ​កំណត់ត្រា​នៅ​ក្នុង​លំដាប់​ឡើង​តាម​លំនាំដើម​។ ដើម្បី​តម្រៀប​កំណត់ត្រា​ក្នុង​លំដាប់​ចុះ​ចត​មួយ​អ្នក​អាច​ប្រើ​ពាក្យ​គន្លឹះ desc ។

SQL ORDER BY Syntax

SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC

ខាងក្រោម​នេះ​ជា​ការ​ជ្រើសរើស​ពី “អតិថិជន​” តារាង​មួយ​គឺ​:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

ឧ​ទា​ហរ​ណ៏​
ការ stament SQL មួយ​ដូច​ខាង​ក្រោម​ជ្រើសរើស​អតិថិជន​ទាំងអស់​ពី “ប្ដូរ​តាម​បំណង​” តារាង​តម្រៀប​ដោយ “ប្រទេស​” ជួរឈរ​:
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers
ORDER BY Country;

ឧ​ទា​ហរ​ណ៏​តាម  desc
ការ stament SQL មួយ​ដូច​ខាង​ក្រោម​ជ្រើសរើស​អតិថិជន​ទាំងអស់​ពី “ប្ដូរ​តាម​បំណង​” តារាង​តម្រៀប​ចុះ​ចត​ដោយ “ប្រទេស​” ជួរឈរ​:
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers
ORDER BY Country DESC

ឧ​ទា​ហរ​ណ៏​តាមលំដាប់​ជួរឈរ​ជា​ច្រើន

ការ stament SQL មួយ​ដូច​ខាង​ក្រោម​ជ្រើសរើស​អតិថិជន​ទាំងអស់​ពី “ប្ដូរ​តាម​បំណង​” តារាង​តម្រៀប​ដោយ “ប្រទេស​” និង​ជួរ​ឈរ “CustomerName​”​:
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers
ORDER BY Country,CustomerName
សេចក្តី​ថ្លែងការណ៍ SQL INSERT INTO Statement

សេចក្តី​ថ្លែងការណ៍ INSERT INTO statement ​គឺ​ត្រូវ​បាន​ប្រើ​ដើម្បី​បញ្ចូល​កំណត់ត្រា​ថ្មី​នៅ​ក្នុង​តារាង​។
បញ្ចូល​ទៅ​ក្នុង​សេចក្តី​ថ្លែងការណ៍ SQL
បញ្ចូល​ទៅ​ក្នុង​សេចក្តី​ថ្លែង​ការណ៍​នេះ​គឺ​ត្រូវ​បាន​ប្រើ​ដើម្បី​បញ្ចូល​កំណត់ត្រា​ថ្មី​នៅ​ក្នុង​តារាង​។

SQL INSERT INTO Syntax

​លើក​ដំបូង​មិន​បញ្ជាក់​ឈ្មោះ​ជួរ​ឈរ​ដែល​ជា​កន្លែង​ដែល​ទិន្នន័យ​នឹង​ត្រូវ​បាន​បញ្ចូល​តែ​តម្លៃ​របស់​ពួក​គេ​:
INSERT INTO table_name
VALUES (value1,value2,value3,…)

ទម្រង់​ទី​ពីរ​បញ្ជាក់​ទាំង​ឈ្មោះ​ជួរ​ឈរ​និង​តម្លៃ​ដែល​ត្រូវ​បាន​បញ្ចូល​:

INSERT INTO table_name (column1,column2,column3,…)
VALUES (value1,value2,value3,…)

ខាងក្រោម​នេះ​ជា​ការ​ជ្រើសរើស​ពី “អតិថិជន​” តារាង​មួយ​គឺ​:

CustomerID CustomerName ContactName Address City PostalCode Country
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
89 White Clover Markets Karl Jablonski 305 – 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland

ឧ​ទា​ហរ​ណ៏
ឥឡូវ​នេះ​យើង​ចង់​បញ្ចូល​ជួរ​ដេក​ថ្មី​នៅ​ក្នុង “ប្ដូរ​តាម​បំណង​” តារាង​។
យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:
INSERT INTO Customers
VALUES (‘Cardinal’,’Tom B. Erichsen’,’Skagen 21′,’Stavanger’,’4006′,’Norway’)

ការ​ជ្រើស​រើស​ពី “អតិថិជន​” តារាង​ឥឡូវ​នេះ​នឹង​មើល​ទៅ​ដូច​នេះ​:

CustomerID CustomerName ContactName Address City PostalCode Country
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
89 White Clover Markets Karl Jablonski 305 – 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal Tom B. Erichsen Skagen 21 Stavanger 4006 Norway

បញ្ចូល​ទិន្នន័យ​​ក្នុង​ជួរ​ឈរ
បាន​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​នេះ​នឹង​បន្ថែម​មួយ​ជួរ​ដេក​ថ្មី​, ប៉ុន្តែ​បាន​តែ​បន្ថែម​ទិន្នន័យ​នៅ​ក្នុង “CustomerID​”​, “CustomerName​”​, “ទីក្រុង​” ហើយ​ជួរ​ឈរ “ប្រទេស​”​:
INSERT INTO Customers (CustomerID, CustomerName, City, Country)
VALUES (‘Cardinal’, ‘Stavanger’, ‘Norway’)

ការ​ជ្រើស​រើស​ពី “អតិថិជន​” តារាង​ឥឡូវ​នេះ​នឹង​មើល​ទៅ​ដូច​នេះ​:

CustomerID CustomerName ContactName Address City PostalCode Country
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
89 White Clover Markets Karl Jablonski 305 – 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal Stavanger Norway

សេចក្តី​ថ្លែងការណ៍ SQL UPDATE Statement

សេចក្តី​ថ្លែងការណ៍ UPDATE statement ​គឺ​ត្រូវ​បាន​ប្រើ​ដើម្បី​ធ្វើ​ឱ្យ​ទាន់សម័យ​កំណត់ត្រា​នៅ​ក្នុង​តារាង​មួយ​។
UPDATE statement គឺ​ត្រូវ​បាន​ប្រើ​ដើម្បី​ធ្វើ​ឱ្យ​ទាន់សម័យ​កំណត់ត្រា​ដែល​មាន​ស្រាប់​នៅ​ក្នុង​តារាង​មួយ​។
SQL UPDATE Syntax

UPDATE table_name
SET column1=value, column2=value2,…
WHERE some_column=some_value

ខាងក្រោម​នេះ​ជា​ការ​ជ្រើសរើស​ពី “អតិថិជន​” តារាង​មួយ​គឺ​:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

ឩ​ទា​ហរ​ណ៍

ឥឡូវ​នេះ​យើង​ចង់​ធ្វើ​ឱ្យ​ទាន់សម័យ​របស់​អតិថិជន “Alfred Futterkiste​” នៅ​ក្នុង “ប្ដូរ​តាម​បំណង​” តារាង​។

យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

UPDATE Customers
SET ContactName=’Alfred Schmidt’, City=’Hamburg’
WHERE CustomerName=’Alfreds Futterkiste’ AND Country=’Germany’
តារាង​ឥឡូវ​នេះ​នឹង​មើល​ទៅ​ដូច​នេះ​:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Hamburg 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

ត្រូវ​ប្រយ័ត្ន​នៅពេល​ធ្វើ​ឱ្យ​ទាន់​សម័យ​កំណត់ត្រា​។ ប្រសិន​បើ​យើង​បាន​លុប​ចោល​ឃ្លា​ដែល​កន្លែងណា​ដែល​នៅ​ក្នុង​ឧទាហរណ៍​ខាង​លើ​ដូច​នេះ​:

UPDATE Customers
SET ContactName=’Alfred Schmidt’, City=’Hamburg’

ការ “ប្ដូរ​តាម​បំណង​” តារាង​នឹង​បាន​មើល​ដូច​នេះ​:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Hamburg 12209 Germany
2 Ana Trujillo Emparedados y helados Alfred Schmidt Avda. de la Constitución 2222 Hamburg 05021 Mexico
3 Antonio Moreno Taquería Alfred Schmidt Mataderos 2312 Hamburg 05023 Mexico
4 Around the Horn Alfred Schmidt 120 Hanover Sq. Hamburg WA1 1DP UK
5 Berglunds snabbköp Alfred Schmidt Berguvsvägen 8 Hamburg S-958 22 Swede
សេចក្តី​ថ្លែងការណ៍ SQL DELETE Statementសេចក្តី​ថ្លែងការណ៍ DELETE statement ​ប្រើ​ដើម្បី​លុប​កំណត់ត្រា​នៅ​ក្នុង​តារាង​មួយ​។
សេចក្តី​ថ្លែងការណ៍​នេះ​បាន​លុប​ត្រូវ​បាន​ប្រើ​ដើម្បី​លុប​ជួរ​ដេក​នៅ​ក្នុង​តារាង​មួយ​។
SQL DELETE Syntax

DELETE FROM table_name
WHERE some_column=some_value

ខាងក្រោម​នេះ​ជា​ការ​ជ្រើសរើស​ពី “អតិថិជន​” តារាង​មួយ​គឺ​:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden
ឧ​ទា​ហរ​ណ៏
ឥឡូវ​នេះ​យើង​ចង់​លុប​ក្រុម​ហ៊ុន “Alfred Futterkiste​” នៅ​ក្នុង “ប្ដូរ​តាម​បំណង​” តារាង​។យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:
DELETE FROM Customers
WHERE CustomerName=’Alfreds Futterkiste’ AND ContactName=’Maria Anders’

តារាង​ឥឡូវ​នេះ​នឹង​មើល​ទៅ​ដូច​នេះ​:

CustomerID CustomerName ContactName Address City PostalCode Country
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden
លុប​ជួរ​ដេក​ទាំងអស់វា​គឺ​ជា​ការ​ដែល​អាច​ធ្វើ​បាន​ដើម្បី​លុប​ជួរ​ដេក​ទាំងអស់​ក្នុង​តារាង​មួយ​ដោយ​គ្មាន​ការ​លុប​តារាង​។
DELETE FROM table_name

or

DELETE * FROM table_name


មេរៀន SQLកម្រិត​ខ្ពស់

SQL TOP Clause
TOP Clause ត្រូវ​បាន​ប្រើ​ដើម្បី​បញ្ជាក់​ចំនួន​នៃ​ការ​កត់ត្រា​ដើម្បី​ត្រឡប់​មក​វិញ​។ អាច​ជា​មាន​ប្រយោជន៍​ខ្លាំង​ណាស់​នៅ​លើ​តុ​ធំ​ជាមួយ​នឹង​កំណត់​ត្រា​នៃ​ការ​រាប់​ពាន់​នាក់​។ ត្រឡប់​មក​មួយ​ចំនួន​ធំ​នៃ​ការ​កត់ត្រា​អាច​ប៉ះ​ពាល់​ដល់​លើ​ការ​អនុវត្ត​។
QL Server Syntax
SELECT TOP number|percent column_name(s)
FROM table_name
SQL SELECT TOP ​ស្មើការប្រើ MySQL និង Oracle
MySQL Syntax

SELECT column_name(s)
FROM table_name
LIMIT number

ឧ​ទា​ហរ​ណ៏
SELECT *
FROM Persons
LIMIT 5
Oracle Syntax
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number

ឧ​ទា​ហរ​ណ៏
SELECT *
FROM Persons
WHERE ROWNUM <=5
មូលដ្ឋាន​ទិន្នន័យ​សាកល្បង
ខាងក្រោម​នេះ​ជា​ការ​ជ្រើសរើស​ពី “អតិថិជន​” តារាង​មួយ​គឺ​:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

stament SQL មួយ​ដូច​ខាង​ក្រោម​នេះ​ជ្រើសរើស​តែ​ពីរ​កំណត់ត្រា​លើក​ដំបូង​នៅ​ក្នុង “ប្ដូរ​តាម​បំណង​” តារាង​:
ឧ​ទា​ហរ​ណ៏
SELECT TOP 2 * FROM Customers;
stament SQL មួយ​ដូច​ខាង​ក្រោម​ជ្រើសរើស​កំពូល 50​% នៃ​ការ​ការ​កត់ត្រា​ក្នុង “ប្ដូរ​តាម​បំណង​” តារាង​:
ឧ​ទា​ហរ​ណ៏
SELECT TOP 50 PERCENT * FROM Customers;

SQL LIKE Operator

LIKE operator ប្រតិបត្តិការ​ដូច​ត្រូវ​បាន​ប្រើ​ដើម្បី​ស្វែងរក​សម្រាប់​លំនាំ​ដែល​បាន​បញ្ជាក់​នៅ​ក្នុង​ជួរ​ឈរ​មួយ​។
SQL LIKE Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

មូលដ្ឋាន​ទិន្នន័យ​សាកល្បង

នៅ​ក្នុង​ឯកសារ​បង្រៀន​នេះ​យើង​នឹង​ប្រើ​មូលដ្ឋាន​ទិន្នន័យ​ល្បី​សំណាក​គំរូ Northwind ។

ខាងក្រោម​នេះ​ជា​ការ​ជ្រើសរើស​ពី “អតិថិជន​” តារាង​មួយ​គឺ​:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

សេចក្តី​ថ្លែងការណ៍ SQL ដែល​បាន​ជ្រើសរើស​ដូច​ខាងក្រោម​អតិថិជន​នៅ​ក្នុង​ទី​ក្រុង​ចាប់​ផ្តើ​ម​ជា​មួយ​នឹង msgstr “” ពី “ប្ដូរ​តាម​បំណង​” តារាង​:
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers
WHERE City LIKE ‘s%’;
សេចក្តី​ថ្លែងការណ៍ SQL ដែល​បាន​ជ្រើសរើស​ដូច​ខាងក្រោម​អតិថិជន​នៅ​ក្នុង​ទីក្រុង​មួយ​ដែល​បញ្ចប់​ដោយ  “s” បាន​” ពី “ប្ដូរ​តាម​បំណង​” តារាង​មួយ​:
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers
WHERE City LIKE ‘%s’;

សេចក្តី​ថ្លែងការណ៍ SQL ដែល​បាន​ជ្រើសរើស​ដូច​ខាងក្រោម​អតិថិជន​នៅ​ក្នុង​ប្រទេស​ដែល​មាន​លំនាំ “den” ពី “ប្ដូរ​តាម​បំណង​” តារាង​មួយ​:
ឧ​ទា​ហរ​ណ៏
SELECT * FROM Customers
WHERE Country LIKE ‘%den%’;

សេចក្តី​ថ្លែងការណ៍ SQL ដែល​បាន​ជ្រើសរើស​ដូច​ខាងក្រោម​អតិថិជន​នៅ​ក្នុង​ប្រទេស​មិន​ដែល​មាន​លំនាំ “den” ពី “ប្ដូរ​តាម​បំណង​” តារាង​មួយ​:

ឧ​ទា​ហរ​ណ៏

SELECT * FROM Customers
WHERE Country NOT LIKE ‘%den%’;

SQL Wildcards
SQL wildcards SQL មួយ​សម្រាប់​តួ​អក្សរ​មួយ​ឬ​ច្រើន​នៅ​ពេល​ស្វែង​រក​ទិន្នន័យ​នៅ​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​។

Wildcard Description
% A substitute for zero or more characters
_ A substitute for exactly one character
[charlist] Any single character in charlist
[^charlist]or

[!charlist]

Any single character not in charlist

យើង​មាន​ដូច​ខាង​ក្រោម “មនុស្ស​” តារាង​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

ការ​ប្រើ​តួអក្សរ​ជំនួស ​%
ឥឡូវ​នេះ​យើង​ចង់​ជ្រើស​មនុស្ស​ដែល​រស់នៅ​ក្នុង​ទីក្រុង​ដែល​ចាប់ផ្តើម​ជាមួយ “SA​” ពី “មនុស្ស​” តារាង​មួយ​។
យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:
SELECT * FROM Persons
WHERE City LIKE ‘sa%’

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

បន្ទាប់​មក​ទៀត​យើង​ចង់​ជ្រើស​រើស​មនុស្ស​ដែល​រស់នៅ​ក្នុង​ទីក្រុង​ដែល​មាន​លំនាំ “​មុខរបរ​” ពី “ផ្ទាល់​ខ្លួន​” តារាង​។យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT * FROM Persons
WHERE City LIKE ‘%nes%’

 

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

 

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

 

ដោយ​ប្រើ​តួ​អក្សរ​ជំនួស ​,

ឥឡូវ​នេះ​យើង​ចង់​ជ្រើស​រើស​មនុស្ស​ដែល​មាន​ឈ្មោះ​ដំបូង​ដែល​ចាប់​ផ្តើ​ម​ជាមួយ​នឹង​តួអក្សរ​ណា​មួយ​អម​ដោយ “La​” ពី “មនុស្ស​” តារាង​។ យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:
SELECT * FROM Persons
WHERE FirstName LIKE ‘_la’
លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT * FROM Persons
WHERE LastName LIKE ‘S_end_on’

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

P_Id LastName FirstName Address City
2 Svendson Tove Borgvn 23 Sandnes

ដោយ​ប្រើ​តួ​អក្សរ​ជំនួស [charlist​]

ឥឡូវ​នេះ​យើង​ចង់​ជ្រើស​រើស​មនុស្ស​ដែល​មាន​ឈ្មោះ​ចុង​ក្រោយ​ដែល​ចាប់​ផ្តើ​ម​ជាមួយ​នឹង​ជា “b​” ឬ “s ‘” ឬ “P​” ពី “មនុស្ស​” តារាង​។ យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT * FROM Persons
WHERE LastName LIKE ‘[bsp]%’

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

P_Id LastName FirstName Address City
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

បន្ទាប់​មក​ទៀត​យើង​ចង់​ជ្រើស​រើស​មនុស្ស​ដែល​មាន​ឈ្មោះ​ចុង ​ក្រោយ​មួយ​ដែល​មិន​បាន​ចាប់​ផ្តើ​ម​ជាមួយ​នឹង​ជា “b​” ឬ “s ‘” ឬ “P​” ពី “មនុស្ស​” តារាង​។ យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT * FROM Persons
WHERE LastName LIKE ‘[!bsp]%’

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes

ប្រមាណវិធី SQL IN Operator

ប្រមាណវិធី អនុញ្ញាត​ឱ្យ​អ្នក​បញ្ជាក់​ពី​តម្លៃ​ជា​ច្រើន​ក្នុង​មួយ​ឃ្លា​ដែល​កន្លង​។
SQL IN Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,…)

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

ឥឡូវ​នេះ​យើង​ចង់​ជ្រើស​រើស​មនុស្ស​ដែល​មាន​ឈ្មោះ​ចុង​ក្រោយ​មួយ​ដែល​ស្មើ​នឹង “Hansen​” ឬ “Pettersen​” ពី​តារាង​ខាង​លើ​។យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:
SELECT * FROM Persons
WHERE LastName IN (‘Hansen’,’Pettersen’)

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

ប្រមាណវិធី SQL BETWEEN Operator

ប្រមាណវិធី BETWEEN operator ត្រូវ​បាន​ប្រើ​នៅ​ក្នុង​មួយ​ឃ្លា​ដែល​កន្លែង​ដែល​ត្រូវ​ជ្រើស​ជួរ​ទិន្នន័យ​រវាង​ពីរ​តម្លៃ​មួយ​។
ប្រមាណវិធី BETWEEN operator ជ្រើស​ជួរ​ទិន្នន័យ​រវាង​ពីរ​តម្លៃ​មួយ​។ តម្លៃ​វា​អាច​ជា​លេខ​អត្ថបទ​ឬ​កាល​បរិច្ឆេទ​។
SQL BETWEEN Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

ឥឡូវ​នេះ​យើង​ចង់​ជ្រើស​រើស​មនុស្ស​ដែល​មាន​ឈ្មោះ​ចុង​ក្រោយ ​តាម​លំដាប់​តួអក្សរ​មួយ​រវាង “Hansen​” និង “Pettersen​” ពី​តារាង​ខាង​លើ​។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT * FROM Persons
WHERE LastName
BETWEEN ‘Hansen’ AND ‘Pettersen’

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes

ចំណាំ​: រវាង​ប្រតិបត្តិ​ករ​ត្រូវ​បាន​គោរព​តាម​ភាព​ខុសគ្នា​នៅ​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​ផ្សេង​គ្នា​!

ឧ​ទា​ហរ​ណ៏ 2

ដើម្បី​បង្ហាញ​មនុស្ស​ដែល​នៅ​ខាង​ក្រៅ​ជួរ​នៅ​ក្នុង​ឧទាហរណ៍​មុន​ប្រើ​មិន​រវាង​:

SELECT * FROM Persons
WHERE LastName
NOT BETWEEN ‘Hansen’ AND ‘Pettersen’

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

P_Id LastName FirstName Address City
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

SQL Alias

អ្នក​អាច​ផ្ដល់​នូវ​តារាង​មួយ​ឬ​ជួរឈរ​ឈ្មោះ​មួយ​ផ្សេង​ទៀត​ដោយ​ប្រើ​ឈ្មោះ​ក្លែងក្លាយ​​​មួយ​។ នេះ​អាច​ជា​រឿង​មួយ​ដ៏​ល្អ​ដើម្បី​ធ្វើ​ប្រសិន​បើ​អ្នក​មាន​ឈ្មោះ​តារាង​ណាស់​វែង​ឬ​ស្មុគស្មាញ​ឬ​ឈ្មោះ​ជួរ​ឈរ​។
ជា​ឈ្មោះ​ឈ្មោះ​ក្លែងក្លាយ​​​អាច​ជា​អ្វី​នោះ​ទេ​ប៉ុន្តែ​ជា​ធម្មតា​វា​មាន​រយៈពេល​ខ្លី​។
SQL Alias Syntax for Tables

SELECT column_name(s)
FROM table_name
AS alias_name

SQL Alias Syntax ​​​ជួរ​ឈរ
SELECT column_name AS alias_name
FROM table_name

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT po.OrderID, p.LastName, p.FirstName
FROM Persons AS p,
Product_Orders AS po
WHERE p.LastName=’Hansen’ AND p.FirstName=’Ola’

សេចក្តី​ថ្លែងការណ៍​ដែល​បាន​ជ្រើស​ដូចគ្នា​ដោយ​មិន​ចាំបាច់​ឈ្មោះ​ក្លែងក្លាយ​​​:

SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName
FROM Persons,
Product_Orders
WHERE Persons.LastName=’Hansen’ AND Persons.FirstName=’Ola’
SQL Joins
ត្រូវ​បាន​ប្រើ​ដើម្បី​ទិន្នន័យ​សំណួរ​ពី​ពីរ​ឬ​ច្រើន​ជាង​នេះ​ក្នុង​តារាង​ដោយ​ផ្អែក​លើ​ទំនាក់​ទំនង​រវាង​ជួរឈរ​ជាក់លាក់​នៅ​ក្នុង​តារាង​នេះ​។ ពាក្យ​គន្លឹះ​គឺ​ត្រូវ​បាន​ប្រើ​នៅ​ក្នុង​សេចក្តី​ថ្លែងការណ៍ SQL ដើម្បី​ទិន្នន័យ​សំណួរ​ពី​ពីរ​ឬ​ច្រើន​ជាង​នេះ​ក្នុង​តារាង​ដោយ​ផ្អែក​លើ​ទំនាក់​ទំនង​រវាង​ជួរឈរ​ជាក់លាក់​នៅ​ក្នុង​តារាង​នេះ​តារាង​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​មួយ​ដែល​ត្រូវ​បាន​ទាក់ទង​នឹង​ទៅ​ជា​ញឹកញាប់​គ្នា​ជា​មួយ​គ្រាប់ចុច​។ជា​កូនសោ​សំខាន់​គឺ​ជួរ​ឈរ​មួយ (ឬ​ការ​បញ្ចូល​គ្នា​នៃ​ជួរ​ឈរ​មួយ​) ដែល​មាន​តម្លៃ​តែ​មួយ​គត់​សម្រាប់​ជួរ​នីមួយ​។ រាល់​តម្លៃ​កូន​សោ​សំខាន់​ត្រូវ​តែ​មាន​តែ​មួយ​គត់​នៅ​ក្នុង​តារាង​។ គោលបំណង​គឺ​ដើម្បី​ចង​ទិន្នន័យ​រួម​គ្នា​នៅ​ទូទាំង​តុ​ដោយ​មិន​ធ្វើ​ដដែល​ទាំងអស់​នៃ​ទិន្នន័យ​ក្នុង​តារាង​រាល់​។
មើល​នៅ “មនុស្ស​” តារាង​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

ចំណាំ​ថា​ជួរឈរ “P_Id​” គឺ​ជា​កូនសោ​ចម្បង​នៅ​ក្នុង “មនុស្ស​” តារាង​។ នេះ​មាន​ន័យ​ថា គ្មាន ពីរ​ជួរ​ដេក​ដែល​អាច​មាន P_Id ដូចគ្នា​។ P_Id បាន​ស្គាល់​មនុស្ស​ពីរ​នាក់​សូម្បី​តែ​ប្រសិន​បើ​ពួក​គេ​មាន​ឈ្មោះ​ដូច​គ្នា​។ បន្ទាប់​មក​ទៀត​យើង​មាន “ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15

SQL INNER JOIN Keyword

ពាក្យគន្លឹះ​ខាងក្នុង​ត្រឡប់​ចូល​រួម​ក្នុង​ជួរ​ដេក​នៅ​ពេល​ដែល​មាន​យ៉ាង​ហោច​ណាស់​ក៏​មួយ​ប្រកួត​ក្នុង​តារាង​ទាំង​ពីរ​។
SQL INNER JOIN Syntax
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

“ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15

ឥឡូវ​នេះ​យើង​ចង់​រាយ​មនុស្ស​ទាំង​អស់​ជាមួយ​នឹង​ការ​បញ្ជា​ណា​មួយ​។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678

SQL LEFT JOIN Keyword

ពាក្យគន្លឹះ​ខាង​ឆ្វេង​ត្រឡប់​ចូល​រួម​ក្នុង​ជួរ​ដេក​ទាំងអស់​ពី​តារាង​ខាង​ឆ្វេង (table_name1​) ប្រសិន​បើ​ទោះ​បី​ជា​មាន​ការ​ប្រកួត​គ្មាន​នៅ​ក្នុង​តារាង​ខាង​ស្ដាំ (table_name2​) ។
SQL LEFT JOIN Syntax
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

“ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15

ឥឡូវ​នេះ​យើង​ចង់​រាយ​មនុស្ស​ទាំងអស់​និង​ការ​បញ្ជា​ទិញ​របស់​ពួក​គេ – ប្រសិន​បើ​ណា​មួយ​ពី​តារាង​ខាង​លើ​។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
Svendson Tove

SQL RIGHT JOIN Keyword

ពាក្យគន្លឹះ​ចូល​រួម​ក្នុង​សិ​ទិ​ត្រឡប់​ជួរ​ដេក​ទាំងអស់​ពី​តារាង​ខាង​ស្ដាំ (table_name2​) ប្រសិន​បើ​ទោះ​បី​ជា​មាន​ការ​ប្រកួត​គ្មាន​នៅ​ក្នុង​តារាង​ខាង​ឆ្វេង (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
PS​: នៅ​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​មួយ​ចំនួន​ដែល​ចូល​រួម​ក្នុង​សិ​ទិ​ត្រូវ​បាន​ហៅ​ថា​សិ​ទិ Outer ចូលរួម​។

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

“ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15

ឥឡូវ​នេះ​យើង​ចង់​រាយ​ការ​បញ្ជា​ទិញ​ទាំង​អស់​ដោយ​បុគ្គល​ណា​ដែល​មាន​ផ្ទុក – ប្រសិន​បើ​ណា​មួយ​ពី​តារាង​ខាង​លើ​។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
34764

SQL FULL JOIN Keyword

FULL JOIN keyword ​ជួរ​ដេក​ត្រឡប់​មក​វិញ​នៅ​ពេល​ដែល​មាន​ពាក្យ​គន្លឹះ​គឺ​ជា​ការ​ប្រកួត​ក្នុង​មួយ​នៃ​តារាង​។
SQL FULL JOIN Syntax
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name

ថា “មនុស្ស​” តារាង​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

“ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15

ឥឡូវ​នេះ​យើង​ចង់​រាយ​មនុស្ស​ទាំងអស់​និង​ការ​បញ្ជា​ទិញ​របស់​ពួក​គេ​និង​ការ​បញ្ជា​ទិញ​ទាំង​អស់​នោះ​ជាមួយ​នឹង​មនុស្ស​របស់​ពួក​គេ​។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
Svendson Tove
34764

ប្រមាណវិធី SQL UNION Operator

ប្រមាណវិធី SQL UNION operator ត្រូវ​បាន​ប្រើ​ដើម្បី​បញ្ចូល​គ្នា​នូវ​លទ្ធផល​សំណុំ​នៃ​ចំនួន​ពីរ​ឬ​ច្រើន​ជាង​នេះ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​។

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

SQL UNION ALL Syntax

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

រក​មើល​នៅ​ក្នុង​តារាង​ខាង​ក្រោម​:

“Employees_Norway​” :

E_ID E_Name
01 Hansen, Ola
02 Svendson, Tove
03 Svendson, Stephen
04 Pettersen, Kari

“Employees_USA​” :

E_ID E_Name
01 Turner, Sally
02 Kent, Clark
03 Svendson, Stephen
04 Scott, Stephen

ឥឡូវ​នេះ​យើង​ចង់​រាយ ទាំង​អស់​ផ្សេង​គ្នា និយោជិត​នៅ​ក្នុង​ប្រទេស​ន័រវែស​និង​សហរដ្ឋ​អាមេរិក​។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT E_Name FROM Employees_Norway
UNION
SELECT E_Name FROM Employees_USA

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Scott, Stephen

ឥឡូវ​នេះ​យើង​ចង់​រាយ ទាំងអស់ និយោជិត​នៅ​ក្នុង​ប្រទេស​ន័រវែស​និង​សហរដ្ឋ​អាម​រិ​ក​:

SELECT E_Name FROM Employees_Norway
UNION ALL
SELECT E_Name FROM Employees_USA

ល​ទ​ធ​ផល

E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen

ការប្រកាស SQL SELECT INTO Statement

ការប្រកាស SQL SELECT INTO statement សេចក្តី​ថ្លែងការណ៍ SQL មួយ​ដែល​បាន​ជ្រើស​អាច​ត្រូវ​បាន​ប្រើ​ដើម្បី​បង្កើត​ច្បាប់​ចម្លង​បម្រុង​ទុក​នៃ​តារាង​។
ចូល​ទៅ​ក្នុង​សេចក្តី​ថ្លែងការណ៍​ដែល​បាន​ជ្រើស​ជ្រើស​ទិន្នន័យ​ពី​តារាង​មួយ​ហើយ​បញ្ចូល​វា​ទៅ​ក្នុង​តារាង​ខុស​គ្នា​។
ចូល​ទៅ​ក្នុង​សេចក្តី​ថ្លែងការណ៍​ដែល​បាន​ជ្រើស​នឹង​ត្រូវ​បាន​ប្រើ​ជា​ញឹកញាប់​បំផុត​ដើម្បី​បង្កើត​ច្បាប់​ចម្លង​បម្រុង​ទុក​នៃ​តារាង​។

SQL SELECT INTO Syntax

We can select all columns into the new table:
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename

Or we can select only the columns we want into the new table:

SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename
បង្កើតទិន្នន័យ SQL CREATE DATABASE Statement

សេចក្តី​ថ្លែងការណ៍​ នេះ​បាន​បង្កើត​មូលដ្ឋាន​ទិន្នន័យ
សេចក្តី​ថ្លែងការណ៍​នេះ​បាន​បង្កើត​មូលដ្ឋាន​ទិន្នន័យ​ត្រូវ​បាន​ប្រើ​ដើម្បី​បង្កើត​ឃ្លាំង​ទិន្នន័យ​មួយ​។

SQL CREATE DATABASE Syntax

CREATE DATABASE database_name

បង្កើត​មូលដ្ឋាន​ទិន្នន័យ
ឥឡូវ​នេះ​យើង​ចង់​បង្កើត​មូលដ្ឋាន​ទិន្នន័យ​ដែល​គេ​ហៅ​ថា “m​​y_db​” ​។
យើង​ប្រើ​បាន​បង្កើត​សេចក្តី​ថ្លែង​ការណ៍​ដូច​ខាង​ក្រោម​មូលដ្ឋាន​ទិន្នន័យ​:

CREATE DATABASE my_db

សេចក្តី​ថ្លែងការណ៍​​បង្កើត​តារាង SQL CREATE TABLE Statement

សេចក្តី​ថ្លែងការណ៍​​បង្កើត​តារាង CREATE TABLE Statement
សេចក្តី​ថ្លែងការណ៍​តារាង​បង្កើត​ត្រូវ​បាន​ប្រើ​ដើម្បី​បង្កើត​តារាង​ក្នុង​មូលដ្ឋាន​ទិន្នន័យ​មួយ​។

SQL CREATE TABLE Syntax
CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
….
)
ឩ​ទា​ហរ​ណ៍​តារាង
ឥឡូវ​នេះ​យើង​ចង់​បង្កើត​តារាង​មួយ​ដែល​គេ​ហៅ​ថា “Persons​” ដែល​មាន​រយៈ​ពេល​ប្រាំ​ជួរឈរ​: P_Id​, LastName​, អាស​​័យ​ដ្ឋាន​, FirstName​, និង​ទីក្រុង​។

យើង​ប្រើ​បាន​បង្កើត​សេចក្តី​ថ្លែង​ការណ៍​ដូច​ខាង​ក្រោម​តារាង​:
CREATE TABLE Persons
(
P_Id int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

តារាង​ឥឡូវ​នេះ​នឹង​មើល​ទៅ​ដូច​នេះ​:

P_Id LastName FirstName Address City

SQL Constraints

Constraints ប្រើ​ដើម្បី​កំណត់​ប្រភេទ​ទិន្នន័យ​ដែល​អាច​ចូល​ទៅ​ទៅ​ក្នុង​តារាង​មួយ​។
អាច​ត្រូវ​បាន​បញ្ជាក់​នៅ​ពេល​ដែល​ត្រូវ​បាន​បង្កើត​តារាង​មួយ (ជាមួយ​នឹង​សេចក្តី​ថ្លែងការណ៍​តារាង​បង្កើត​) ឬ​បន្ទាប់​ពី​តារាង​ត្រូវ​បាន​បង្កើត​ឡើង (ដោយ​មាន​សេចក្តី​ថ្លែងការណ៍​តារាង​ផ្លាស់​ប្តូ​រ​) ។
យើង​នឹង​ផ្តោ​ត​ទៅ​លើ​ឧបសគ្គ​ដូច​ខាង​ក្រោម​:

NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
DEFAULT

SQL NOT NULL Constraint

តាម​លំនាំ​ដើម​ជួរឈរ​តារាង​មួយ​អាច​រក្សា​តម្លៃ NULL ។
SQL NOT NULL Constraint
enforces វាល​ទៅ​តែងតែ​មាន​តម្លៃ​មួយ​។ នេះ​មាន​ន័យ​ថា​អ្នក​មិន​អាច​បញ្ចូល​មួយ​កំណត់​ត្រា​ថ្មី​ឬ​ធ្វើ​ឱ្យ​ទាន់​សម័យ​កំណត់ត្រា​មួយ​ដោយ​មិន​បន្ថែម​តម្លៃ​មួយ​ទៅ​វាល​នេះ​។

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

UNIQUE constraint ណត់​ត្រា​ក្នុង​តារាង​មូលដ្ឋាន​ទិន្នន័យ​តែមួយគត់
​សំខាន់​ដោយ​ស្វ័យ​ប្រវត្តិ​មាន​កម្រិត​តែ​មួយ​គត់​ដែល​បាន​កំណត់​នៅ​លើ​វា​។

A PRIMARY KEY constraint automatically has a UNIQUE constraint defined on it.

Note that you can have many UNIQUE constraints per table, but only one PRIMARY KEY constraint per table.
SQL UNIQUE Constraint on CREATE TABLE

ដូច​​​ខាងក្រោម SQL មួយ​បង្កើត​មួយ​កម្រិត​តែ​មួយ​គត់​នៅ​លើ​ជួរ​ឈរ “P_Id​” នៅ​ពេល​ដែល “មនុស្ស​” តារាង​ត្រូវ​បាន​បង្កើត​:

កម្មវិធី MySQL​:
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)

SQL មួយ​ម៉ាស៊ីន​បម្រើ / Oracle / ថា MS ចូល​ដំណើរ​ការ​:

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

ដើម្បី​អនុញ្ញាត​ឱ្យ​ដាក់​ឈ្មោះ​តែ​មួយ​គត់​នៃ​ការ​កម្រិត​មួយ​និង​សម្រាប់​ការ​កំណត់​កម្រិត​មួយ​ដែល​មាន​តែ​មួយ​គត់​នៅ​លើ​ជួរ​ឈរ​ច្រើន​ប្រើ​វាក្យ​សម្ព័ន្ធ SQL មួយ​ដូច​ខាង​ក្រោម​:

កម្មវិធី MySQL SQL / ម៉ាស៊ីន​បម្រើ / Oracle / ថា MS ចូល​ដំណើរ​ការ​:

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

SQL UNIQUE Constraint on ALTER TABLE

To create a UNIQUE constraint on the “P_Id” column when the table is already created, use the following SQL:

MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD UNIQUE (P_Id)

To allow naming of a UNIQUE constraint, and for defining a UNIQUE constraint on multiple columns, use the following SQL syntax:

កម្មវិធី MySQL SQL / ម៉ាស៊ីន​បម្រើ / Oracle / ថា MS ចូល​ដំណើរ​ការ​:
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

To DROP a UNIQUE Constraint

To drop a UNIQUE constraint, use the following SQL:

MySQL:
ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL PRIMARY KEY Constraint

SQL PRIMARY KEY Constraint
សំខាន់​តែ​មួយ​គត់​កំណត់​ត្រា​ក្នុង​តារាង​មូលដ្ឋាន​ទិន្នន័យ​។  ជួរ​ឈរ​មួយ​កូនសោ​សំខាន់​មិន​អាច​មាន​តម្លៃ NULL

Primary keys must contain unique values.

A primary key column cannot contain NULL values.

Each table should have a primary key, and each table can have only ONE primary key.
SQL PRIMARY KEY Constraint on CREATE TABLE

The following SQL creates a PRIMARY KEY on the “P_Id” column when the “Persons” table is created:

កម្មវិធី MySQL​: :
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)

SQL មួយ​ម៉ាស៊ីន​បម្រើ / Oracle / ថា MS ចូល​ដំណើរ​ការ​::
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

ដើម្បី​អនុញ្ញាត​ឱ្យ​មាន​ការ​ដាក់ឈ្មោះ​កម្រិត​នៃ​ការ​ចុច​គ្រាប់ចុច​មួយ​បឋមសិក្សា​និង​សម្រាប់​កំណត់​មួយ​កម្រិត​កូនសោ​សំខាន់​នៅ​លើ​ជួរ​ឈរ​ច្រើន​ប្រើ​វាក្យ​សម្ព័ន្ធ SQL មួយ​ដូច​ខាង​ក្រោម​:

កម្មវិធី MySQL SQL / ម៉ាស៊ីន​បម្រើ / Oracle / ថា MS ចូល​ដំណើរ​ការ​:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)

ចំណាំ​: នៅ​ក្នុង​ឧទាហរណ៍​ខាង​លើ​មាន​តែ​មួយ​ប៉ុណ្ណោះ​គឺ​ជា​កូន​សោ​សំខាន់ (pk_PersonID​) ។ ទោះ​ជា​យ៉ាង​ណា​តម្លៃ​នៃ pk_PersonID ត្រូវ​បាន​បង្កើត​ឡើង​ដោយ​ពីរ​ជួរ​ឈរ (P_Id និង LastName​) ។

To create a PRIMARY KEY constraint on the “P_Id” column when the table is already created, use the following SQL:

MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

To allow naming of a PRIMARY KEY constraint, and for defining a PRIMARY KEY constraint on multiple columns, use the following SQL syntax:

MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

Note: If you use the ALTER TABLE statement to add a primary key, the primary key column(s) must already have been declared to not contain NULL values (when the table was first created).
To DROP a PRIMARY KEY Constraint

To drop a PRIMARY KEY constraint, use the following SQL:

MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY

SQL មួយ​ម៉ាស៊ីន​បម្រើ / Oracle / ថា MS ចូល​ដំណើរ​ការ​:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

 

មេរៀន អនុគមន៍ SQL

SQL មួយ​មុខងារ​សរុប
SQL មួយ​មុខងារ​សរុប​ត្រឡប់​មក​វិញ​ជា​មួយ​តម្លៃ​តែ​មួយ​បាន​គណនា​ពី​តម្លៃ​នៅ​ក្នុង​ជួរ​ឈរ​មួយ​។
មុខងារ​សរុប​មាន​ប្រយោជន៍​:

-AVG() – ត្រឡប់​តម្លៃ​មធ្យម
-COUNT() – ត្រឡប់​ចំនួន​នៃ​ជួរដេក
-FIRST() – ត្រឡប់​តម្លៃ​ដំបូង
-LAST() – ត្រឡប់​តម្លៃ​ចុង​ក្រោយ
-MAX() – ត្រឡប់​តម្លៃ​ដែល​ធំ​ជាង​គេ​បំផុត
-MIN() – ត្រឡប់​តម្លៃ​ដែល​តូច​ជាងគេ​បំផុត
-SUM() – ត្រឡប់​ផលបូក
SQL មួយ​មុខងារ Scalar
SQL មួយ​មុខងារ scalar ត្រឡប់​មក​វិញ​ជា​មួយ​តម្លៃ​តែ​មួយ​ដោយ​ផ្អែក​លើ​តម្លៃ​បញ្ចូល​។
មុខងារ scalar ដែល​មាន​ប្រយោជន៍​
-UCASE() – បម្លែង​ ​មួយ​ទៅ​ជា​អក្សរ​ធំ
-LCASE() – បម្លែង​ មួយ​ទៅ​ករណី​ទាប​ជាង
-MID() – ស្រង់​តួ​អក្សរ​ពី​វាល​អត្ថបទ​មួយ
-LEN() – ត្រឡប់​ប្រវែង​នៃ​វាល​អត្ថបទ​មួយ
-ROUND() – ជុំ​ទី​វាល​មួយ​ដែល​ជា​លេខ​គោល​ដប់​ចំនួន​ដែល​បាន​បញ្ជាក់
-NOW() – ត្រឡប់​កាល​បរិច្ឆេទ​ប្រព័ន្ធ​នា​ពេល​បច្ចុប្បន្ន​និង​ពេល​វេលា
-FORMAT() – ធ្វើ​ទ្រង់ទ្រាយ​របៀប​វាល​មួយ​នឹង​ត្រូវ​បាន​បង្ហាញ
អនុគមន៍ SQL AVG()
អនុគមន៍ AVG()
អនុគមន៍ AVG()អនុគមន៍​ត្រឡប់​តម្លៃ​ជា​មធ្យម​នៃ​ជួរ​ឈរ​លេខ​មួយ​។
SQL AVG() Syntax

SELECT AVG(column_name) FROM table_name

យើង​មាន​ដូច​ខាង​ក្រោម “ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

ឥឡូវ​នេះ​យើង​ចង់​ទៅ​រក​តម្លៃ​ជា​មធ្យម​នៃ “OrderPrice​” ​។ យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

SELECT AVG(OrderPrice) AS OrderAverage FROM Orders

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

OrderAverage
950

ឥឡូវ ​នេះ​យើង​ចង់​ស្វែង​រក​អតិថិជន​របស់​ខ្លួន​ដែល​មាន​តម្លៃ​ខ្ពស់​ជាង​តម្លៃ OrderPrice OrderPrice ជា​មធ្យម​។ យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

SELECT Customer FROM Orders
WHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders)

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

Customer
Hansen
Nilsen
Jensen

អនុគមន៍ SQLcount ()
អនុគមន៍ SQL COUNT()
អនុគមន៍​ត្រឡប់​ចំនួន​ជួរ​ដេក​ដែល​ផ្គូផ្គង​នឹង​លក្ខណៈ​វិនិច្ឆ័យ​ដែល​បាន​បញ្ជាក់​មួយ​។
Syntax & # SQL មួយ count (column_name​)
ចំនួន​អនុគមន៍ (column_name​) ត្រឡប់​ចំនួន​នៃ​តម្លៃ (តម្លៃ NULL នឹង​មិន​ត្រូវ​បាន​រាប់​) នៃ​ជួរ​ឈរ​ដែល​បាន​បញ្ជាក់​:

SELECT COUNT(column_name) FROM table_name

អនុគមន៍​ count (*​) Syntax & #

មុខងារ count (*​) ត្រឡប់​ចំនួន​នៃ​ការ​កត់ត្រា​ក្នុង​តារាង​មួយ​:
SELECT COUNT(*) FROM table_name
វាក្យសម្ពន្ធ & # SQL មួយ count (column_name ខុស​ដាច់​ពី​គ្នា​)

ចំនួន​អនុគមន៍ (column_name ខុស​ដាច់​ពី​គ្នា​) ត្រឡប់​ចំនួន​នៃ​តម្លៃ​ដាច់​ពី​គ្នា​នៃ​ជួរ​ឈរ​ដែល​បាន​បញ្ជាក់​ថា​:
SELECT COUNT(DISTINCT column_name) FROM table_name
ចំណាំ ​: ការងារ (ការ​វែក​ញែក​) count ជាមួយ Oracle និង Microsoft SQL មួយ​ម៉ាស៊ីន​បម្រើ​ប៉ុន្តែ​មិន​មែន​ជា​មួយ​នឹង​ការ​ចូល​ដំណើរ​ការ​របស់ Microsoft ។ យើង​មាន​ដូច​ខាង​ក្រោម “ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

ឥឡូវ​នេះ​យើង​ចង់​រាប់​ចំនួន​នៃ​ការ​បញ្ជា​ទិញ​ពី “អតិថិជន Nilsen​” ។ យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

SELECT COUNT(Customer) AS CustomerNilsen FROM Orders
WHERE Customer=’Nilsen’

លទ្ធផល​នៃ​សេចក្តី​ថ្លែងការណ៍ SQL ខាងលើ​នឹង​ត្រូវ​បាន​ទី 2 ទេ​ពីព្រោះ Nilsen អតិថិជន​ធ្វើ​ការ​បាន​នៅ​ក្នុង​ការ​បញ្ជា​ទិញ 2 សរុប​:

CustomerNilsen
2

SQL អនុគមន៍ FIRST()
អនុគមន៍ FIRST()
អនុគមន៍​ដំបូង  ត្រឡប់​តម្លៃ​ដំបូង​នៃ​ជួរ​ឈរ​ដែល​បាន​ជ្រើស​។
SQL FIRST() Syntax
SELECT FIRST(column_name) FROM table_name
យើង​មាន​ដូច​ខាង​ក្រោម “ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

ឥឡូវ​នេះ​យើង​ចង់​ទៅ​រក​តម្លៃ​ដំបូង​នៃ​ជួរ​ឈរ “OrderPrice​” ។ យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

SELECT FIRST(OrderPrice) AS FirstOrderPrice FROM Orders

ព័ត៌មាន​ជំនួយ​: ជុំវិញ​ការ​ងា​ប្រសិន​បើ​ដំបូង (អនុគមន៍​) មិន​ត្រូវ​បាន​គាំទ្រ​:

SELECT OrderPrice FROM Orders ORDER BY O_Id LIMIT 1

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

FirstOrderPrice
1000

SQL អនុគមន៍ LAST()
SQL LAST() Syntax
SELECT LAST(column_name) FROM table_name
មុខងារ​ចុង​ក្រោយ​បំផុត () ត្រឡប់​តម្លៃ​ចុង​ក្រោយ​នៃ​ជួរ​ឈរ​ដែល​បាន​ជ្រើស​យើង​មាន​ដូច​ខាង​ក្រោម “ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

ឥឡូវ​នេះ​យើង​ចង់​ទៅ​រក​តម្លៃ​ចុង​ក្រោយ​នៃ​ជួរ​ឈរ “OrderPrice​” ។ យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

SELECT LAST(OrderPrice) AS LastOrderPrice FROM Orders

ព័ត៌មាន​ជំនួយ​: ជុំវិញ​ការ​ងា​ប្រសិន​បើ​មុខងារ​ចុង​ក្រោយ​បំផុត () មិន​ត្រូវ​បាន​គាំទ្រ​:

SELECT OrderPrice FROM Orders ORDER BY O_Id DESC LIMIT 1

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

LastOrderPrice
100

SQL អនុគមន៍ MAX()
អនុគមន៍ MAX()  MAX អនុគមន៍​ត្រឡប់​តម្លៃ​ដ៏​ធំ​បំផុត​នៃ​ជួរ​ឈរ​ដែល​បាន​ជ្រើស​។
SQL MAX() Syntax
SELECT MAX(column_name) FROM table_name យើង​មាន​ដូច​ខាង​ក្រោម “ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

ឥឡូវ​នេះ​យើង​ចង់​ទៅ​រក​តម្លៃ​ធំ​ជាង​គេ​នៃ​ជួរ​ឈរ “OrderPrice​” ។ យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

SELECT MAX(OrderPrice) AS LargestOrderPrice FROM Orders

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

LargestOrderPrice
2000

SQL អនុគមន៍ MAX()
អនុគមន៍ MIN()  MIN() អនុគមន៍​ត្រឡប់​តម្លៃ​ដ៏​តូច​បំផុត​នៃ​ជួរ​ឈរ​ដែល​បាន​ជ្រើស​។
SQL MIN() Syntax

SQL MIN() Syntax
SELECT MIN(column_name) FROM table_name

យើង​មាន​ដូច​ខាង​ក្រោម “ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

ឥឡូវ​នេះ​យើង​ចង់​ទៅ​រក​តម្លៃ​តូចបំផុត​នៃ​ជួរ​ឈរ “OrderPrice​” ។ យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

SELECT MIN(OrderPrice) AS SmallestOrderPrice FROM Orders

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

SmallestOrderPrice
100

SQL អនុគមន៍ SUM()
អនុគមន៍ SUM() ផលបូក អនុគមន៍​ត្រឡប់​ការ​បូក​សរុប​ចំនួន​ជួរ​ឈរ​លេខ​មួយ​។
SQL SUM() Syntax
SELECT SUM(column_name) FROM table_name

យើង​មាន​ដូច​ខាង​ក្រោម “ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

ឥឡូវ​នេះ​យើង​ចង់​ស្វែង​រក​ផលបូក​នៃ​ចំនួន​ទាំងអស់ “OrderPrice​” វាល “នោះ​ទេ​។ យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

SELECT SUM(OrderPrice) AS OrderTotal FROM Orders

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

OrderTotal
5700

SQL GROUP BY Statement ក្រុម​​ដោយ សេចក្តី​ថ្លែងការណ៍
ក្រុម SQL ដោយ​វាក្យ​សម្ព័ន្ធ
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name

យើង​មាន​ដូច​ខាង​ក្រោម “ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

ឥឡូវ​នេះ​យើង​ចង់​ទៅ​រក​ការ​បូក​សរុប (លំដាប់​សរុប​) នៃ​អតិថិជន​គ្នា​។

យើង​នឹង​មាន​ដើម្បី​ប្រើ​ក្រុម​ដោយសារ​សេចក្តី​ថ្លែង​ការណ៍​ទៅ​កាន់​ក្រុម​អតិថិជន​។ យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

Customer SUM(OrderPrice)
Hansen 2000
Nilsen 1700
Jensen 2000

The HAVING Clause HAVING clause ឃ្លា​ដែល​មាន​ដែល​ត្រូវ​បាន​បន្ថែម​ទៅ​ក្នុង SQL មួយ​ដោយ​សារ​តែ​ពាក្យ​គន្លឹះ​កន្លែងណា​ដែល​មិន​អាច​ត្រូវ​បាន​ប្រើ​ជាមួយ​ នឹង​មុខងារ​ប្រមូល​ផ្តុំ​។
SQL HAVING Syntax
SQL មួយ​ដែល​មាន​វាក្យ​សម្ព័ន្ធ
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value

យើង​មាន​ដូច​ខាង​ក្រោម “ការ​បញ្ជាទិញ​” តារាង​:

O_Id OrderDate OrderPrice Customer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

ឥឡូវ​នេះ​យើង​ចង់​ស្វែង​រក​ការ​ណា​មួយ​ប្រសិន​បើ​អតិថិជន​មាន​លំដាប់​សរុប​ចំនួន​តិច​ជាង​ឆ្នាំ 2000 ។ យើង​ប្រើ​សេចក្តី​ថ្លែងការណ៍ SQL ដូច​ខាង​ក្រោម​:

SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
HAVING SUM(OrderPrice)<2000

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

Customer SUM(OrderPrice)
Nilsen 1700

ឥឡូវ​នេះ​យើង​ចង់​ស្វែង​រក​ការ​ប្រសិន​បើ​អតិថិជន “Hansen​” ឬ “Jensen​” មាន​លំដាប់​សរុប​ចំនួន​ជាង 1500 ។ យើង​បន្ថែម​មួយ​ឃ្លា​ដែល​កន្លែងណា​ដែល​សាមញ្ញ​ទៅ​សេចក្តី​ថ្លែងការណ៍ SQL​:

SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer=’Hansen’ OR Customer=’Jensen’
GROUP BY Customer
HAVING SUM(OrderPrice)>1500

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

Customer SUM(OrderPrice)
Hansen 2000
Jensen 2000

 SQL UCASE()

UCASE មុខងារ​បម្លែង​តម្លៃ​នៃ​វាល​ដើម្បី uppercase មួយ​។
SQL UCASE() Syntax
SELECT UCASE(column_name) FROM table_name
Syntax for SQL Server
SELECT UPPER(column_name) FROM table_name

យើង​មាន​ដូច​ខាង​ក្រោម “មនុស្ស​” តារាង​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

ឥឡូវ​នេះ​យើង​ចង់​ជ្រើស​មាតិកា​នៃ​ជួរ​ឈរ “LastName​” និង “FirstName​” ខាង​លើ​និង​បម្លែង​ជួរឈរ “LastName​” ដើម្បី uppercase ។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT UCASE(LastName) as LastName,FirstName FROM Persons

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

LastName FirstName
HANSEN Ola
SVENDSON Tove
PETTERSEN Kari

អនុគមន៍ SQL LCASE()

LCASE() មុខងារ​បម្លែង​តម្លៃ​នៃ​វាល​ទៅ​អក្សរ​តូច​មួយ​។
SELECT LCASE(column_name) FROM table_name
Syntax for SQL Server
SELECT LOWER(column_name) FROM table_name

យើង​មាន​ដូច​ខាង​ក្រោម “មនុស្ស​” តារាង​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

ឥឡូវ​នេះ​យើង​ចង់​ជ្រើស​មាតិកា​នៃ​ជួរ​ឈរ “LastName​” និង “FirstName​” ខាង​លើ​និង​បម្លែង​ជួរឈរ “LastName​” ដើម្បី​អក្សរ​តូច​។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT LCASE(LastName) as LastName,FirstName FROM Persons

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

LastName FirstName
hansen Ola
svendson Tove
pettersen Kari

អនុគមន៍ SQL MID()

អនុគមន៍​ពាក់​ក​ណ្តា​ល គឺ​ត្រូវ​បាន​ប្រើ​ដើម្បី​ស្រង់​តួ​អក្សរ​ពី​វាល​អត្ថបទ​មួយ​។
SQL MID() Syntax
SELECT MID(column_name,start[,length]) FROM table_name

Parameter Description
column_name Required. The field to extract characters from
start Required. Specifies the starting position (starts at 1)
length Optional. The number of characters to return. If omitted, the MID() function returns the rest of the text

យើង​មាន​ដូច​ខាង​ក្រោម “មនុស្ស​” តារាង​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

ឥឡូវ​នេះ​យើង​ចង់​បាន​ដើម្បី​ស្រង់​ចេញ​ដំបូង​បួន​នៃ​តួ​អក្សរ “ទីក្រុង​” ជួរឈរ​ខាង​លើ​។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT MID(City,1,4) as SmallCity FROM Persons

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

SmallCity
Sand
Sand
Stav

អនុគមន៍ SQL LEN()

LEN()  មុខងារ​ត្រឡប់​ប្រវែង​នៃ​តម្លៃ​នៅ​ក្នុង​វាល​អត្ថបទ​មួយ​។
SQL LEN() Syntax
SELECT LEN(column_name) FROM table_name

យើង​មាន​ដូច​ខាង​ក្រោម “មនុស្ស​” តារាង​:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

ឥឡូវ​នេះ​យើង​ចង់​ជ្រើស​ប្រវែង​នៃ​តម្លៃ​នេះ​នៅ​ក្នុង “អាសយដ្ឋាន​” ជួរឈរ​ខាង​លើ​។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT LEN(Address) as LengthOfAddress FROM Persons

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

LengthOfAddress
12
9
9

អនុគមន៍ SQL ROUND()

អនុគមន៍ មុខងារ​ត្រូវ​បាន​ប្រើ​ដើម្បី​ប្រមូល​វាល​លេខ​ទៅ​ជា​ចំនួន​គោល​ដប់​នៃ​ការ​បញ្ជាក់​។
SQL ROUND() Syntax
SELECT ROUND(column_name,decimals) FROM table_name

Parameter Description
column_name Required. The field to round.
decimals Required. Specifies the number of decimals to be returned.

យើង​មាន​ដូច​ខាង​ក្រោម “ផលិតផល​” តារាង​:

Prod_Id ProductName Unit UnitPrice
1 Jarlsberg 1000 g 10.45
2 Mascarpone 1000 g 32.56
3 Gorgonzola 1000 g 15.67

ឥឡូវ​នេះ​យើង​ចង់​បង្ហាញ​ឈ្មោះ​ផលិតផល​និង​តម្លៃ​មាន​រាង​មូល​ទៅ​ចំនួន​គត់​ជិត​បំផុត​។

យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT ProductName, ROUND(UnitPrice,0) as UnitPrice FROM Products

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

ProductName UnitPrice
Jarlsberg 10
Mascarpone 33
Gorgonzola 16

អនុគមន៍ SQL NOW()

អនុគមន៍ NOW() មុខងារ​ត្រឡប់​កាល​បរិច្ឆេទ​ប្រព័ន្ធ​នា​ពេល​បច្ចុប្បន្ន​និង​ពេល​វេលា​។
SQL NOW() Syntax
SELECT NOW() FROM table_name

យើង​មាន​ដូច​ខាង​ក្រោម “ផលិតផល​” តារាង​:

Prod_Id ProductName Unit UnitPrice
1 Jarlsberg 1000 g 10.45
2 Mascarpone 1000 g 32.56
3 Gorgonzola 1000 g 15.67

ឥឡូវ​នេះ​យើង​ចង់​បង្ហាញ​ផលិតផល​និង​តម្លៃ​ក្នុង​មួយ​កាលបរិច្ឆេទ​ថ្ងៃ​នេះ​។ យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT ProductName, UnitPrice, Now() as PerDate FROM Products

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

ProductName UnitPrice PerDate
Jarlsberg 10.45 10/7/2008 11:25:02 AM
Mascarpone 32.56 10/7/2008 11:25:02 AM
Gorgonzola 15.67 10/7/2008 11:25:02 AM

អនុគមន៍  SQL FORMAT()

អនុគមន៍  FORMAT()  គឺ​ត្រូវ​បាន​ប្រើ​ដើម្បី​ធ្វើ​ទ្រង់ទ្រាយ​របៀប​វាល​មួយ​នឹង​ត្រូវ​បាន​បង្ហាញ​។
SQL FORMAT() Syntax
SELECT FORMAT(column_name,format) FROM table_name

Parameter Description
column_name Required. The field to be formatted.
format Required. Specifies the format.

 

យើង​មាន​ដូច​ខាង​ក្រោម “ផលិតផល​” តារាង​:

Prod_Id ProductName Unit UnitPrice
1 Jarlsberg 1000 g 10.45
2 Mascarpone 1000 g 32.56
3 Gorgonzola 1000 g 15.67

ឥឡូវ​នេះ​យើង​ចង់​បង្ហាញ​ផលិតផល​និង​តម្លៃ​ក្នុង​មួយ​ កាលបរិច្ឆេទ​ថ្ងៃ​នេះ (ជាមួយ​កាលបរិច្ឆេទ​ថ្ងៃ​នេះ​បាន​បង្ហាញ​នៅ​ក្នុង​ទ្រង់ទ្រាយ​ដូច​ខាងក្រោម “t YYYY​-MM​-DD​,​”​) ។ យើង​ប្រើ​សេចក្តី​ថ្លែង​ការណ៍​ដែល​បាន​ជ្រើស​ដូច​ខាង​ក្រោម​:

SELECT ProductName, UnitPrice, FORMAT(Now(),’YYYY-MM-DD’) as PerDate
FROM Products

លទ្ធផល​ដែល​បាន​កំណត់​នឹង​មើល​ទៅ​ដូច​នេះ​:

ProductName UnitPrice PerDate
Jarlsberg 10.45 2008-10-07
Mascarpone 32.56 2008-10-07
Gorgonzola 15.67 2008-10-07