DDL DML
Data Data
Definition Manipulation
Language Language
CREATE SELECT
ALTER INSERT INTO
DROP UPDATE
RENAME
DELETE
ඇයි MySQL?
Free & Open Source
Relational DBMS
Used by Facebook, Twitter, Airbnb, Booking.com, Uber, GitHub, YouTube,
etc.
WAMP Server
ක ොක ොමද MySQL Database දන්කෙ?
දත්ත සමුදායක් නිර්මාණය කිරීම
CREATE DATABASE database_name;
උදා:
CREATE DATABASE School;
නිර්මාණය රෙ ද දත්ත සමුදායන් බා ගැනීමට
SHOW DATABASES;
SHOW DATABASES;
දත්ත සමුදායක් තුට පිවිසීම
USE database_name;
උදා:
USE Company;
දත්ත සමුදාය තු ලගු බා ගැනීම සඳ ා පිවිසීම
SHOW tables;
CREATE TABLE table_name (column_name1
data_type(length) NOT NULL, column_name2
data_type(length) NOT NULL, primary key(column_name));
උදා:
CREATE TABLE Persons (PersonID int(8) NOT NULL,
LastName varchar(60), FirstName varchar(60) NOT NULL,
Address varchar(100) NOT NULL, City varchar(30) , PRIMARY
KEY(PersonID));
උදා:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);
CREATE TABLE table_name (column_name1 data_type(length)
NOT NULL, ……., primary key(column_name));
උදා:
• CREATE TABLE Persons (PersonID int(8) NOT NULL, LastName
varchar(60), FirstName varchar(255) NOT NULL, Address
varchar(100) NOT NULL, City varchar(30) , PRIMARY
KEY(PersonID));
Persion
PersonID PersonName
PK
OrderDetails
OrderID OrderDesc PersonID
FK
CREATE TABLE table_name (column_name1 data_type(length) NOT NULL, column_name2
data_type(length) NOT NULL, …….
PRIMARY KEY(column_name1),
FOREIGN KEY(column_name2) REFERENCES second_table_name (column_name2));
උදා:
CREATE TABLE Order (OrderID int(8) NOT NULL, OrderDesc varchar(50), PersonID int(8) NOT
NULL, PRIMARY KEY(OrderID), FOREIGN KEY(PersonID) REFERENCES Person(PersonID);
ALTER TABLE <table_name> ADD PRIMARY KEY <column_name>
උදා:
ALTER TABLE Persons ADD PRIMARY KEY(PersonID));
• ALTER TABLE table_name ADD FOREIGN KEY
column_name REFERENCES
second_table_name (column_name)
• උදා:
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Person(PersonID);
• ALTER TABLE table_name DROP PRIMARY KEY;
• ALTER TABLE table_name DROP FOREIGN KEY;
උදා:
ALTER TABLE Persons DROP PRIMARY KEY(PersonID));
ALTER TABLE Order DROP FOREIGN KEY(PersonID))
• ALTER TABLE table_name ADD column_name data_type(
length);
උදා:
ALTER TABLE Persons ADD DateOfBirth Date;
• ALTER TABLE table_name MODIFY COLUMN column_name
data_type( length);
උදා:
ALTER TABLE Persons MODIFY COLUMN DateOfBirth Year;
ALTER TABLE table_name DROP COLUMN column_name;
උදා:
ALTER TABLE Persons DROP COLUMN DateOfBirth;
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);
උදා:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES (‘Piyadasa', 'T. Piyadasa’, ‘Samagi Mw.’, ‘Colombo 3’, 1200, ‘Sri Lanka’);
INSERT INTO Customers
VALUES (‘Piyadasa', 'T. Piyadasa’, ‘Samagi Mw.’, ‘Colombo 3’, 1200, ‘Sri Lanka’);
INSERT INTO table_name SET column1= value1, column2= value2;
උදා:
INSERT INTO Customers SET CustomerName= ‘Piyadasa', ContactName= 'T.
Piyadasa’, Address= ‘Samagi Mw.’, City=‘Colombo 3’, PostalCode= 1200,
Country= ‘Sri Lanka’;
UPDATE table_name SET column1=value1, column2=value2 WHERE
Condition
උදා:
UPDATE Customers
SET ContactName = ‘T.P.Bandara', City = ‘Rajagiriya'
WHERE CustomerID = 1;
PersonID = 1122 ලන උඳැකියානයේ (record) FirstName , Amal යස යලනස්
කිරීම
PersonID = 1122 ලන උඳැකියානයේ (record) FirstName , Amal යස යලනස් වූ ඳසු
Output
• DELETE FROM table_name WHERE
some_column=some_value;
උදා:
DELETE FROM Customers WHERE CustomerID = 1;
උපැකි කීපයක් පමණක් සමග දත්ත කත්රීමට
SELECT column1, column2, ... FROM table_name;
උදා:
SELECT CustomerName, City, Country FROM Customers;
ලගුකේ උපැකි සියල්ම සමඟ දත්ත කත්රීමට
SELECT * FROM table_name;
උදා:
SELECT * FROM Customers;
SELECT FirstName, LastName FROM person;
SELECT * FROM person;
උපැකිය ට අදා දත්ත කලෙස් දත්ත පමණක්
කත්රීමට (Duplicate කෙොමැතිල ) DISTINCT භාවිත කේ.
SELECT DISTINCT column FROM table_name;
උදා:
SELECT DISTINCT Country FROM Customers;
උපැකි කීපයක් පමණක් කත්රීමට
SELECT column1, column2, ... FROM table_name WHERE condition;
උදා:
SELECT CustomerName, City, Country FROM Customers WHERE Country= ‘Sri Lanka’;
ලගුකේ උපැකි සියල්ම කත්රීමට
SELECT * FROM table_name WHERE condition ;
උදා:
SELECT * FROM Customers WHERE CustomerID= 1234;
Output:
කමක යුම් ාර විස්තරය
= සමාන
> විාතර
< කුඩාතර
>= විාතර ය ෝ සමාන
<= කුඩාතර ය ෝ සමාන
<> අසමාන .
සම ර version ල != කුණද භාවිත යේ
BETWEEN යම් ඳරාසයක් තු
LIKE යම් රටාලක් යසවීම ස ා භාවිත කරයි
IN To specify multiple possible values for a column උඳැකියක් ස ා බහු අගයන් ඳලතින විට භවිත කරයි
AND
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
SELECT * FROM Customers
WHERE Country = ‘Sri Lanka' AND City = ‘Kurunegala'
OR
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
SELECT * FROM Customers
WHERE City= ‘Tissamaharama' OR City = ‘Kurunegala’;
NOT
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
SELECT * FROM Customers
WHERE NOT City= ‘Kurunegala’;
MIN
SELECT MIN(columnName) FROM table_name
WHERE condition;
යතොරාගත්උඳැකියක කුඩාම අගය බා යේ
SELECT MIN(UnitPrice) FROM Product WHERE SupplieID=
2233;
MAX
SELECT MAX(columnName) FROM table_name
WHERE condition;
යතොරාගත්උඳැකියක විාතම අගය බා යේ
SELECT MAX(UnitPrice) FROM Product WHERE SupplieID=
2233;
COUNT
SELECT COUNT(columnName) FROM table_name
WHERE condition;
ලගුලක යදනු බන වියේෂිත නිර්ණායකයකට අනුල
ගැයඳන යේලි ගණන output යස බා යේ
SELECT COUNT(ProductID) FROM Product WHERE SupplierID=
2233;
SELECT COUNT
SUM
SELECT SUM(columnName) FROM table_name
WHERE condition;
ලගුලක යදනු බන වියේෂිත නිර්ණායකයකට අනුල
සංඛ්යාත්මක උඳැකියය එකතුල output යස බා යේ
SELECT SUM(Quantity) FROM Order WHERE SupplierID= 2233;
Output:
AVG
SELECT AVG(columnName) FROM table_name
WHERE condition;
ලගුලක යදනු බන වියේෂිත නිර්ණායකයකට අනුල
සංඛ්යාත්මක උඳැකියය සමාන්යය output යස බා යේ
SELECT AVG(Price) FROM OrderDetails WHERE CustomerID=
1234;
Output:
GROUP BY
උපැකි එ ක් ක ෝ කීපයක් භාවිතකයන් ාණ්ඩ කිරීමට group by
කයොදාගනී.
SELECT column-names FROM table-name WHERE condition GROUP
BY column-names
SELECT COUNT(CustomerId), Country FROM Customer GROUP BY
Country;
ORDER BY
සංඛ්යාත්ම උපැකියක් භාවිතකයන් ආකරෝ ණ (ASC)ආ ාරයට ක ෝ අලකරෝ ණ
(DESC) ආ ාරයට සැ සීමට භාවිත රයි
SELECT column-names FROM table-name WHERE condition GROUP BY column-
names, ORDER BY column-names
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
Output:
LIKE සමඟ යදනු බන වියේෂිත නිර්ණායකයකට අනුල
ලගුලකින් දත්ත යත්රීම සිදුකරයි.
SELECT column1, column2,… FROM table_name
WHERE columnN LIKE pattern;
SELECT * FROM Customer WHERE CustomerName LIKE ‘S%'
මගින් Customer ලගුයේ ඇති Customer අකුරින් ඳටන් ගන්නා නම්
සහිත යේලි ලගුයල සියලු උඳැකි සමඟ output කරයි.
LIKE
% කුණ මගින් ශූන්ය, එක ය ෝ ඊට ලැඩි අකුරු ගණනක්
නිරඳණය කරයි
_ (යට ඉර ) මගින් තනි එක් අකුරක් නිරඳණය කරයි
SELECT * FROM Customer WHERE CustomerName LIKE ‘S___%'
මගින් Customer ලගුයේ ඇති Customer S අකුරින් ඳටන් ගන්නා ස
අඩුම තරමින් අකුරු 4කින් යුතු නම් සහිත යේලි ,ලගුයල සියලු
උඳැකි (fields) සමඟ output කරයි.
JOIN / INNER JOIN
ලගුයදයකහිම ගැයඳන අගයන් සහිත උඳැකියාන output යස
බා යේ.
ලගු යදක සම්බන්ධ කිරීම ස ා Primary key , Foreign key
සම්බන්ධතලය යයොදා ගැයන්.
SELECT Orders.OrderID, Customers.CustomerName,
Orders.OrderDate FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.Cust
omerID;
Output: