0% found this document useful (0 votes)
147 views11 pages

ملخص SQL

Sql statements (ORACLE)

Uploaded by

alinour30211
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
147 views11 pages

ملخص SQL

Sql statements (ORACLE)

Uploaded by

alinour30211
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Sql statements (ORACLE)

● SELECT​ - extracts data from a database


● INSERT INTO​ - inserts new data into a database
● UPDATE​ - updates data in a database
● DELETE​ - deletes data from a database
● CREATE TABLE​ - creates a new table
● DROP TABLE​ - deletes a table
● ALTER TABLE​ - modifies a table

First : Select statement

: ‫ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﺨﺘﺎر ﺟﻤﯿﻊ اﻷﻋﻤﺪة ﻓﻲ اﻟﺠﺪول‬


SELECT​ * ​FROM​ ​table_name​;
: ‫ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﺨﺘﺎر أﻋﻤﺪة ﻣﻌﯿﻨﺔ ﻓﻲ اﻟﺠﺪول‬
SELECT​ ​column1​,​ column2, …
FROM​ ​table_name​;
: ‫ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﺨﺘﺎر أﻋﻤﺪة ﻣﻌﯿﻨﺔ ﺑﺪون ﺗﻜﺮار ﻟﻠﻘﯿﻢ‬
SELECT​ ​DISTINCT​ ​column1​,​ column2, …
FROM​ table_name;

Where clause :
‫ ﯾﻌﻨﻲ اﻧﺎ ﻣﺶ ﻋﺎﯾﺰ ﻛﻞ اﻟﺼﻔﻮف وﻟﻜﻦ اﻟﺼﻔﻮف اﻟﻲ ﺗﺤﻘﻖ اﻟﺸﺮط ده‬،‫ ﻷﻋﻤﺪة ﻣﻌﯿﻨﺔ ﺑﺸﺮط ﻣﻌﯿﻦ‬select ‫ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﻌﻤﻞ‬
.‫ﺑﺲ‬
SELECT​ ​column1​,​ column2, …
FROM​ table_name
WHERE​ condition;

: Where ‫اﻟﺤﺎﺟﺎت اﻟﻠﻲ ﻣﻤﻜﻦ ﻧﺴﺘﻌﻤﻠﻬﺎ ﻓﻲ ﺷﺮط ال‬


Operator Description

= Equal

<> Not equal. Note: In some versions of SQL this operator may be written
as !=

> Greater than

< Less than

>= Greater than or equal

<= Less than or equal

BETWEEN Between an inclusive range

LIKE Search for a pattern

IN To specify multiple possible values for a column

NOT displays a record if the condition(s) is NOT TRUE.

OR ‫ أو‬AND ‫ﻣﻤﻜﻦ ﻧﺴﺘﻌﻤﻞ أﻛﺘﺮ ﻣﻦ ﺷﺮط وﻧﺮﺑﻂ ﺑﯿﻨﻬﻢ ب‬


SELECT​ column1, column2, ...
FROM​ table_name
WHERE​ condition1 ​AND​ condition2 ​OR ​condition3 ...;
(Null = ‫ )ﻣﺶ‬IS NULL ‫ ﻓﻲ اﻟﺠﺪول ﺑﻨﺴﺘﺨﺪم‬Null ‫ﻣﻬﻢ ﺟﺪا ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﺨﺘﺎر اﻟﻘﯿﻢ ال‬
SELECT​ ​column_names
FROM​ ​table_name
WHERE​ ​column_name​ ​IS​ ​NULL;

ORDER BY keyword :
ً
columns ‫ ﻣﻌﯿﻦ أو ﻣﺠﻤﻮﻋﺔ‬column ‫ﺗﻨﺎزﻟﯿﺎ ﺣﺴﺐ‬ ً
‫ﺗﺼﺎﻋﺪﯾﺎ أو‬ ‫ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﺮﺗﺐ اﻟﻘﯿﻢ اﻟﻠﻲ ﻫﺘﻈﻬﺮ‬
‫ ﻟﻠﺘﻨﺎزﻟﻲ‬DESC ‫ ﻟﻠﺘﺼﺎﻋﺪي أو‬ASC ‫وﻧﺴﺘﻌﻤﻞ ﻓﯿﻬﺎ إﻣﺎ‬
SELECT​ ​column1​,​ column2, …
FROM​ table_name
ORDER​ B
​ Y​ column1, column2, ... ​ASC​|​DESC​;

SELECT​ * F ​ ROM​ Customers


ORDER​ ​BY​ Country ​ASC​, CustomerName ​DESC​;
‫‪Second : Insert into statement‬‬

‫ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﺪﺧﻞ ﻗﯿﻢ ﻣﻌﯿﻨﺔ ﻓﻲ اﻟﺠﺪول‪ ،‬وﻟﻬﺎ ﻃﺮﯾﻘﺘﯿﻦ‬


‫اﻷوﻟﻰ ﻧﺪﺧﻞ ﻗﯿﻢ ﺣﺴﺐ ﺗﺮﺗﯿﺐ أﻋﻤﺪة اﻟﺠﺪول ‪:‬‬
‫‪INSERT​ ​INTO​ ​table_name‬‬
‫‪VALUES​ (v​alue1,‬‬ ‫‪​ ​ value2,‬‬
‫‪​ ​ value3,‬‬
‫;)‪​ ...‬‬

‫أو اﻧﻨﺎ ﻧﺨﺘﺎر أﻋﻤﺪة ﻣﻌﯿﻨﺔ أو ﺗﺮﺗﯿﺐ ﻣﻌﯿﻦ ﻟﻸﻋﻤﺪة ﺑﻨﻔﺴﻨﺎ‬


‫)ﻻزم ﯾﻜﻮن ال ‪ primary key‬ﻣﻮﺟﻮد ﻓﻲ اﻷﻋﻤﺪة اﻟﻠﻲ ﻫﻨﺨﺘﺎرﻫﺎ(‬
‫‪​ NTO​ ​table_name​ (​column1​,​ column2​,​ column3,‬‬
‫‪INSERT​ I‬‬ ‫)‪​ ...‬‬
‫‪VALUES​ (​value1,‬‬ ‫‪​ ​ value2,‬‬
‫‪​ ​ value3,‬‬
‫;)‪​ ...‬‬

‫‪Third : Update statement‬‬

‫ً‬
‫ﺳﺎﺑﻘﺎ ﺑﻨﺴﺘﺨﺪم ‪Update‬‬ ‫ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﻌﻤﻞ ﺗﻌﺪﯾﻞ ﻋﻠﻰ ﻗﯿﻢ دﺧﻠﻨﺎﻫﺎ ﻓﻲ اﻟﺠﺪول‬
‫‪UPDATE​ ​table_name‬‬
‫‪​ ​ value1,‬‬
‫= ‪SET​ ​column1‬‬ ‫= ‪​ ​ column2‬‬
‫… ‪​ ​ value2,‬‬
‫;‪WHERE​ condition‬‬

‫ﻣﻬﻢ ً‬
‫ﺟﺪا ﻟﻮ ﻣﻜﺘﺒﻨﺎش ‪ Condition‬ﻫﯿﺘﻢ ﺗﻌﺪﯾﻞ ﺟﻤﯿﻊ ﻗﯿﻢ اﻟﺠﺪول ﺑﺎﻟﻘﯿﻢ اﻟﺠﺪﯾﺪة اﻟﻠﻲ دﺧﻠﻨﺎﻫﺎ‬

‫‪Fourth : Delete statement‬‬

‫​ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﺤﺬف ﺻﻒ أو ‪ record‬اﺣﻨﺎ دﺧﻠﻨﺎه ﻗﺒﻞ ﻛﺪة‬


‫‪DELETE​ ​FROM​ ​table_name‬‬
‫;‪WHERE​ ​condition‬‬ ‫​‬

‫ﻣﻬﻢ ﺑﺮﺿﻮ ﻟﻮ ﻣﻜﺘﺒﻨﺎش ‪ Condition‬ﻫﯿﺘﻢ ﺣﺬف ﻛﻞ اﻟﻘﯿﻢ أو ال ‪ records‬ﻓﻲ اﻟﺠﺪول ) اﻟﻘﯿﻢ اﻟﻠﻲ ﻫﺘﺘﻤﺴﺢ ﻟﻜﻦ اﻟﺠﺪول ﻫﯿﻔﻀﻞ ﻣﻮﺟﻮد(‬
‫;‪ ​DELETE​ * ​FROM​ ​table_name‬أو ;​‪DELETE​ ​FROM​ ​table_name‬‬
‫​‬
‫‪SQL Like operator‬‬

‫ﺑﻨﺴﺘﺨﺪﻣﻬﺎ ﻓﻲ ال ‪ Conditions‬ﻟﻤﺎ ﻧﺒﻘﻰ ﻋﺎﯾﺰﯾﻦ ﻧﺪور ﻋﻠﻰ ﺣﺎﺟﺔ ﺑﺎﻟﺸﺒﻪ‪ ،‬ﯾﻌﻨﻲ ﺑﻨﺪور ﻋﻠﻰ ﺣﺎﺟﺔ ﻣﺶ ﻓﺎﻛﺮﯾﻨﻬﺎ ﺑﺲ ﻗﺮﯾﺒﺔ ﻣﻦ ﻛﻠﻤﺔ‬
‫ﻣﻌﯿﻨﺔ‪ ،‬أو ﻟﻤﺎ ﻧﺒﻘﻰ ﻋﺎﯾﺰﯾﻦ ﻧﺪور ﻋﻠﻰ ﺣﺎﺟﺔ ﻣﻤﻜﻦ ﺗﺘﻜﺘﺐ ﺑﻜﺬا ﺷﻜﻞ‪ ،‬زي اﺳﻢ ﻣﺤﻤﺪ ‪Mohammed, Mohamed, ..‬‬
‫‪.…Mohammed, Mohamed‬‬

‫ال ‪ Like‬ﺑﺴﺘﻌﻤﻞ ﻣﻌﺎﻫﺎ ﺣﺎﺟﺘﯿﻦ ‪ '%' :‬و '_' ﻋﺸﺎن ﻧﻔﻬﻢ اﻟﻜﻤﺒﯿﻮﺗﺮ اﯾﻪ اﻻﺳﻢ اﻟﻲ ﻋﺎﯾﺰﯾﻨﻪ ﺑﺎﻟﻈﺒﻂ او ﻫﻮ ﻗﺮﯾﺐ ﻣﻦ اﯾﻪ‬
‫‪ %‬ﺑﯿﺘﺤﻂ ﻣﻜﺎﻧﻬﺎ ﻣﻦ ﺻﻔﺮ ﻟﻌﺪد ﻻ ﻧﻬﺎﺋﻲ ﻣﻦ اﻟﺤﺮوف‬
‫_ ﺑﯿﺘﺤﻂ ﻣﻜﺎﻧﻬﺎ ﺣﺮف واﺣﺪ ﺑﺲ‬

‫اﻟﺠﺪول ده ﻣﻬﻢ ﻧﻔﻬﻤﻪ!‬


‫‪SELECT​ * ​FROM​ Customers‬‬
‫;​'‪WHERE​ CustomerName ​LIKE​ ​'a%‬‬

‫‪Sql in operator‬‬

‫ﺑﻨﺴﺘﻌﻤﻠﻬﺎ ﻟﻤﺎ ﻧﺴﺘﺨﺪم ‪ condition‬ﻋﻠﻰ ‪ column‬واﺣﺪ ﺑﻘﯿﻢ ﻣﺨﺘﻠﻔﺔ‬


‫ﺑﺪل ﻣﺎ ﻧﻌﻤﻞ ‪ OR‬ﻛﺬا ﻣﺮة ﺑﻨﺴﺘﺨﺪم ‪ IN‬ﺑﺲ ﻓﻲ ﺣﺎﻟﺔ أﻧﻪ ‪ column‬واﺣﺪ ﻓﻘﻂ‬
‫‪SELECT​ * ​FROM​ table_name‬‬
‫;)​‪WHERE​ column_name ​IN (​'value1'​, ​'value2', ...‬‬

‫‪Sql Between operator‬‬

‫ﺑﻨﺴﺘﺨﺪﻣﻬﺎ ﻟﻤﺎ ﻧﻜﻮن ﻋﺎﯾﺰﯾﻦ ﻧﻌﻤﻞ ‪ condition‬ب ‪ range‬ﻣﻌﯿﻦ‬


‫ً‬
‫ﻏﺎﻟﺒﺎ ﺑﻨﺴﺘﻌﻤﻠﻬﺎ ﻣﻊ ال ‪Salary‬‬
‫‪SELECT​ * ​FROM​ table_name‬‬
‫;​‪WHERE​ column_name ​BETWEEN ​1000 ​AND​ 2000‬‬
Sql : Alias

ً select ‫ ﺑﺎﺳﻢ ﻣﺆﻗﺖ واﺣﻨﺎ ﺑﻨﻌﻤﻞ‬Column ‫ أو‬table ‫ﺑﻨﺴﺘﺨﺪﻣﻬﺎ ﻟﻤﺎ ﻧﻜﻮن ﻋﺎوزﯾﻦ ﻧﺴﻤﻲ‬
‫ﻣﺜﻼ ﻋﺸﺎن ﯾﺒﻘﻰ واﺿﺢ ﻟﯿﻨﺎ‬
.‫ اﻻﺳﻢ ﯾﺨﺘﻔﻲ‬select statement ‫ ﻓﻘﻂ ﯾﻌﻨﻲ ﻣﺠﺮد ﻣﺎ اﺧﻠﺺ ﻣﻦ‬Query ‫وﺑﺘﺒﻘﻰ ﻣﻮﺟﻮدة أﺛﻨﺎء ال‬

SELECT​ ​column_name​ ​AS​ ​alias_name


FROM​ ​table_name;
: ‫ﻣﺜﺎل‬
SELECT​ ​column_name​ ​AS​ ​my_column
FROM​ ​table_name;

:‫وﻟﻠﺠﺪول‬
SELECT​ column_name(s)
FROM​ table_name ​AS​ alias_name;

ً ‫ﻟﻮ ﻗﺎﻟﻚ‬
: Proper name ‫ ﻣﻌﯿﻦ ﺑﺲ ﺑﺎﺳﻢ واﺿﺢ‬customer ‫ ﺑﺘﺎع‬Location ‫ﻣﺜﻼ ﺗﻌﺮض ال‬

SELECT​ Address + ​', '​ + PostalCode + ​' '​ + City + ​', '​ + Country ​AS​ Address

: ‫ﻓﺎ اﻟﻨﺎﺗﺞ ﻫﯿﺒﻘﻰ زي ﻛﺪة‬


Obere Str, 12209 Berlin, Germany
‫ و ﻓﺎﺻﻠﺔ وﺑﻌﺪﻫﺎ اﻟﺒﻠﺪ‬city ‫ ﺑﻌﺪﯾﻦ ﻣﺴﺎﻓﺔ وﺑﻌﺪﻫﺎ اﺳﻢ ال‬postalcode ‫ ﻓﺎﺻﻠﺔ ﺑﻌﺪﯾﻦ‬, ‫ ﺑﻌﺪﯾﻦ‬address ‫اﻟﻌﻨﻮان‬
: ‫ ﻫﯿﻜﻮن اﺳﻢ اﻟﻌﻤﻮد‬As address ‫ ﻟﻮ ﻣﻜﺘﺒﻨﺎش‬،‫ ﺑﺎﻟﻈﺒﻂ‬select ‫زي ﻣﺎ ﻛﺘﺒﻨﺎ ﻓﻲ ال‬
Address + ​', '​ + PostalCode + ​' '​ + City + ​', '​ + Country
.‫ وﻫﯿﺒﻘﻰ ﺳﻬﻞ وواﺿﺢ‬address ‫ ﻫﯿﺒﻘﻰ اﺳﻤﻪ‬As address ‫ﻟﻜﻦ ﻟﻤﺎ ﻧﺴﺘﺨﺪم‬

Sql Join statement

ً
‫اﻋﺘﻤﺎدا ﻋﻠﻰ ﻋﻼﻗﺘﻬﻢ ﺑﺒﻌﺾ‬ ‫ ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﺪﻣﺞ ﺟﺪوﻟﯿﻦ ﺑﺒﻌﺾ‬Join ‫ﺑﻨﺴﺘﺨﺪم‬
foreign key ‫ و‬primary key ‫ﯾﻌﻨﻲ ﯾﻜﻮن ﺑﯿﻨﻬﻢ ﻋﻼﻗﺔ و‬
SELECT​ Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM ​Orders ​JOIN ​Customers
ON​ Orders.CustomerID=Customers.CustomerID;

‫أو‬
SELECT​ Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM ​Orders, Customers
WHERE ​Orders.CustomerID=Customers.CustomerID;
ON ‫ وﻧﺴﺘﻌﻤﻞ ﺑﻌﺪﻫﺎ‬JOIN ‫ أو ﻧﻔﺼﻞ ﺑﯿﻨﻬﻢ ب‬WHERE ‫ﯾﺎ اﻣﺎ ﻧﻔﺼﻞ ﺑﯿﻨﻬﻢ ﺑﻔﺎﺻﻠﺔ وﻧﺴﺘﻌﻤﻞ ﺑﻌﺪﻫﺎ‬

‫ ﺣﺴﺐ اﻟﻌﻼﻗﺔ ﻣﺎ ﺑﯿﻨﻬﻢ‬condition ‫ ﻣﺎ ﺑﯿﻨﻬﻢ وال‬join ‫ ﻷﻋﻤﺪة ﻣﻮﺟﻮدة ﻓﻲ ﺟﺪوﻟﯿﻦ ﺑﻨﺴﺘﻌﻤﻞ‬select ‫ﯾﻌﻨﻲ ﻟﻮ ﻃﻠﺐ ﻧﻌﻤﻞ‬
Where First_table.primary_key = second_table.foreign_key; ‫ أو‬ON

Sql Aggregate functions

● COUNT()​ - ​the number of rows that matches a specified criteria.


● Avg()​ - ​the average value of a numeric column.
● SUM() ​- ​ the total sum of a numeric column.

Count ‫ﻟﻤﺠﻤﻮع اﻟﺼﻔﻮف‬


Avg ‫اﻟﻤﺘﻮﺳﻂ‬
Sum ‫اﻟﻤﺠﻤﻮع‬

​ , ​AVG​(​column_name​), ​SUM​(​column_name)
SELECT​ ​COUNT​(​column_name) ​
FROM​ ​table_name
WHERE​ ​condition​;

Group by statement :

‫ ﺑﺠﺪول او اﻛﺘﺮ‬result ‫ ﻟﻞ‬Group ‫ ﻟﻤﺎ ﻧﺤﺐ ﻧﻌﻤﻞ‬Aggregate functions ‫ﺑﻨﺴﺘﻌﻤﻠﻬﺎ ﻣﻊ ال‬


group ‫ ﻓﻲ اﻟﺠﺪول ﻋﻨﺪﻧﺎ وﺑﻌﺪﯾﻦ ﺣﺒﯿﻨﺎ ﻧﻌﻤﻞ‬Customers ‫ ﻟﻌﺪد ال‬Count ‫ ﻟﻮ ﺟﺒﻨﺎ‬: ‫ﻣﺜﺎل ﻻﺳﺘﺨﺪاﻣﻬﺎ‬
‫ ﺑﺘﺎﻋﺘﻬﻢ‬Country ‫ﻟﻬﺎ ﻋﻠﻰ ﺣﺴﺐ ال‬

SELECT​ ​column_name(s)
FROM​ ​table_name
WHERE​ ​condition
GROUP​ ​BY​ ​column_name(s)
ORDER​ B​ Y​ column_name(s);

: ‫ﻣﺜﺎل‬
SELECT​ ​COUNT​(CustomerID), Country
FROM​ Customers
GROUP​ ​BY​ Country;

‫ ﻓﯿﻬﺎ‬customers ‫اﻟﻨﺎﺗﺞ ﻫﯿﺒﻘﻰ اﺳﻢ ﻛﻞ اﻟﺪوﻟﺔ وﻋﺪد ال‬


HAVING statement :

where ‫ ﻣﺶ‬having ‫ ﺑﻨﺴﺘﺨﺪم‬Aggregate function ‫ﻟﻮ ﺣﺒﯿﻨﺎ ﻧﺴﺘﺨﺪم ﺷﺮط ﻣﻊ ال‬


Group by ‫وﺑﺘﺒﻘﻰ ﺑﻌﺪ‬
SELECT​ ​column_name(s)
FROM​ table_name
WHERE​ condition
GROUP​ B
​ Y​ column_name(s)
HAVING​ condition
ORDER​ B​ Y​ column_name(s);

ً ‫ﺑﻨﺴﺘﺨﺪﻣﻬﺎ ﻟﻮ ﺣﺒﯿﻨﺎ‬
‫ ﻣﺜﻼ‬5 ‫ ﻓﻲ اﻟﺒﻠﺪان زي اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺑﺲ ﺑﺸﺮط ان اﻟﻌﺪد ﯾﻜﻮن اﻛﺒﺮ ﻣﻦ‬customers ‫ﻣﺜﻼ ﻧﺠﯿﺐ ﻋﺪد ال‬
‫ ﺑﺎﻟﻈﺒﻂ‬WHERE ‫ زي‬conditions ‫وﻧﺴﺘﺨﺪم ﻓﯿﻬﺎ‬
SELECT​ ​COUNT​(CustomerID), Country
FROM​ Customers
GROUP​ ​BY​ Country
HAVING​ ​COUNT​(CustomerID) > 5
ORDER​ ​BY​ ​COUNT​(CustomerID) ​DESC​;
5 ‫ ﻓﯿﻬﺎ أﻛﺒﺮ ﻣﻦ‬customers ‫ ﺑﺲ اﻟﻠﻲ ﻋﺪد ال‬،‫ ﻣﺘﺮﺗﺒﺔ ﻣﻦ اﻷﻋﻠﻰ ﻟﻸﻗﻞ‬،‫ ﻓﻲ ﻛﻞ ﺑﻠﺪ‬customers ‫اﻟﻨﺎﺗﺞ ﻋﺪد ال‬

Fifth : Create table

: ‫ﻋﺸﺎن ﻧﻌﻤﻞ ﺟﺪول‬


CREATE​ ​TABLE​ ​ able_name (
t ​
column1 datatype​,
column2 datatype,​
column3 datatype, ​
....
);

: ‫ﻋﺸﺎن ﻧﻌﻤﻞ ﺟﺪول ﻧﺴﺨﺔ ﻣﻦ ﺟﺪول ﺗﺎﻧﻲ‬

CREATE​ ​TABLE​ ​table_name


AS SELECT ​column1, column2, …
FROM ​another_table
WHERE ​condition;
(another_table ‫ )اﻟﻲ ﻫﻮ‬FROM ‫ ﻣﻦ اﻟﺠﺪول ﺑﻌﺪ‬As ‫ ﺑﺎﻷﻋﻤﺪة اﻟﻠﻲ اﺧﺘﺮﻧﺎﻫﺎ ﻓﻲ‬table_name ‫ﻛﺪة ﻫﯿﻌﻤﻞ ﺟﺪول اﺳﻤﻪ‬
Sixth : Drop table

‫ﻟﻮ ﺣﺒﯿﻨﺎ ﻧﻤﺴﺢ اﻟﺠﺪول ﺧﺎﻟﺺ‬


DROP​ ​TABLE​ ​table_name​;

‫وﻟﻮ ﺣﺒﯿﻨﺎ ﻧﻤﺴﺢ اﻟﺒﯿﺎﻧﺎت اﻟﻠﻲ دﺧﻠﻨﺎﻫﺎ ﺑﺲ وﻧﺨﻠﻲ اﻟﺠﺪول‬



TRUNCATE​ ​TABLE​ ​table_name;
‫أو‬
DELETE​ ​FROM​ ​table_name;

Seventh : Alter table

We use alter to :
● Add column
● Drop column
● Modify column

Add column : ‫ﻋﺸﺎن ﻧﻀﯿﻒ‬


ALTER​ ​TABLE​ ​table_name
ADD​ ​column_name datatype;​

Drop column : ‫ﻋﺸﺎن ﻧﻤﺴﺤﻪ‬


ALTER​ ​TABLE​ t
​ able_name
DROP​ ​COLUMN​ c​ olumn_name​;

Modify column : ‫ﻋﺸﺎن ﻧﻌﺪل ﻋﻠﯿﻪ‬


ALTER​ ​TABLE​ ​table_name
MODIFY COLUMN​ ​column_name datatype​;

Sql Constraints

‫ﻫﻲ ﻗﯿﻮد أو ﻗﻮاﻋﺪ ﺑﻨﺤﻄﻬﺎ ﻟﻠﺒﯿﺎﻧﺎت ﻓﻲ اﻟﺠﺪول ﺑﺘﺎﻋﻨﺎ‬

● NOT NULL​ - Ensures that a column cannot have a NULL value


● UNIQUE ​- Ensures that all values in a column are different
● PRIMARY KEY ​- A combination of a NOT NULL and UNIQUE. Uniquely identifies each
row in a table
● FOREIGN KEY ​- Uniquely identifies a row/record in another table
● CHECK ​- Ensures that all values in a column satisfies a specific condition
● DEFAULT ​- Sets a default value for a column when no value is specified

Constraints ‫ﻓﻲ ﺛﻼث ﻃﺮق ﻋﺸﺎن ﻧﻌﻤﻞ‬


● Column level
● Table level
● Alter

COLUMN LEVEL ‫ ﻟﻠﺠﺪول‬create ‫اﻟﻄﺮﯾﻘﺔ اﻷوﻟﻰ أﺛﻨﺎء ﻋﻤﻞ‬


CREATE​ ​TABLE​ ​table_name (
column1 datatype​ ​constraint​,
column2 datatype​ ​constraint​,
column3 datatype​ ​constraint​,
....

);

(column ‫ ﻟﻨﻔﺲ ال‬constraint ‫ )ﻣﻤﻜﻦ ﻧﻌﻤﻞ ﻛﺬا‬: ‫ﻣﺜﺎل‬


CREATE​ ​TABLE​ Persons (
ID number(3) ​NOT​ ​NULL​ ​PRIMARY KEY​,
LastName varchar(255) ​NOT​ ​NULL​,
FirstName varchar(255),
Age number(2)

);

TABLE LEVEL ‫ اﻟﺠﺪول‬create ‫اﻟﻄﺮﯾﻘﺔ اﻟﺜﺎﻧﯿﺔ أﺛﻨﺎء ﻋﻤﻞ‬


CREATE​ ​TABLE​ Persons (
ID number(3),
LastName varchar(255),
FirstName varchar(255),
Age number(2),
​CONSTRAINT​ constraints_name ​PRIMARY KEY​ (ID)
);

: Alter ‫اﻟﻄﺮﯾﻘﺔ اﻟﺜﺎﻟﺜﺔ ﺑﺎﺳﺘﺨﺪام‬


ALTER​ ​TABLE​ Persons
ADD​ ​CONSTRAINT​ UC_Person ​UNIQUE​ (ID, LastName);
: constraint ‫ﻋﺸﺎن ﻧﻤﺴﺢ‬
ALTER​ ​TABLE​ Persons
DROP​ ​CONSTRAINT ​UC_Person;

: constraints ‫ﺷﺮح ال‬


Not null :
‫ ده ﻗﯿﻤﺔ ﻣﯿﻨﻔﻌﺶ ﻧﺴﯿﺒﻪ ﻓﺎﺿﻲ‬column ‫ﯾﻌﻨﻲ ﻻزم ﻟﻤﺎ ﻧﺪﺧﻞ ﻗﯿﻢ ﻧﺪي ﻟﻞ‬

Unique :
‫ﯾﻌﻨﻲ اﻟﻘﯿﻤﺔ دي ﻣﯿﻨﻔﻌﺶ ﺗﺘﻜﺮر ﻓﻲ اﻟﺠﺪول ﺑﺘﺒﻘﻰ ﻓﺮﯾﺪة‬

Primary key :
‫ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ‬unique ‫ و‬not null ‫ده ﺑﯿﺒﻘﻰ‬

Foreign key :
‫ ﺑﺘﺎع ﺟﺪول ﺗﺎﻧﻲ ﺧﺎﻟﺺ‬primary key ‫ زﯾﺎدة ﻓﻲ اﻟﺠﺪول وﺑﯿﻤﺜﻞ ال‬column ‫ده ﺑﯿﺒﻘﻰ ﻣﻔﺘﺎح أو‬

Check :
ً ‫ده ﺑﯿﺒﻘﻰ‬
‫ ﻣﻌﯿﻦ‬range ‫ﻏﺎﻟﺒﺎ ﻓﻲ اﻷرﻗﺎم ﺑﯿﺠﺒﺮ اﻟﻠﻲ ﯾﺪﺧﻞ ﻗﯿﻢ ﻓﻲ اﻟﺠﺪول ﯾﺪﺧﻞ رﻗﻢ ﻓﻲ‬

Default :
NULL ‫ ﻗﯿﻤﺔ ﻣﻌﯿﻨﺔ ﻓﻲ ﺣﺎﻟﺔ اﻟﻠﻲ ﺑﯿﺪﺧﻞ ﻗﯿﻢ ﺳﺎﺑﻪ ﻓﺎﺿﻲ‬column ‫ده ﺑﯿﺪي ﻟﻞ‬

: foreign key ‫ﻣﺜﺎل ﻟﻞ‬


CREATE​ ​TABLE​ Orders (
OrderID number(3) ​PRIMARY​ ​KEY​,
OrderNumber number(3),
PersonID number(3) ​FOREIGN​ ​KEY​ ​REFERENCES​ Persons(PersonID)
);
Persons ‫ اﻟﻲ ﻓﻲ ﺟﺪول‬personID ‫ ﺑﯿﻤﺜﻞ ال‬Foreign ‫ ﻣﻔﺘﺎح أﺟﻨﺒﻲ‬personID ‫ﻛﺪة‬

: check ‫ﻣﺜﺎل ﻟﻞ‬


CREATE​ ​TABLE​ Persons (
ID number(3),
LastName varchar(255),
FirstName varchar(255),
Age int ​CHECK​ (Age>=18)
);

: Default ‫ﻣﺜﺎل ﻟﻞ‬


CREATE​ ​TABLE​ Orders (
ID number(3),
OrderNumber number(3),
OrderDate date ​DEFAULT​ GETDATE()
City varchar(255) ​DEFAULT​ ​'Sandnes'
);

GETDATE() ‫ﻫﺘﺠﯿﺐ اﻟﺘﺎرﯾﺦ اﻟﺤﺎﻟﻲ ﻟﻠﻜﻤﺒﯿﻮﺗﺮ‬

(‫ )ﻣﺨﺘﻠﻒ ﻋﻦ اﻟﺒﺎﻗﻲ‬: alter ‫ﺑﺎﺳﺘﺨﺪام‬


ALTER​ ​TABLE​ Persons
MODIFY​ City ​DEFAULT​ '
​ Sandnes'​;

You might also like