You are on page 1of 22

‫جـامعـة كــــــركـــــــــوك‬

‫كلية علوم الحاسـوب وتكنولوجيا المعلومات‬


‫قســــــــم الشبكات‬

‫الملف يشرح مادة قواعد البيانات للمرحلة الثانية بلغة ‪ MySQL‬وبشكل خاص ال ‪MySQL‬‬
‫‪. server‬‬

‫يتضمن شرح ايعازات االوقات وشرح اساسيات انشاء وحذف قواعد البيانات والجداول‬
‫واضافة البيانات وحذفها والتعديالت عليها ‪ ,‬كذلك دوال البحث والفلترة للبيانات وغيرها ‪.‬‬

‫الفهرس‬
‫انواع البيانات ‪1 ..................................................................................‬‬
‫الوقت والتاريخ ‪3 ............................................................................... ..‬‬
‫قاعدة البيانات والجدول ‪5 .......................................................................‬‬
‫‪7 ........................................................................................... Insert‬‬
‫‪10 ........................................................................................... Alter‬‬
‫‪11 ......................................................................................... Where‬‬
‫‪13 ..................................................................................... And \ OR‬‬
‫‪14 ................................................................................................ In‬‬
‫‪15 ..................................................................................... Between‬‬
‫‪16 .............................................................................................. Not‬‬
‫‪16 .............................................................................................. Like‬‬
‫‪18 ............................................................................................. Null‬‬
‫‪19 ......................................................................................... Delete‬‬
‫‪20 ........................................................................................ Update‬‬
‫غواعد بيانات ‪ -‬عملي‬

‫‪ :‬نهاية كل سطر او ايعاز نكتبه نضع عالمة الفارزة المنقوطة " ; " ‪.‬‬

‫‪ :‬االحرف االنكليزية هنا ليست مهمة في اإليعازات من ناحية الحرف الكبير او صغير "نفس الشي يعني"‪.‬‬
‫وجود مسافة بين الدوال او االقواس يؤثر على صحة الحل احيانا ً ‪ ,‬واحيانا ً ال تؤثر فأنتبه لذلك‬

‫‪Text Data Types‬‬

‫‪CHAR‬‬ ‫يمكن ان يخزن (الحروف والحروف الخاصة اي الرموز مثل &‪#,*,‬‬


‫واالرقام ) بمساحة تخزين تصل حتى ‪ 255‬حرف ورمز ‪ .‬ويخزن‬
‫الرموز الغير مكتوبة ك فراغات (شاهد الصورة ادناه)‬

