Microsoft SQL Server පටන් ගමු!!

මම කලින් දාපු පෝස්ට් වල තියන SQL ස්ටේට්මන්ට් රන් කරලා පුරුදු වෙලා බලන්න විදිහක් මට පෝස්ට් කරන්න බැරි වුනා. ඇත්තටම සරල SQL ස්ටේට්මන්ට්ස් හැම එකක්ම වගේ ඕනම ඩේටාබේස් මැනෙජ්මන්ට් සිස්ටම් එකක රන් කරලා බලන්න පුලුවන් (Oracle DB, SQL Server, Access, MySQL). එත් මම පාවිච්චි කරන්නේ SQL Server ඉතින් මම හිතුවා SQL Server ඉගෙන ගන්න කැමති අයට ඒකට අවශ්‍ය දේවල් ඩව්න්ලෝඩ් කරගන්න තැන් පෝස්ට් කරන්න.

http://www.microsoft.com/en-us/download/details.aspx?id=29062

ඉහත දීලා තියන ලින්ක් එකෙන් ගිහින් ENU\x64\SQLEXPRWT_x64_ENU.exe හරි ENU\x86\SQLEXPRWT_x86_ENU.exe ඩව්න්ලෝඩ් කරගෙන ඉන්ස්ටෝල් කරගන්න. ඇත්තටම ඉන්ස්ටෝල් කරන එක එච්චර අමාරු නෑ. ඒවගේමයි මේ එඩිෂන් එක ඉගෙන ගන්න අයටම වෙන් කරපු එකක් ඒක හන්දා ලයිසන් ප්‍රශ්නයකුත් නෑ. තමුන්ගේ මෙහෙයුම් පද්ධතියට ගැලපෙන විදිහට 64බිට් හරි 32 බිට් හරි ඩව්න්ලෝඩ් කරගෙන ඉන්ස්ටෝල් කරගන්න. මේකේ ඇත්තටම වැදගත්ම දේ SQL Server Management Studio Express එක SSMS එකෙන් ලේසියෙන්ම අවශ්‍ය Queries ලියන්න පුලුවන්.

ඊට පස්සේ SQL Server ඉගෙන ගන්නවානම් ගොඩක් වැදගත් වන දෙයක් තමා සාම්පල් ඩේටාබේස් එක. ඇත්තටම AdventureWorks කියලා ගොඩක් ප්‍රසිද්ද සාම්පල් ඩේටාබේස් එකක් තියනවා. ඒක හැමෝම පාවිච්චි කරනවා. ඉතින් ඒකත් ඩව්න්ලෝඩ් කරගෙන SQL Server එකට ඇටැජ් කරගත්ත නම් SQL Server ඉගෙන ගන්න ගොඩක් ලේසි.

http://msftdbprodsamples.codeplex.com/releases/view/55330

ගිහින් පුලුවන් ඒ සාම්පල් ඩේටාබෙස් එක ඩව්න්ලෝඩ් කරගන්න. AdventureWorks2012 Data File කියන එක ඩව්න්ලෝඩ් කරගත්තා නම් ලේසි. නැත්නම් AdventureWorks2012-Full Database Backup ඩව්න්ලෝඩ් කරගෙන රිස්ටෝර් කරන්නත් පුලුවන්

Advertisements

SELECT–SQL

SELECT ස්ටේට්මන්ට් එක ඩිවලොපර්ලා ඇතුලු හැමෝටම වැදගත් වෙන ස්ටේට්මන්ට් එකක්. වැඩියෙන්ම භාවිතා වෙන ස්ටේට්මන්ට් එක බොහෝ වෙලාවට මේක වෙන්නත් පුලුවන්. අපට අවශ්‍ය විදිහට ඩේටාබේස් එකේ ටේබල් කිහිපයකින්ම දත්ත ගැනීමට මේ ස්ටේට්මන්ට් වලට පුලුවන්. ඒවගේම ගණිත කර්ම කරන්නත් පුලුවන්.

උදාහරණයන් සදහා මම පහල තියන tblMarks ටේබල් එක දිගටම පාවිච්චි කරනවා.

ID Name Marks
1 Dedunu 67
2 Satheeq 87
3 Dinesh 98
4 Shamil 67
5 Hasitha 87
6 Abinandana 76

අපි හිතමු අපිට අවශ්‍යයි කියලා තියන දත්ත ඔක්කොම ටේබල් ගන්න අවශ්‍යයි කියලා. අපි පාවිච්චි කරන්න ඕන ස්ටේට්මන්ට් එක මේ වගේ එකක්.

