You are on page 1of 54

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:

You might also like