Monday, September 22, 2014

sql

MySQL - Basics

MySQL - Basics
දැන් MySQL හි භාවිතා වන මූලික command ගැන සලකා බලමු.
show databases ;
දැනට පවතින MySQL Databases වල list එකක් ලබා ගැනීම සඳහා භාවිතා කරයි.
create database ;
අළුතින් database එකක් නිර්මාණය කිරීම සඳහා භාවිතා කරයි.
උදා : create database myDB ;
drop database ;
දැනට පවතින database එකක් delete කිරීම සඳහා භාවිතා කරයි.
උදා : drop database myDB ;
use ;
Database එකක් open කර ගැනීමට භාවිතා කරයි.
උදා : use myDB ;
show tables ;
දැනට Open කර ඇති database එකේ ඇති tables වල list එකක් ලබා ගැනීම සඳහා භාවිතා කරයි.
desc ;
දෙන ලද table එකක meta data ලබා ගැනීම සඳහා භාවිතා කරයි.
උදා : desc myTable ;
01
NOTE :
create සහ drop commands සඳහා if exists හෝ if not exists යන යෙදුම් භාවිතා කිරීමෙන් ඒවා‍ ක්‍රියාත්මක වීමේදී ඇතිවන errors නවතාලිය හැක. එසේ MySQL Script එකක් run කරවීමේදී ඇති විය හැකි errors අවම කලයුතු අතර මන්දයත්, මෙම errors නිසා සමහර විට අපගේ ඉතිරි commands run නොවීමට ඉඩ ඇති බැවිනි.
පැහැදිලි කිරීම :
create database myDB ; ලෙස ලබා දුන් විට දැනටමත් myDB ලෙස database එකක් පවතී නම් error එකක් ලබා දේ.
එවිට create database if not exist myDB; ලෙස ලබා දුන් විට myDB ලෙස database එකක් නැතිනම් පමණක් එය නිර්මාණය කරයි.
drop database myDB ; ලෙස ලබා දුන් විට දැනට myDB ලෙස database එකක් නැතිනම් error එකක් ලබා දේ.
එවිට drop database if exist myDB; ලෙස ලබා දුන් විට myDB ලෙස database එකක් තිබේ නම් පමණක් එය ඉවත් කරයි.

Tables නිර්මාණය කිරීම

මේ සඳහා create tablecommand එක භාවිතා කරයි.මෙහි syntax එක විස්තර කරනවාට වඩා උදාහරණ මගින් පැහැදිලි කරන විට වඩා හොඳින් අවබෝධ කරගත හැකි වනු ඇත.NOTE:
MySQL Scripts run කිරීම සඳහා අප භාවිතා කරන්නේ MySQL CommandLine Client බැවින් type කරන commands edit කර ගැනීම අපහසුය. එනිසා ඒවා වෙනම text file එකක type කර පසුව MySQL CommandLine Client හි paste කරන්න.එවිට type කල command එක දෝෂ සහගත වුවත් text file එකේ ඇති copy එක වෙනස් කර නැවත භාවිතා කල හැක.
සරල Table එකක් නිර්මාණය කිරීමට ලියා ඇති සරලම ආකාරයේ MySQL script එකක් පහත දැක්වේ.
(මෙය run කිරීමට පෙර ඔබට අවශ්‍ය database එක නිර්මාණය කර use command එක මගින් එය තුලට ඇතුලත් වී තිබිය යුතුය.)
create table student(student_id varchar(10) not null,student_name varchar(50) not null,age int(2) default 5);
මෙය කියවීමට අපහසු බැවින් පහත පරිදි එය පේලි වලට වෙන් කර type කිරීම සම්ප්‍රදායිකව සිදු කරනු ලබයි.
 create table student(
  student_id varchar(10) not null,
  student_name varchar(50) not null,
  age int(2) default 5
 );
පැහැදිලි කිරීම :
  • create table student - මෙහි student යනු නිර්මාණය වීමට අවශ්‍ය table එකේ name එක වේ.
  • ; - ඕනෑම MySQL command එකක් අවසානයේ semi-colon ( ; ) එකක් යෙදිය යුතුය.
  • student_id varchar(10) not null
    student_id යනු අදාල column එකේ name එකයි.
    varchar(10) හි varchar යනු student_id සඳහා ලබාදෙන data type එකයි. වරහන් තුල ලබා දී ඇත්තේ ඒ සඳහා තිබිය හැකි උපරිම අකුරු ගණන වේ.
    not null යන්නෙන් නිරූපණය වන්නේ student_id සඳහා අනිවාර්යෙන්ම value එකක් තිබිය යුතු බවයි.
  • student_name varchar(50) not null - ඉහත අයුරින්ම වේ.
  • age int default 5
    age යනු අදාල column එකේ name එකයි.
    int යනු age සඳහා ලබාදෙන data type එකයි.
    default 5 යන්නෙන් නිරූපණය වන්නේ age සඳහා value එකක් ලබා නොදුනහොත් ඒ සඳහා MySQL විසින් ලබාදිය යුතු default value එකයි.

Columns සඳහා යෙදිය හැකි ප්‍රධාන data types

varcharVariable Charactersඅකුරු, ඉලක්කම් වැනි ගණිතමය වටිනාකමක් රහිත විවිධ දිගින් යුත් text සඳහා භාවිතා කරයි.
උපරිම අකුරු ගණන 255 කි.

උදා :
varchar(10) ලෙස ඇති නම් උපරිම වශයෙන් අකුරු 10 කින් යුත් text සඳහා භාවිතා කරයි.
charCharactersදී ඇති නිශ්චිත දිගකින් යුත් අකුරු, ඉලක්කම් වැනි ගණිතමය වටිනාකමක් රහිත text සඳහා භාවිතා කරයි.
උපරිම අකුරු ගණන 255 කි.

උදා :
nic char(10) ලෙස ඇති නම් අනිවාර්යෙන් අකුරු 10 කින් යුත් text සඳහා භාවිතා කරයි.
intIntegersනිඛිල (Integers) ගබඩා කිරීමට භාවිතා කරයි.
-2147483648 සිට 2147483647 දක්වා හෝ 0 සිට 4294967295 දක්වා UNSIGNED (ධන සංඛ්‍යා පමණක්) වශයෙන් භාවිතා කලහැක.

උදා :
int points ලෙස ඇති නම්
int age unsigned ලෙස ඇති නම් තිබිය හැක්කේ ධන සංඛ්‍යා පමණි.

int(5) වශයෙන් ලියූ විට ZeroFill on කර තිබේ නම් ඉලක්කමක අනිවාර්යෙන් තිබිය යුතු ඉක්කම් ගණන නිරූපණය කලහැක.එම ඉලක්කම් ගණනට අඩුවෙන් ඉලක්කම් ඇති අගයක් දුන් විය ඉතිරිය 0 වලින් පිරේ.

උදා :
int(5) distance unsigned zerofill ලෙස ඇති විට එම column එකට 3 ඇතුලත් කල විට එය ගබඩා වන්නේ 00003 ලෙසයි.
doubleFloating Point Numbersදශම සංඛ්‍යා ගබඩා කිරීමට භාවිතා කරයි.
-1.7976931348623157E+308 සිට -2.2250738585072014E-308 දක්වා, 0, සහ 2.2250738585072014E-308 සිට 1.7976931348623157E+308 ඉලක්කම් භාවිතා කලහැක.
double(7,2) වශයෙන් ලියූ විට ගබඩා කලහැකි ඉලක්කම් වල උපරිම වශයෙන් සංඛ්‍යා 7ක් ද දශම තිතෙන් පසුව උපරිම වශයෙන් ඉලක්කම් 2 ක් ද තිබිය හැකි බව නිරූපණය කලහැක.

උදා :
qty double(6,2) ලෙස ඇති නම් උපරිම වශයෙන් ඉලක්කම්(දශම සංඛ්‍යාද ඇතුළුව) 6 ක් තිබිය හැකි අතර දශම කොටසේ ඉලක්කම් 2ක් උපරිම වශයෙන් තිබිය හැකි බව නිරූපණය කරයි.
booleanTrue/Falsetrue හෝ false ගබඩා කර ගබා ගනී.

උදා :
isProcessed boolean
dateDateYYYY-MM-DD ආකාරයේ දිනයක් ගබඩා කර ගබා ගනී.
'1000-01-01' සිට '9999-12-31' දක්වා දිනයන් ඇතුලත් කලහැක.

උදා :
joinedDate date
timeTimeHH:MM:SS ආකාරයේ වේලාවක් ගබඩා කර ගබා ගනී.
'-838:59:59' සිට '838:59:59' දක්වා වේලාවන් ඇතුලත් කලහැක.

උදා :
retunTime time
datetimeDate & TimeYYYY-MM-DD HH:MM:SS ආකාරයෙන් දිනයක් සහ වේලාවක එකතුවක් ගබඩා කර ගබා ගනී.
'1000-01-01 00:00:00' සිට '9999-12-31 23:59:59' දක්වා ඇතුලත් කලහැක.

උදා :
fileCreated datetime

MySQL - හැඳින්වීම

MySQL - හැඳින්වීම

mysql
MySQL යනු SQL(Structured Query Language) මගින් ව්‍යුත්පන්න වූ Free and Open DBMS(Database Management System) එකකි. මෙය Server එකක් ලෙස ක්‍රියා කරන බැවින් එය හා සම්බන්ධ වීමට අපට තවත් මෘදුකාංග ඉතා සහසුවෙන් භාවිතා කල හැක.තවද වෙනත් පරිගණක භාෂාවන් සමඟ වුවද ඉතාමත් පහසුවෙන් සම්බන්ධ කල හැකි නිසා අද වන විට ඉතාමත් ජනප්‍රිය වී ඇත.එමෙන්ම මෙය පරිගණක ජාලයක් තුල වුවද ඉතාමත් පහසුවෙන් ස්ථාපිත කර භාවිතා කලහැකි බැවින් Servers වල දත්ත කළමණාකරණය සදහා භාවිතා කරන ප්‍රභල මෙවලමක් වී ඇත.

MySQL හි විශේෂතා

  • MySQL Server එක සඳහා අවශ්‍ය වන ඉඩ ප්‍රමාණය අඩුය.(උපරිම වශයෙන් 100Mb)
  • ස්ථාපනය කිරීමට වෙනත් Software අනවශ්‍යයි.
  • වෙනත් පරිගණක භාෂා(Java,PHP) මගින් පහසුවෙන් MySQL Server එකට සම්බන්ධ විය හැක.
  • සාමාන්‍ය ඉංග්‍රීසි වචන භාවිතා වන නිසා ඉගෙන ගැනීම සහ භාවිතය පහසුය.

MySQL භාවිතා කිරීමට නම්....

  • පළමුව MySQL Server එක download කරගෙන install කරගත යුතුය.
  • Server Side Programming කිරීමට බලාපොරොත්තු වේ නම්(උදා:PHP) WAMP,XAMPP,LAMP වැනි Package එකක් වුවද install කර ගතහැක.
  • එය නිවැරදිය configure කරගත යුතුය.
  • Third Party Software අවශ්‍ය නම් ඒවාද install කර ගන්න.
  • උදා:
    • MySQL Query Browser
    • Heidi SQL
    • MySQL GUI Tools
    • MySQL Administrative Tools
    • PHPMyAdmin(PHP සහිත server එක්ක භාවිතා කරන්නේ නම් පමණි.)
  • දත්ත සමුදා කළමණාකරණය ගැන න්‍යායික දැනුම.
  • නිවැරදිව Database එකක් නිර්මාණය කර එය නිවැරදිව හා කාර්යක්ෂමව ක්‍රියා කරවීම සදහා න්‍යායික කරුණු අත්‍යාවශ්‍ය වේ

2 comments: