: إلنشاء قاعدة بيانات
Create Database School ;
use mester => use school اختار بدل
: إلنشاء جدول
في االقواس بنكتب االسماء ونوعها
Create table teacher
ID int ,
Name varchar (25),
Department varchar (20),
City varchar (10),
Salary mony,
Mobile varchar (11)
);
: إلظهار الجدول
Select * from teacher ;
: إلضافة بيانات
Insert into teacher ( column1 , column2 , column3 )
values ( vals1 , vals2 , vals3);
single guotation ( ' ' ) النصوص بين
: عمليات حسابية على الجدول
Select column1 + 10 from teacher ;
: Where عملية الشرط
Select * from teacher where name = Abdelrhman ;
المعامالت المنطقية
And عرض بيانات والزم الشرطين صحيحين
Select * from teacher where id >= 3 and age <= 44 ;
Or عرض بيانات والبد احد الشرطين صحيح
Select * from teacher where age < 43 or age = 43 ;
In عرض بيانات عند تحديد قيم مباشرة
Select * from teacher where id in ( 5 , 8 ) ;
Between " " تعرض من " " الى
Select * from teacher where Id between 3 and 5 ;
Union All عرض محتوى جدولين تلو االخر
Select * from student union all select * from teacher ;
Union عرض محتوى جدولين مع حذف السجالت المكررة
Select * from student union select * from teacher ;
Minus عرض سجالت موجودة في جدول و غير موجودة في الجدول التاني
Select * from student minus select * from teacher ;
Aliases استدعاء الحقول بأسماء مستعارة
Select column_name As alias_name From table_name ;
Concatenation ربط بين الحقول ببعضها البعض
Select column1 , column2 , column1||column2 AS new_column From
table ;
Distinct منع تكرار السجالت داخل الحقول
Select Distinct column1 , column2 from table ;
SP_help إظهار البناء الداخلي للحقل
SP_help table ;
Like % يستخدم لإلشارة الى حرف في موقع معين من النص% الرمز
Select * from table_name Where name like ' A%' ;
A استرجاع جميع االسامي في بدايتها حرف
Select * from table_name Where name like ' %A' ;
A استرجاع جميع االسامي في نهايتها حرف
Like _ موقع الحرف في الكلمة
Select * from table_name Where name like ' __A' ;
( ASC ) A to Z استرجاع االسماء من
SELECT name FROM student ORDER BY name ASC
( DESC ) Z to A استرجاع االسماء من
Select name from student order by name SESC
Single Row functions
Character functions
Lower <= small تحويل الكلمة الى حروف-1
SELECT LOWER(column_name) FROM table_name;
Upper <= capital اللىsmall تحويل الحرف-2
SELECT UPPER(column_name) FROM table_name;
initcap <= small اللىcapital تحويل الحرف-3
SELECT INITCAP(column_name) FROM table_name;
Concat <= ) || ( دالة ربط مثل أداة الربط-4
SELECT CONCAT(column1, ' ', column2) FROM table_name;
Substring <= قطع حروف من الكلمة-5
SELECT SUBSTRING (column_name, start_position, length) FROM
table_name;
Len <= عدد الحروف الموجودة في الكلمة-6
SELECT LEN (column_name) FROM table_name;
Inster <= تحديد رقم الحرف المطلوب-7
SELECT INSTR(column_name, 'search_string') FROM table_name;
Lpad <= تحريك الكلمة في اتجاه اليمين-8
SELECT LPAD(column_name, total_length,
('padding_character') FROM table_name;
Rpad <= الكلمة في اتجاه اليسار-9
SELECT RPAD(column_name, total_length, 'padding_character')
)FROM table_name;
Trim <= قطع حرف واحد من الكمة-10
SELECT TRIM(column_name) FROM table_name;
Number functions
-1تستخدم لتقريب قيمة العدد الى اقرب عدد صحيح او الى عدد معين من االرقام العشرية
=< Round
الصيغة Round ( number , decimal_places); :
الرقم الذي ترغب في تقريبه =< number
عدد االرقام العشرية =< decimal_places
Select Round (3.7); output : 4
Select Round (3.146 , 2); output : 3.15
-2تستخدم لقص الجزء العشري من الرقم بدون تقريب =< Truncate
;)Round ( number , decimal_places
الرقم الذي ترغب في تقريبه =< number
عدد االرقام العشرية =< decimal_places
Select trunc (3.7); output : 3
Select Truncate (3.146 , 2); output : 3.14
-3تستخدم للحصول على باقي القسمة على عدد معين =< MOD
;)Round ( Dividend , divisor
العدد الذي تريد قسمته =< dividend
العدد الذي تريد قسمة dividendعليه =< divisor
Select MOD (10 , 3); output : 1
Date functions
. إرجاع التاريخ والوقت الحاليSYSDATE .1
SELECT SYSDATE FROM dual;
. حساب عدد األشهر بين تاريخينMONTHS_BETWEEN .2
SELECT MONTHS_BETWEEN('2024-05-05', '2023-01-01') AS months_diff
FROM dual;
. إضافة عدد محدد من األشهر إلى تاريخ محددADD_MONTHS .3
SELECT ADD_MONTHS('2024-01-01', 3) AS new_date FROM dual;
. إيجاد التاريخ التالي ليوم محددNEXT_DAY .4
SELECT NEXT_DAY('2024-05-05', 'MONDAY') AS next_monday FROM dual;
. تقريب التاريخ إلى أقرب يوم أو شهر أو سنةROUND .5
SELECT ROUND(SYSDATE, 'MONTH') AS rounded_date FROM dual;
. قص التاريخ ليكون اليوم األول من الشهر أو السنةTRUNC .6
SELECT TRUNC(SYSDATE, 'MONTH') AS truncated_date FROM dual;
Aggregate functions
Min -1
تستخدم ألسترداد اصغر قيمة في عمود معين
Select MIN (column_name) from table_name ;
Max -2
تستخدم ألسترداد اصغر قيمة في عمود معين
Select Max (column_name) from table_name ;
Count -3
تستخدم ألسترداد عدد الصفوف في النتيجة
Select Count (*) From table_name Where The condition ;
Sum -4
تستخدم ألسترداد مجموع القيم في عمود معين
Select Sum (column_name) From table_name ;
Avg -5
تستخدم ألسترداد متوسط القيم في عمود معين
Select Avg (column_name) from table_name ;
التعامل مع البيانات
( Insert into ) إضافة سجل او عدة سجالت-1
Insert into table_Name ( column1 , column2 , column3 )
values ( vals1 , vals2 , vals3);
( Null ) إضافة قيمة فارغة-2
Insert into table_Name ( column1 , column2 , column3 )
values ( vals1 , vals2 , null);
( Update ) التعديل في البيانات-3
Update table_Name set Age = 20 , grade='A' Where ID=101;
id = 101 في الجدول عندماAge and grade تعديل ال
حذف السجالت-5
Delete from table_Name Where the condition ;
إلغاء الجدول-6
Drop Table table_Name ;
تغيير اسم الجدول-7
Rename old_Name to new_Name ;
) حذف قاعدة البيانات ( الزم تتطلع من قاعدة البيانات قبل ما تمسحها-8
Drop database database_Name ;
عرض البيانات من اكثر من جدول
الربط بالتساوي-1
Select table1.column1 , table1.column2 , table1.column3
, table2.column1 , table2.column2 , table2.column3 from
table1 , table2 where the condition ;
**:Inner Join** .1
.يُستخدم السترجاع الصفوف التي تتوافق في جدولين على أساس شرط معين
```
SELECT column1, column2
FROM table1
INNER JOIN table2 ON table1.column_name =
table2.column_name ;
```
**:Right Join** .2
.يُستخدم السترجاع كل الصفوف من الجدول األيمن والصفوف المتطابقة من الجدول األيسر
SELECT column1, column2
FROM table1
RIGHT JOIN table2 ON table1.column_name =
table2.column_name ;
**:Left Join** .3
.يُستخدم السترجاع كل الصفوف من الجدول األيسر والصفوف المتطابقة من الجدول األيمن
```
SELECT column1, column2
FROM table1
LEFT JOIN table2 ON table1.column_name =
table2.column_name ;
```
**:Full Join** .4
. بغض النظر عن وجود تطابق بينهما أم ال،يُستخدم السترجاع كل الصفوف من الجدولين
```
SELECT column1, column2
FROM table1
FULL JOIN table2 ON table1.column_name =
table2.column_name ;
```