‫)‪Ex: char (size) => char (15‬‬


‫‪VARCHAR‬‬ ‫نفس الحجي لكنه ال يخزن الرموز الغير مكتوبة ك فراغات‬

‫)‪Ex: varchar (size) => varchar (15‬‬


‫‪TEXT‬‬ ‫يستخدم لكتابة نصوص تحصل حروفها حتى ‪65,535‬‬
‫‪MEDIUMTEXT‬‬ ‫يستخدم لكتابة نصوص تحصل حروفها حتى ‪16,777,215‬‬

‫‪|Page1‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


‫‪Number Data Types‬‬

‫‪ Unsigned‬تعني كانه يقبل الرقم الموجب ادناه‬


‫‪SMALLINT‬‬
‫لكتابة االعداد الصحيحة الصغيرة‬
‫;)‪Ex: bab smallint (12‬‬
‫;‪Ex: bab smallint (12) unsigned‬‬
‫‪INT‬‬

‫لكتابة االعداد الصحيحة المتوسطة‬


‫;)‪Ex: babno int (12‬‬
‫;‪Ex: babno int (12) unsigned‬‬
‫‪BIGINT‬‬

‫لكتابة االعداد الصحيحة الكبيرة‬


‫;)‪Ex: babno bigint (12‬‬
‫;‪Ex: babno bigint (12) unsigned‬‬
‫‪FLOAT‬‬ ‫لكتابة االرقام الكسرية الصغيرة بصيغة ( ‪ )size , d‬حيث ان ‪:‬‬
‫حجم العدد كامالً الصحيح ‪ +‬العشري ‪Size :‬‬
‫حجم العدد العشري ‪D:‬‬

‫)‪Ex: salaryAVG (10,4‬‬


‫‪DOUBLE‬‬ ‫لكتابة االرقام الكسرية الكبيرة بصيغة ( ‪ )size , d‬حيث ان ‪:‬‬
‫حجم العدد كامالً الصحيح ‪ +‬العشري ‪Size:‬‬

‫حجم العدد العشري ‪D:‬‬

‫)‪Ex: salaryAVG (10,4‬‬

‫‪Date Data Types‬‬

‫‪DATE‬‬ ‫‪YYYY-MM-DD‬‬ ‫يكتب التاريخ بصيغة‬


‫‪ D‬يوم‬
‫‪ M‬شهر‬
‫‪ Y‬سنة‬
‫; ‪Ex: birth date‬‬
‫‪DATE TIME‬‬ ‫يكتب التاريخ والوقت بصيغة ‪YYYY-MM-DD HH:MI:SS‬‬
‫‪ H‬ساعة‬
‫‪ MI‬دقيقة‬
‫‪ S‬ثانية‬
‫; ‪Ex: birth datetime‬‬
‫‪|Page2‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


-: ‫الظهار تاريخ اليوم نكتب‬ -

select current_date();

or
select current_date;

-: ‫الظهار الوقت بالدقائق والثواني‬ -

select current_time;

or
select current_time();

|Page3

‫ إضغط هنا‬YOUTUB ‫لمشاهدة شرح الملف ع‬


‫عند كتابة التاريخ نضعه بين فارزة ’ تاريخ ’‬

‫إلضافة وقت (يوم ‪,‬سنة‪,‬شهر‪...‬الخ) الى تاريخ نتسخدم القاعدة ‪:‬‬ ‫‪-‬‬

‫; ) ‪select adddate(date, interval exp unit‬‬

‫االسم‬ ‫المعنى‬
‫‪date‬‬ ‫التاريخ المراد الحساب منه‬
‫‪interval‬‬ ‫الفترة وهي كلمة مفتاحية تكتب نصا ً‬
‫‪exp‬‬ ‫الوحدة الزمينة المراد حسابها في التاريخ وتكتب ع شكل رقم‬
‫‪unit‬‬ ‫الزمن المراد حسابه من التاريخ كما مبين في الجدول ادنا‬

‫انواع ‪unit‬‬
‫‪day‬‬
‫‪week‬‬
‫‪month‬‬
‫‪year‬‬
‫ربع اي ‪ 3‬اشهر ‪Quarter‬‬

‫;) ‪EX: select adddate('2010-04-10', interval 1 quarter‬‬

‫لحذف وقت (يوم ‪,‬سنة‪,‬شهر‪...‬الخ) من تاريخ معين نتسخدم القاعدة ‪:‬‬ ‫‪-‬‬

‫; ) ‪select date_sub(date, interval exp unit‬‬

‫;) ‪EX: select date_sub('2010-04-10', interval 3 day‬‬

‫‪|Page4‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


‫لمعرفة الفرق بااليام بين تاريخين مختلفين نكتب ‪-:‬‬ ‫‪-‬‬

‫;)'‪select datediff ('big date' , 'small date‬‬

‫; ) '‪EX: select datediff ('2010-4-10' , '2009-12-11‬‬

‫لمعرفة فرق االيام بين تاريخ اليوم وتاريخ في الماضي نكتب ‪-:‬‬ ‫‪-‬‬

‫; ) '‪EX: select datediff(current_date ,'2009-12-11‬‬

‫لمعرفة فرق االيام بين تاريخ اليوم وتاريخ في المستقبل نكتب ‪-:‬‬ ‫‪-‬‬

‫; ) ‪EX: select datediff('2020-1-1', current_date‬‬

‫إلظهار غواعد البيانات المتوفرة نكتب ‪-:‬‬ ‫‪-‬‬

‫; ‪Show databases‬‬

‫‪|Page5‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


‫إلنشاء غاعدة بيانات جديدة نكتب ‪-:‬‬ ‫‪-‬‬
‫; ‪Create database D.B_name‬‬

‫لحذف غاعدة البيانات نكتب ‪-:‬‬ ‫‪-‬‬


‫; ‪Drop database D.B_name‬‬

‫الستخدام غاعدة البيانات وبدء العمل عليها نكتب ‪-:‬‬ ‫‪-‬‬

‫; ‪Use database_name‬‬

‫لعرض الجداول الموجودة في غاعدة البيانات نكتب ‪-:‬‬ ‫‪-‬‬


‫; ‪Show tables‬‬

‫النشاء جدول نكتب ‪-:‬‬ ‫‪-‬‬

‫‪Create table table_name (column1 datatype , column2 datatype , column3 datatype , column4 datatype‬‬
‫; )……‪,‬‬
‫راجع صفحة‬
‫‪1‬و‪2‬‬

‫قبل انشاء اي جدول يجب كتابة ايعاز استخدام قاعدة البيانات اوال ثم انشاء الجدول بداخلها ‪ ,‬واذا لم تكن لدينا قاعدة بيانات‬
‫نقوم بأنشاء واحدة يعني النشاء جدول نحتاج قاعدة بيانات‪.‬‬

‫‪|Page6‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


‫لحذف جدول نكتب ‪-:‬‬ ‫‪-‬‬
‫; ‪Drop table table_name‬‬

‫لعرض صفات الجدول او عمدة الجدول نكتب ‪-:‬‬ ‫‪-‬‬


‫; ‪Describe table_name ; OR Desc table_name‬‬

‫إلضافة البيانات للجدول نكتب ‪-:‬‬ ‫‪-‬‬


‫; ) ‪Insert into table_name (column1, column2, column3,….) values (value1, value2, value3,….‬‬

‫‪Or‬‬

‫; ) ‪Insert into table_name values (value1, value2, value3,….‬‬

‫بالطريقة االولى نكتب عدد وترتيب القيم بنفس عدد وترتيب االعمدة المراد إضافة البيانات لها ‪.‬‬

‫الطريقة االولى تستخدم إلضافة قيم لكل او بعض االعمدة ‪ ,‬اما الطريقة الثانية تستخدم إلضافة القيم لكل االعمدة وبشرط ان‬
‫تكتب القيم بنفس ترتيب االعمدة في الجدول ‪.‬‬

‫ادخال االسم يكون دائما ً بين فارزة ' االسم ' كما في التاريخ والوقت ‪.‬‬

‫‪|Page7‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


insert into emp ( empno ,ename ,job ) values (7 , 'oder' , 'teacher' ) ;

insert into emp values (8 , 'omer' , 'photoer' ,13 ,'2019-2-1',2000,34,12,'nosel');

-: ‫إلظهار محتويات الجدول كاملة نكتب‬ -


Select * from table_name ;

‫عالمة النجمة (*) تعني‬


every = ‫" كل شي‬
" thing

|Page8

‫ إضغط هنا‬YOUTUB ‫لمشاهدة شرح الملف ع‬


‫لعرض بيانات اعمدة محددة من الجدول نكتب ‪-:‬‬ ‫‪-‬‬
‫;‪Select column1,column2,column3,……. from table_name‬‬

‫; ‪Select pno ,name ,step ,age from levo2‬‬

‫في الجدول السابق كان ترتيب عمود (‪ )age‬قبل (‪ )step‬لكن عنده كتابة ايعاز االظهار كان عمود (‪ )step‬قبل (‪ )age‬لذا‬
‫سيظهر (‪ )step‬قبل (‪. )age‬‬

‫‪age‬‬

‫‪1‬‬
‫‪Q1‬‬ ‫‪Q2‬‬

‫‪|Page9‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


-: ‫إلضافة عمود جديد للجدول نكتب‬ -
Alter table table_name add column_name datatype ;

Alter table levo3 add salary1 int;

-: ‫لحذف عمود من الجدول نكتب‬ -

Alter table table_name drop column column_name ;

Alter table levo3 drop column salary1 ;

-: ‫لتحويل نوع العمود من نوع آلخر مكتب‬ -

Alter table table_name modify column column_name new_datatype ;

Alter table levo3 modify column step char (4) ;

| P a g e 10

‫ إضغط هنا‬YOUTUB ‫لمشاهدة شرح الملف ع‬


‫راجع صفحة‬
‫ للحل‬10‫ و‬6

Sol:

 Create database emplyoo;


 Use emplyoo;
 Create table emp (empno int , ename varchar (15),job varchar (10), mgr int ,hire_date date, sal
int , comm float (10,5), deptno int );
 Alter table emp add birth_day date ;
 Alter table emp drop column Mgr ;

‫اداة شرطية تستخدم لتحديد البيانات المراد العمل عليها بدقة‬

-: ‫القاعدة‬

Select * from table_name where condition ;

OR

Select column1, column2,…. from table_name where condition ;

. ‫للمقارنة سنستخدم ادوات المقارنة‬

>= ‫اكبر او يساوي‬ || = ‫يساوي‬

!= ‫|| ال يساوي‬ <= ‫اصغر او يساوي‬

| P a g e 11

‫ إضغط هنا‬YOUTUB ‫لمشاهدة شرح الملف ع‬


) : ‫لدينا الجدول والبيانات التالية التي سنعمل عليها‬

: ‫انسخ التالي والصقه في شاشة البرنامج لتظهر لك البيانات كما في االعلى‬

Create database levi2;


Use levi2;
Create table emp (empno int , ename varchar (15), job varchar (10), mgr int ,hire_date date, sal int, comm float
(10,5), deptno int);
Insert into emp values (1,'gyth','spy',20,'2019-1-2',1500,12.4,2);
Insert into emp values (2,'salih','deting',20,'2019-1-22',1600,12.4,2);
Insert into emp values (3,'adeb','model',21,'2009-4-22',2000,1.4,1);
Insert into emp values (4,'jafaar','eatting',25,'2013-4-25', 1000,14,3);
Insert into emp values (5,'tarik','H.O.D',29,'2013-4-4',1100,34.4,4);
Select * from emp;

) 11 ‫ (قاعدة صفحة‬. 2 ‫\ اعرض كل البيانات لمن رقم قسمه‬1‫س‬

Select * from emp where deptno=2;

)11‫و‬9 ‫ (قاعدة صفحة‬.2000 ‫\ اعرض رقم واسم ووظيفة الموظفين الذين تقل رواتبهم عن‬2‫س‬

Select empno,ename , job from emp where sal<2000;

| P a g e 12

‫ إضغط هنا‬YOUTUB ‫لمشاهدة شرح الملف ع‬


‫س‪ \3‬اعرض بيانات الموظف غيث ‪( .‬قاعدة صفحة ‪)11‬‬

‫;'‪Select * from emp where ename = 'gyth‬‬

‫‪ AND‬تستخدم مع ‪ where‬غالبا ً ‪ ,‬وتتحقق اذا تحققت كل الشروط ‪.‬‬

‫‪ OR‬تستخدم مع ‪ where‬غالبا ً وتتحقق اذا تحققت كل الشروط او احداهن ‪.‬‬

‫س‪ \4‬اعرض بيانات الموظفين الذين رواتبهم اقل من ‪ 2000‬ورقم المدير اكبر من ‪20‬‬

‫;‪Select * from emp where sal<2000 and mgr>20‬‬

‫س‪ \5‬اعرض بيانات الموظفين الذين توظفوا بعد تاريخ ‪ 1-1-2010‬او رواتبهم اكثر من ‪.1200‬‬

‫;‪Select * from emp where hire_date > '2010-1-1' or sal > 1200‬‬

‫‪| P a g e 13‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


‫نستخدمه لتحديد شروط معينة نختارها و معنى ‪ in‬هي اما الشرط‪ 1‬او الشرط‪ 2‬او الشرط‪ ... 3‬ألخ‬

‫اي اذا تحقق احدهم سينفذ ‪ .‬حيث تعمل االداة كأختصار للدالة ‪. OR‬‬

‫القاعدة ‪:‬‬

‫; )…‪Select * from table_name where column_name in (condition1,condition2,‬‬

‫‪OR‬‬

‫; )…‪Select column1, column2,…. from table_name where column_name in (condition1,condition2,‬‬

‫س‪ \6‬اعرض بيانات الموظفين الذين رواتبهم في حدود ‪( 1100_1700_1600_1500‬قاعدة صفحة ‪11‬و‪)13‬‬

‫; )‪select * from emp where sal in (1500,1100,1600,1700‬‬

‫تنويه‪ :‬تم تحديث الجدول واضافة سطرين آخرين ‪.‬‬

‫س‪ \7‬اعرض بيانات الموظفين الذين اسمائهم غيث ‪( .‬قاعدة صفحة ‪11‬و‪)13‬‬

‫; )'‪select * from emp where ename in ('gyth‬‬

‫‪or‬‬

‫; '‪select * from emp where ename='gyth‬‬

‫‪| P a g e 14‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


‫نستخدمه للتحديد بين شيئين (رقم ‪ ,‬قيمة ‪ ,‬وقت ‪ ,‬تاريخ) على شرط ان تكون القيمة االولى اصغر من القيمة الثانية ‪.‬‬

‫القاعدة ‪:‬‬

‫; ‪Select * from table_name where column_name between value1 and value2‬‬

‫‪OR‬‬

‫; ‪Select column1, column2,… from table_name where column_name between value1 and value2‬‬

‫س‪ \8‬اعرض بيانات الموظفين الذين رواتبهن من ‪ 1500‬الى ‪( 2200‬قاعدة صفحة ‪11‬و‪)14‬‬

‫; ‪select * from emp where sal between 1500 and 2200‬‬

‫س‪ \9‬اعرض بيانات الموظفين الذين رواتبهن من ‪ 1500‬الى ‪ 2200‬ومن القسم ‪ 1‬او ‪( . 2‬قاعدة صفحة ‪ 11‬و‪ 13‬و‪.)14‬‬

‫; )‪select * from emp where sal between 1600 and 2200 and deptno in (1,2‬‬

‫س‪ \10‬اعرض بيانات الموظفين الذين تعينوا من سنة ‪ 2000‬إلى سنة ‪.2015‬‬

‫;'‪select * from emp where hire_date between '2000-1-1' and '2015-1-1‬‬

‫‪| P a g e 15‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


. ‫نستخدمها لعرض البيانات ما عدا سطر او عمود معين‬

: ‫القاعدة‬

Select * from table_name where not condition ;

OR

Select * from table_name where not condition and\or not condition ;

OR

Select column1, column2,…. from table_name where not condition ;

)15‫ و‬13 ‫ (قاعدة صفحة‬. 3000 ‫ او‬1600 ‫ او‬1000 ‫ او‬2000 ‫\ اعرض بيانات الموظفين ما عدا الذين رواتبهن‬11‫س‬

select * from emp where not sal in (1000,1100,2000,3000) ;

)15‫ و‬11‫ و‬9 ‫ (قاعدة صفحة‬. ‫\ اعرض رقم واسم وراتب الموظفين عدا اودير وجعفر‬12‫س‬

select empno, ename, sal from emp where not ename='oder' and not ename='jafaar' ;

. ‫تستخدم لعرض االسماء واالرقام من خالل جزء من االحرف او االرقام االصلية‬

Select * from table_name where column_name like condition ; : ‫القاعدة‬

OR

Select * from table_name where column_name like condition and\or column_name like condition ;

OR

Select column1, column2,… from table_name where column_name like condition ;


| P a g e 16

‫ إضغط هنا‬YOUTUB ‫لمشاهدة شرح الملف ع‬


‫الفرغات بين الخطوط في الشرطين الثالث والرابع ادناه هي للتوضيح وال تكتب وانما يكون الخط مدمج ‪ +‬نفس شروط‬
‫الحروف المذكورة ادناه تنطبق ع االرقام والرموز ‪.‬‬

‫انواع الشروط‬
‫'‪'a%‬‬ ‫لتحديد اسم يحتوي ع اول حرف معين‬
‫' ‪'_ a%‬‬ ‫لتحديد اسم يحتوي ع ثاني حرف معين‬
‫'‪'_ _ a%‬‬ ‫لتحديد اسم يحتوي ع ثالث حرف معين‬
‫' _ _ _'‬ ‫لتحديد اسم يحتوي ع عدد معين من االحرف | نضع خطوط بعدد الحروف مثال ‪ 3‬حروف‬
‫'‪'%a‬‬ ‫لتحديد اسم ينتهي بحرف معين‬
‫'_‪'% a‬‬ ‫لتحديد اسم قبل اخيره به حرف معين‬
‫'‪'%a%‬‬ ‫لتحديد اسم يتحوي ع حرف معين اين ما كان موقعة في االسم‬
‫'‪'\#%‬‬ ‫لتحديد رمز في داخل اسم نضع عالمة الخط \ قبل الرمز‬
‫'‪'12%‬‬ ‫لتحديد رقم يبدأ برقم معين‬

‫س‪ \13‬اعرض بيانات الموظفين الذي يتكون اسمهم من ‪ 4‬حروف ‪( .‬قاعدة صفحة ‪)16‬‬

‫; '______' ‪Select * from emp where ename like‬‬

‫س‪ \14‬اعرض بيانات الموظفين الذي يبدأ اسمهم بحرف ) ‪( .( S‬قاعدة صفحة ‪)16‬‬

‫;'‪Select * from emp where ename like 's%‬‬

‫س‪ \15‬اعرض بيانات الموظفين الذي ما قبل االخير من اسمهم هو ( ‪( .) E‬قاعدة صفحة ‪)16‬‬

‫;'_‪Select * from emp where ename like '%e‬‬

‫‪| P a g e 17‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


‫س‪ \16‬اعرض بيانات الموظفين الذي في اسمهم حرف (‪ )H‬او (‪( .)A‬قاعدة صفحة ‪)16‬‬

‫;'‪Select * from emp where ename like '%a%'or ename like '%h%‬‬

‫وهي القيمة الخالية ‪ ,‬اي انها حقل بال قيمة او غير معروف القيمة ‪.‬‬

‫اليمكن ايجاد القيمة الخالية بأستخدام عوامل المقارنة < ‪... != , = , > ,‬الخ وانما نستخدم التعبيرين ‪:‬‬

‫‪IS NULL & IS NOT NULL‬‬

‫القاعدة ‪:‬‬

‫; ‪Select * from table_name where column_name is null‬‬

‫‪OR‬‬

‫; ‪Select * from table_name where column_name is not null‬‬

‫س‪ \17‬اعرض بيانات الموظفين الذين ال نعرف في اي مدينة يسكنون ‪.‬‬

‫;‪select * from emp where city is null‬‬

‫س‪ \18‬اعرض بيانات الموظفين الذين نعرف في اي مدينة يسكنون ‪.‬‬

‫;‪select * from emp where city is not null‬‬

‫‪| P a g e 18‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


‫نتسخدم هذا االيعاز لمسح الصفوف ‪.‬‬

‫لمسح صفوف معينة نكتب ‪:‬‬

‫; ‪Delete from table_name where condition‬‬

‫لمسح كل الصفوف نكتب ‪:‬‬

‫; ‪Delete from table_name‬‬

‫الفرق بين الطريقة الثانية لمسح الصفوف وطريقة ( ‪ )Drop‬هو ان في طريقة ( ‪ )Delete‬يمسح فقط الصفوف وتبقى‬
‫االعمدة اما بطريقة (دروب) فيمسح الجدول بالكامل (اعمدة ‪ +‬صفوف)‪.‬‬

‫س‪ \19‬امسح معلومات صاحب الرقم التسلسلي ‪. 8‬‬

‫;‪delete from emp where empno=8‬‬

‫‪| P a g e 19‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


‫تستخدم لتحديث البيانات اي تحديث الصفوف بأضافة معلومات غيرها او تعديلها‪.‬‬

‫القاعدة ‪:‬‬

‫; ‪Update table_name set column1=value1 , column2=value2 ,…. Where condition‬‬

‫س‪ \20‬حدِث مدينة جعفر لمحافظة البصرة ‪.‬‬

‫;'‪update emp set city='basra' where ename='jafaar‬‬

‫س‪ \21‬اجعل رقم المدير ‪ 10‬لكل موظف ال يملك رقم مدير او رقم مديره غير معروف ‪.‬‬

‫;‪update emp set mgr=10 where mgr is null‬‬

‫س‪ \22‬اضف ‪ 500‬لكل موظف راتبه اقل او يساوي ‪ 1500‬واجعل رقم المدير ‪ 10‬اذا كان رقم مديره ‪.20‬‬

‫; ‪update emp set sal=sal+500 , mgr=10 where sal<=1500 and mgr=20‬‬

‫‪| P a g e 20‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬


‫ذكرنا سابقا انه ال يمكن استخدام عوامل المقارنة في )‪ (null‬ولكن البد من التذكير انه يمكن استخدام عالمة (اليساوي = )‬
‫عند اعطاء قيمة ‪ null‬لحقل او عمود بأستخدام دالة (‪.)update‬‬
‫هذا ال يخالف الشروط ألنك ستعطيه قيمة غير معروفة او تغير قيمته إلى قيمة غير معروفة ‪.‬‬

‫س‪ \23‬اجعل رقم المدير غير معروف لكل شخص رقم مديره ‪. 10‬‬
‫; ‪Update emp set mgr=null where mgr=10‬‬

‫‪| P a g e 21‬‬

‫لمشاهدة شرح الملف ع ‪ YOUTUB‬إضغط هنا‬

You might also like