Friday, October 7, 2016

SQL පාඩම - 02

හරි. දැන් අපි වෙන table එකක් ගැනයි කතා කරන්නයි යන්නෙ. නම wether කියලා. අපි හිතමු ඒකෙ city කියලා field එකක් තිබුනා කියලා.. දැන් එකිනෙකට වෙනස් නගර සියල්ල ලබා ගන්න ඕනෙ අපිට.. බලන්න command එක ලියන හැටි..

SELECT DISTINCT City FROM Wether.

Wether ටේබල් එකෙන් city එක gall වෙන ඒවට අදාල සියලු තොරතුරු අපිට ඕනෙ කියලා හිතන්න.. මෙන්න command එක.

SELECT * FROM Whether WHERE City = 'Galle'

තේරුනාද.. * ලකුණ දැම්මෙ සියලුම තොරතුරු ගන්න ඕන නිසා..

හරි. මම දැන් ඔයාට විස්තරයක් දෙනවා. ඒකට command එක දෙන්න බලන්න..

Employee වගුවෙ salary එක 25000 වන අයගෙ අවසන් නමයි ලිපිනයයි ඕනෙ.

ඔයා ලිව්වද.. බලන්න හරිද කියලා..

SELECT LastName ,Address FROM Employee where Salary = '25000'

ඒ වගේම අපිට පුළුවන් යම් ගානක් දීලා ඒකට අඩු , වැඩි , වැඩි හෝ සමාන මේ වගේ විධානත් මේ Where එක්ක පාවිච්චි කරන්න..
මේ බලන්න..

= Equal
<> Not Equal
> Greater than
< Less than
>= Greater than or equal
<= Less than or Equal
BETWEEN
LIKE
IN තුල

හිතමු අපි persons කියලා වගුවක age කියලා field එකක් තියෙනවා කියලා. මම දැන් ඔයාට විස්තරයක් දෙනවා. ඒකෙ command එක ලියන්න..

persons වගුවෙන් වයස අවුරුදු 30 ට වඩා වැඩි හෝ සමාන වන අයට අදාලව LastName සහ FirstName ලබා ගන්න.

AND සහ OR Operators

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

SELECT * FROM Persons WHERE FirstName = 'Wishaka' AND LastName = 'Siriwardhana.'

අපිට field දෙකක තොරතුරු දෙකක් ඕන වුනා. ඒ දෙක සත්‍ය කෙනාගෙ තමයි සියලු තොරතුරු ඕනෙ වෙන්නෙ..

ඊලගට or ගැන බලමු. හිතන්න මට ඕනෙ කියලා City කියන එක Anuradapura හෝ Plonnaruwa හරි කියන එකේ සම්පූර්ණ තොරතුරු ඕනේ කියලා.. බලන්න ඒකට අදාල මේ Command එක.

SElECT * FROM Persons WHERE City = 'Anuradhapura' OR City = 'Polonnaruwa'

දැන් අපි බලමු අලුත් field එකක් එකතු කරන්න ඕන වුනොත් ඒක කරන්න කොහොමද කියලා..
Employee field එකට Age කියලා field එකක් ඇඩ් කරන්න ඕනෙ කියලා හිතන්නකො.. මෙහෙමයි Command එක.

ALTER Table Employee ADD Address varchar (10)

Employee table එකේ තියෙන data LastName එකේ අවරෝහණ පිළිවෙලට හදන්න ඕනෙ නම් මෙහෙමයි..

SELECT * FROM Employee ORDERED BY LastName .

ඒකම අවරෝහණ පිළිවෙලට ඕන නම් මෙහෙම..

SELECT * FROM Employee ORDERED BY DESC.


UPDATE

Table එකේ විශේෂිත රෙකෝඩ් එකක තියෙන දත්ත වෙනස් කිරීම තමයි මේ UPDATE වලින් සිද්ද වෙන්නෙ..

හරි අපි මෙහෙම හිතමු. LastName Gunarathne සහ FirstName Muditha කියන කෙනාගෙ ලිපිනය Katubedda, Moratuwa කියලයි සැලරි එක 30000 කියලයි වෙනස් කරන්න ඕනෙ කියලා. බලන්නකො මේ Commands.

SET Address = 'Katubedda, Moratuwa' , salary = 30000 WHERE LastName = 'Gunarathne.' AND FirstName = 'Muditha'


DELETE

Table එකෙන් රෙකෝඩ් එකක් හරි කීපයක් හරි ඉවත් කරන්න DELETE භාවිතා කරනවා අපි.
මේක බලන්න.. galle, Mathara ජීවත් වෙන අයගෙ සියලුම තොරතුරු ඉවත් කරන්න තමයි මේ Command එක.

DELETE FROM Employee WHERE City = 'Galle' OR City = 'Mathara'


LIKE Operator

Examples ටිකකින්ම මම කියලා දෙන්නම්..

SELECT * FROM Employee WHERE City LIKE "ka%"

ඒ කියන්නෙ සිටි එක ka වලින් පටන් ගන්න නගර වල සියලුම තොරතුරු. Kadawatha , Kathaeagama... ඒ වගේ නගර.
බලන්න මේක..

SELECT * FROM Persons WHERE City LIKE "%la"

මේකෙන් කියන්නෙ සිටි වල අවසන් අකුරු දෙක la වෙන ඒවායෙ සියලුම තොරතුරු ලබා ගැනීම.

IN Operator


SELECT * From Employee WHERE LastName IN ('Senawirathne', 'Kumarasinghe' )

Last Name එක Senawirathne හා Kumarasinghe වන අයගෙ සියලුම තොරතුරු එනවා..

ඔන්න අපි අන්තිම වගේම වැදගත්ම කොටසටත් ආවා. දැන් ඔයාට table ගොඩ නගන්න පුලුවන්නෙ නේද.. අපේ database එකේ මේ වගේ Tables ගොඩක් තියෙන්න පුලුවන්. ඒ Tables අතර සම්බන්ධය ගොඩ නගන්න අපිට key ඕන වෙනවා..
මෙහෙම හිතන්න. පාසල database එකක් ගැන. ටීචර්ස් සහ ස්ටුඩන්ට් කියලා ටේබල් දෙකක් තියෙනවා.. එක් සිසුවකුගෙ පන්තිය භාර ගුරුතුමාව අපට හොයා ගන්න ඕන වෙනවා.. ඉතින් ඒ සිසුවට අදාල තොරතුරක් ඔස්සේ අපිට ටීචර්ස්ලගෙ ටේබල් එකටත් යන්න වෙනවා.. ඒකෙදි ටීචර්ස් සහ ස්ටුඩන්ට් කියන ටේබල් දෙක අතරෙ සම්බන්ධයක් තියෙන්න ඕනෙ කියන එක ඔයාට වැටහෙනවා නේද..
හරි අපි බලමු ඒ keys.

Candidate Key

සම්බන්ධයක රෙකෝඩයක් අනන්‍යව හදුන ගන්න පුලුවන් උපලක්ෂණය තමයි මේක.
බලන්න මේ ටේබල් එකේ Candidate Key එක.

Student (R_No, ID_No, Name, Add)

බලන්න R_No ඒ කියන්නෙ Registor Numbe. එක ලමයෙකුට තියෙන්නෙ එක R No එකක්. ඒ නිසා එක රෙකෝඩ් එකක් වෙන්ව හදුන ගන්න මේක පහසුයි. ID_No ත් එහෙමයි. ඒත් Name , Address මේවා නම් ලමයින් දෙන්නෙකුට, කිහිප දෙනෙකුට සමාන වෙන්න පුලුවන්.

Primary Key

Candidate Key අතරින් වගු අතර සම්බන්ධතාවය ගොඩ නැගීම සදහා යොදා ගන්න candidate key එක තමයි ප්‍රාථමික යතුර වෙන්නෙ.

Alternate Key

Candidate Key අතරින් primary key ඇරෙන්න ඉතිරි keys තමයි Alternate Key වෙන්නෙ. කියන්න බලන්න මම දීපු example එකේ Alternate Key එක.. ඔව්. ID No.

Foreign Key.

Table දෙකක් අතර සම්බන්ධතාවය ගොඩ නැගීම සදහා කිසියම් වගුවක ප්‍රාථමික යතුර ඊට සම්බන්ධ වන වගුවේ ආගන්තුක යතුර (Foreign Key) වෙනවා.
ප්‍රාථමික යතුරේ සහ ආගන්තුක යතුරේ Field Name සමාන වෙන්න ඕන නැහැ.. ඒත් දත්ත වර්ගය සමාන වෙන්න ඕනෙ..
දැන් අපි බලමු මේ key SQL Command වලදි යොදන්නෙ කොහොමද කියලා..

Unique

කිසියම් Field එකක් table එකේ අනන්‍ය යතුර විදිහට හැදින්වීම සදහා භාවිතා කරනවා.. අපි හිතමු අනන්‍ය යතුර Emp.ID කියලා. මේ බලන්න..

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


Primary Key


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

පාඩමේ ගැටලුවක් ඔයාට ආවොත් කමෙන්ට් එකකින් අහන්න..

No comments:

Post a Comment