SQL

Download as pdf or txt
Download as pdf or txt
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