SELECT * FROM dbo.tblMarks

මේ ස්ටේට්මන්ට් එක රන් කලොත් අපිට ලැබෙන්නේ මුලින්ම තියන වගුව වගේම ප්‍රතිඵලයක්. අපි හිතමු දැන් අපිට අවශ්‍ය වෙලා තියනවා කියලා නම් ලැයිස්තුවක් ඩේටාබේස් එකෙන් අරගන්න. එතකොට අපි රන් කරන්න ඕනේ පහත විදිහේ ස්ටේට්මන්ට් එකක්.

SELECT Name FROM dbo.tblMarks

නම් සමග ලකුනුත් අවශ්‍ය නම්  පාවිච්චි කරන්න ඕනේ මේ පහල තියන ස්ටේට්මන්ට් එක.

SELECT Name, Marks FROM dbo.tblMarks
Name Marks
Dedunu 67
Satheeq 87
Dinesh 98
Shamil 67
Hasitha 87
Abinandana 76

ලැබෙන ප්‍රතිඵලය ඉහත වගේ එකක්.  අපි හිතමු කාටහරි අවශ්‍ය වෙනවා නම් ලැයිතුව අකාරාදි පිලිවෙලට අරගන්න. එතකොට රන් කරන්න අවශ්‍ය පහත ස්ටේට්මන්ට් එක.

SELECT Name 
FROM dbo.tblMarks 
ORDER BY Name ASC

ස්ටේට්මන්ට් අතර අලුතෙන් ලයින් කොච්චර තිබුනත් ගැටලුවක් වෙන්නේ නැ. පහත ආකාරයට තමයි ඉහත තියන ස්ටේට්මන්ට් එකේ රිසාල්ට් සෙට් එක ලැබෙන්නේ.

Name
Abinandana
Dedunu
Dinesh
Hasitha
Satheeq
Shamil

අපි හිතමු ඒවගේම අපිට අවශ්‍ය වෙනවා ලකුනු වැඩියෙන්ම ගත්ත කෙනාගේ නමත් ලකුනුත් අරගන්න. ඒ සදහා අපිට පහත තියන ස්ටේට්මන්ට් එක පාවිච්චි කරන්න පුලුවන්.

SELECT Name, Marks
FROM dbo.tblMarks 
ORDER BY Marks DESC

එතකොට ඇත්තටම ලැබෙන්නේ පහත ආකාරයේ රිසාල්ට් සෙට් එකක්.

Name Marks
Dinesh 98
Satheeq 87
Hasitha 87
Abinandana 76
Dedunu 67
Shamil 67

SQL වල කොටස්

SQL එක එක කාර්යන් වලට වෙන්කරන ලද කොටස් තියනවා. ඇත්තටම එකම එක භාෂාවක් වුනාට එක එක කොටස් තියනවා එක එක දේවල් වලට.

DML – Data Manipulation Language

වැඩියෙන්ම SQL වල භාවිතා වෙන්නේ මම හිතන විදිහට DML Operation වෙන්න ඕන. මොකද Database එකක තියන දත්ත Database එකෙන් අරගන්න, Database එකේ තියන දත්ත වෙනස් කරන්න ඒවගේම දත්ත අලුතෙන් එකතු කරන්න තියන දත්ත මකන්න කියන හැමදේටම SQL වලදි අපි පාවිච්චි කරන්නේ DML.

උදා:-

  • SELECT
  • DELETE
  • INSERT
  • UPDATE

DDL – Data Definition Language

Database වල තියන දත්ත අපි ගබඩා කරලා තියන්නේ ටේබල් වල. ඒවගේ ටේබල්, ඉන්ඩෙක්, වීවිස් වගේ දේවල් ඩේටාබේස් එකේ හදන්න වෙනස් කරන්න මකන්න වගේ දේවල් වලට DDL භාවිතා කරනවා.

උදා:-

  • CREATE
  • DROP
  • ALTER

DCL – Data Control Language

DCL භාවිතා කරලා අපි කරන්නේ දත්ත පාවිච්චි කරන්න දත්ත මකන්න වෙනස් කරන්න එක එක පරිශීලකයන්ට අවශ්‍ය බලය ලබා දෙන්න. එවගේම දැනට තියන අයිතීන් ඉවත් කරන්න වෙනස් කරන්නත් මේ DCL භාවිතා කරනවා.

උදා:-

  • GRANT
  • REVOKE