Saturday, October 8, 2016

SQL පාඩම - 01

ඔන්න අද මම ඔයාට කියලා දෙන්න යන්නෙ sql language එක ගැනයි..

SQL කියන්නෙ...,

Stuctured Query Language - ව්‍යුහගත විමසුම් භාෂාව.

කිසියම් පද්ධතියක් සදහා database එකක් සකස් කරනවා.. ඒ database එකට දත්ත ඇතුල් කරන්නත්, එකෙ තියෙන දත්ත සකස් කිරීම තුලින් නැවත ලබ ගන්නත් මේ SQL විධානයන් ඇතුලත් කරනවා..

අපි බලමු මේ SQL විධානයන් ක්‍රියාත්මක කරන්නෙ මොන දත්ත සමුදාය කලමණාකාරණ පද්ධතීන් (DBMS) එක්කද කියලා..

  • My SQL
  • Ms Access
  • Oracle
  • SQL Server

My SQL database එකක් සකස් කරන්න නම් අපි Wampserver අපේ කම්පියුටර් එකට install කරගන්න ඕනෙ.. ඔයා වැඩ කරන මැෂින් එකේ wampserver install කරගෙන නැත්නම් මෙතැනින් download කර ගන්න..

Wampserver

මේ වැම්ප්සර්වර් ඕපන් කරලා බලන්න.. එකේ My SQL Consoul වලදි තමයි මේ SQL Commands ලබා දෙන්න පුලුවන්..
දැන් අපි බලමූ SQL භාවිතා කරලා කරන්න පුලුවන් මොනවද කියලා..

Database භාවිත කරලා විමසුම් (query) සකස් කරන්න..
Database එකකින් දත්ත ලබා ගන්න..
Database එකකට දත්ත ඇතුල් කරන්න..
Database එකක තියෙන දත්ත වෙනස් කරන්න..
Database එකක දත්ත ඉවත් කරන්න...
අලුතින් Database එකක් හදන්න..
අලුතින් වගු සකස් කරන්න..
Database එකේ ව්‍යුහය වෙනස් කරන්න..

*මේ SQL විධානයන් ANSI සම්මතයන්ට අනුව වෙනස් වෙනවා.. ANSI කියන්නෙ American National Standard Institute.

ඔන්න දැන් අපි SQL Commands ඉගෙන ගන්නයි යන්නෙ.. ඔයා වැම්ප්සර්වර් එකේ My SQL Consoul වල මේ commands type කරලා බලන්න මම කියලා දෙන ගමන්ම..

හොදයි මුලින්ම අපි බලමු database එකක් හදන්නෙ කොහොමද කියලා.. ම්ම්.. මුලින්ම කියන්න ඕනෙ අපි Commands වෙනම අදුන ගන්න කැපිටල් වලින් තමයි. ලියන්නෙ.. සිම්පල් වලින් ලිව්වත් අවුලක් නැහැ.. ඒත් මෙහෙම ලියමු හදුනා ගැනීමේ පහසුවට..

1. Database සැකසීම.

අපි දැන් නිකන් හිතමූ getway lanka කියලා ආයතනයක් තියෙනව කියලා.. මේකෙ වැඩ කරන සේවකයන්ගෙ තොරතුරු , ආයතනයේ තොරතුරු ඒ හැමදේම එකතු කරලා අපි database එකක් හදන්නයි යන්නෙ.. database එකේ නම Gateway info කියලා ගමුකො..

මේ බලන්න ඒක හදන්න Command එක දෙන විදිහ..

CREATE DATABASE Gateway_info

*create database කියන්නෙ විධානය. දැක්කද අපේ database එකේ නම දීලා තියෙන විදිහ.. මැදින් ස්පේස් තියන්නෙ නැහැ.. "_" දීලා තමයි වචන දෙක වෙන් කරලා තියෙන්නෙ..

2. Database භාවිතා කිරීම.


USE Gateway_info

* අපි දැන් මේ භාවිතා කරන්න යන්නෙ මොන database එකද කියලා තමයි මේකෙ විධාන දෙන්නෙ.. අපි database එක හදලා නැත්නම් හදන එක ඇරුනම අනිත් වැඩ ඔක්කොම පටන් ගන්න ඕනේ මේ command එකෙන්.. මොකද අපි දැන් use කරන්න යන්නෙ මොන db එකද කියලා කියන්නෙ නැතුව පටන් ගන්න බැහැ.


3. Table සකස් කිරීම.


ඔන්න දැන් අපි වගුව හදන්නයි යන්නෙ.. මේ command එක බලන්නකො.. ඊට පස්සෙ මම පැහැදිලි කරන්නම්..


CREATE TABLE employee
(Emp.ID int,
LastName varchar (20),
FirstName varchar (20) ,
Address varchar (50) ,
salary int)

මම මෙහෙම පේලියෙන් පේලියට ලිව්වෙ ඔයාට අවබෝධ කරලා දෙන්න ලේසි නිසා.. command එක එකටම ලිව්වට අවුලක් නැහැ..

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

ඔන්න මම විධානය දීලා තියෙනවා employee කියන ටේබල් එක හදන්න කියලා..

ඊට පස්සෙ ඒකෙ Field තියෙන්න ඕනෙ ආකාරය ගැනයි මම කියලා තියෙන්නෙ. emp id, first name.. ඒවා තමයි field. Varchar , int කියන ඒවා ගැන ඔයාට ගැටලුවක් එන්න ඇති මේක දැක්කම.. Emp_ID බලන්න.. employee ගෙ ID එක තමයි මේ field එකේ අපි දාන්නෙ. මේ field එකේ දාන්නෙ සංඛ්‍යා. ඒ නිසයි int කියලා දාලා තියෙන්නෙ. (Integer) බලන්න.. salary එකටත් int දීලා තියෙන්නෙ සංඛයාවක් නිසා..
හරි. ඊලගට varchar. ඒකත් ඒ වගේ . ඒ field එකට දාන characters ගාන තමයි වරහන් ඇතුලෙ දාලා තියෙන්නෙ.. first name එකකට අකුරු 20 කට වැඩි වෙන්න බැහැනෙ නේද.. ඒ නිසා 20 ඇති. ඔයාට කැමති ගානක් දෙන්න පුලුවන් හොදේ.. ඒත් ගොඩක් වැඩි අකුරු ගානක් දෙන්න යන්න එපා මොකද memory එක waste වෙනවනෙ නිකන්.

***********************************

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

INSERT INTO

වගුවක් සදහා දත්ත ඇතුල් කිරීමට භාවිතා කරනවා.

අපි බලමු අපේ Employee වගුවට දත්ත එකතු කරන්න. බලන්නකො මේ Command.

INSERT INTO Employee (Emp.ID, LastName, FirstName , Address , salary) values (4 , 'perera', 'Nilu' , 'No.45, George Street ,Badulla.', 28000)

හොදට බලන්න.. int වලින් දෙන ඒවට අපි උධෘත දීලා නැහැ. සංඛයා නිකන්ම දීලා තියෙන්නෙ..

ටේබල් එකේ සියලුම field වලට අගයන් ඇතුල් කරනවා නම් මේ විදිහට field name ලියන්න ඕනෙ නැහැ හොදේ.. Values දෙන්න.

************************************

4. Table හි සැලැස්ම ලබා ගැනීම..

DESCRIBE Employee

ඔන්න මේ විදානය දුන්නට පස්සෙ ඔයා හදපු මේ employee table එක ඔයාට මේ විදිහට බලා ගන්න පුලුවන්. (Table එක කඩ ඉරි වලින් පෙන්නන්නෙ හොදේ..)

Field Type Not Null
Emp.ID int (11) yes
LastName varchar (20) yes
FirstName varchar (20) yes
Address varchar (50) yes
Salary int (11) yes

ඔයා බලන්න ඇති මේ Not null කියන්නෙ මොකද්ද කියලා.. යම් field එකක් not null ලෙස අර්ථ දැක්වුවොත් ඒ field එක හිස්ව තියන්න බැහැ.

5. වගුවක් ඉවත් කිරීම.


DROP TABLE employee

Employee කියන table එක ඉවත් වෙනවා..


6. Database එක ඉවත් කිරීම.


DROP DATABASE Gateway_info


7. Table එකේ ඇති දත්ත ලබා ගැනීම.


SELECT * FROM Employee

මේකෙදි * ලකුණ පාවිච්චි කරන නිසා table එකේ හැම field එකකටම අදාල දත්ත පෙන්නනවා.. මම ඉස්සරහට ඔයාට මේ ගැන ආයෙත් මතක් කරනවා අපේ table එකට data enter කරන්න මම කියලා දුන්නට පස්සෙ..

මේ SQL විධාන ප්‍රධාන කාණ්ඩ දෙකකට වෙන් කරන්න පුළුවන්..


1. DML - Data Manipulation Language.
2. DDL - Data Definition Language.

DML

Table එකේ දත්ත සමග කටයුතු කිරීම තමයි මේ විධානයන්ගෙන් සිදු කරන්නෙ..

SELECT - දත්ත ලබා ගැනීම.
UPDATE - වගුවේ ඇති දත්ත වෙනස් කිරීම.
DELETE - දත්ත ඉවත් කිරීම.
INSERT INFO - දත්ත ඇතුල් කිරීම.

DDL

Database හි ව්‍යුහය වෙනස් කිරීම, database එක සැකසීම වගේ දේවල් මේ command මගින් සිද්ධ කරනවා..

CREATE DATABASE - database සැකසීම.
ALTER DATABASE - database සැකසීම.
CREATE TABLE - වගු සැකසීම.
ALTER TABLE - වගු වෙනස් කිරීම.
DROP TABLE - වගු ඉවත් කිරීම.
CREATE INDEX - දත්තය පහසුවෙන් සෙවීම සදහා නම් කිරීම.
DROP INDEX - index ඉවත් කිරීම.

SELECT

අපි දැන් හිතමු අපිට ඕනෙ Employee කියන table එකෙන් LastName සහ FirstName ට අදාල තොරතුරු විතරක් ඕනෙ කියලා.
මෙහෙමයි command එක..

SELECT LastName, FirstName FROM Employee.

මෙහෙම out put එක ඔයාලා දකියි..

LastName FirstName
perera renu
Wikramasinghe Arjuna
Herath Wishaka

හොදයි..ඊලග කොටසින් අපි SQL වල ඉතිරි ටික ඉගෙන ගනිමු. ඔයා හොද අවබෝධයක් ගන්න අද උගන්වපු කොටස් ගැන. ගැටලුවක් තියෙනවා නම් කමෙන්ට් එකකින් අහන්න..

1 comment: