اذهب إلى المحتوى
amira_ahmed

شرح مبسط ل Sql

Recommended Posts

amira_ahmed

                                                                                                                   بسم الله الرحمن الرحيم

                                                                                                              _______________________

                                                                                                            

من اهم تركيب او تكوين او تقسيم لغه الاستعلامات sql اي

Structured Query Language؟

  

·         لغة تعريف البيانات (Data Definition Language (DDL

·         لغة معالجة البيانات (Data Manipulation Language (DML

·         لغة التحكم بالبيانات (Data Control Language (DCL

سنقول نبذه علي كل واحده علي حده

1-DDL اي وهي الخاصه بي (,alter table ,create table,drop table)

2-DML اي وهي الخاصه بالتعامل مع البيانات (select,delete,update,insert)

3-DCL  اي هي الخاصه باعطاء الصلاحيات للمستخدمو(GRANT)ومن الصلاحيات

(connect,insert,select,update,delete,)

 

لغه sql له اكثر من موضوع مهم ؟
1-create table
2-create index
3-create view
4-create sequence 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

سنبدا اولا بعمل create table ولعمل هذا لابد من معرفه مايلي:

اسم الجدول

العناصر اتي ستكون داخل الجدول

نوع كل عنصر سيتم ادخالها في الجدول .اي

date type .

انواع date؟

number:يستخدم هذا النواع مع الارقام

varchar2 :تستخدم هذا مع الحروف

date:تستخدم مع التواريخ والوقت

هذه الانواع الاكثر شيوعا.

مثال

قم بانشاء جدول للموظفين يوجد فيها رقم الموظف واسم الموظف وعنوان الموظف؟

                                                                                               

    )create table employee _______معناها بقلو انشالي جدول اسمو الموظفين وافتح قوسين

,employee_no number              _______ عرفتالو متغير اي اسم العنصر اللي هو اسمو رقم الموظف واللي هو نوعه رقم 

,employee_name varchar2      _______  عرفتالو متغير اي اسم العنصر اللي هو اسمو  اسم الموظف اللي هو نوعه حروف

(employee_address varchar2  _______  عرفتالو متغير اي اسم العنصر اللي هو اسمو  عنوان الموظف اللي هو نوعه حروف

........ متنساش تقفل القوس 

وبعد كده اضغط علي كلمه enter لو بتشتغل علي +sql

ولو بتشتغل علي toad بقوم بالضغط علي f9

                                                                  متسناش القوسن () وتعمل بعد متقفل القوس ;

                                 ______________________________________________________________

                                 ______________________________________________________________

بعد مخلاص قمنا بانشاء الجدول نقوم باستدعاه وهذا يكون عن طريق select statment؟

مثال

قم باستدعاء كل البيانات من جدول الموظفين؟

*  select   ______________  معناها استرجع لي كل البيانات وعلامه(*) معناها كل

from employee  ________  بنستخدم كلمه (from) علشان بعديها اكتب اسم الجدول ولو معرفش اسم الجدول بكتب

from dual___________معنا كمله(dual) اي جدول وهمي

                                        

                                               __________________________________________________

                                               __________________________________________________

تعالو بقا ندخل بيانات في الجدول (date)ويتم هذا عن طريق جمله (insert into)

مثال:

قم بادخال يانات في جدول الموظفين حيث اسم الموظف احمد ومحمد ,وارقم الموظف 1,2 ,والعنوان مدينه نصر ,المعادي؟

       ( insert into employee(employee_no,employee_name,employee_address  ____هنا بقلو حطلي في جدول الموظفين اللي هو فيها البيانات دي اللي سبق وعملناها       

                                                          ;('values(1,'ahmed','Nas______________________القيم اللي هدخلها هي ........ مع مرعاه ترتيب الاسماء في الجدول

                                                                                    

                                                                               يجب وضع الاسماء والتواريخ بين سنجل كوتيشن ('a')

    يوجد طريقتين في (insert) عندما يكون مطلوب اضافه اكثر من بيان 

1-مثل ما سبق توضحكو وهي ____    ( insert into employee(employee_no,employee_name,employee_address 

                                                                                                                                                                                                                                                                           ;('values(1,'ahmed','Nas

                                                                                                                            

وكل مره يوجد فيها ادخال بيان اعمل نفسي الشكل ولكن مع اختلاف اسم الجدول ومحتوياته والبيانات التي سيتم ادخالها.

 

2-اعمل مره واحده كلمه )insert) وبعد كده اضيف البيانات ساوضح لك ماذا اقصد___________

                                               insert into employee(employee_no,employee_name,employee_address 

                                                                                                                                                                                                                                                                           ;('values(1,'ahmed','Nas

                                                ;('values(2'ahmed','Nas

 
مع مرعاه اختلاف البيانات التي ستم ادخالها . هنا تم عمل جمله اضافه واحده)insert) .
وبعد كده زي مقلنا نعمل run
sql plus____ اضغط enter
toad______اضغط f9
 
                                                                 يجب مرعاه عمل كوما بين كل بيان (,)
                                              _______________________________________________________________
                                              _______________________________________________________________ 
سنقوم الان بعمل تعديل علي الجدول او عمود داخل الجدولupdate.
 
update employee set employee_no=3____________ بقلو هنا اعملي تعديل علي الجدول اللي هو اسمو الموظفين (set)حطلي رقم الموظف بيساوي 3
 
      ; ' where employee_address='nasr____________وهنا بديلو شرط او بمعني ابسط بقلو غيرلي رقم الموظف اللي هو ساكن في
 
.بقلو بشررط علشان لو عندي كذا حد بنفسي الرقم او متشابه فقلو حاجه يغير علي اساسه.
                                               _________________________________________________________________
                                               _________________________________________________________________
 
 
                                              
  
           
                                              
 

  

 

 

 

 

 

 

 

 

 

 

  • أعجبني 5

شارك هذه المشاركة


رابط المشاركة
شارك
ميسم الكرام

أسلوب مبسط لشرح ممتاز ..الله يبارك بحضرتك ياأخت أميرة 

  • أعجبني 2

شارك هذه المشاركة


رابط المشاركة
شارك
amira_ahmed

شكرا ليكي جدا وان شاء الله باقي الشرح sql سيكون باسلوب مبسط 

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
ميسم الكرام

عن جد أنا أعجبت جداً بأسلوب شرح حضرتك ..الله يعطيك العافية وإن شاء الله تكملي بقية الشرح

شكراً لحضرتك

  • أعجبني 2

شارك هذه المشاركة


رابط المشاركة
شارك
amira_ahmed

بسم الله الرحمن الرحيم

 

سنكمل اليوم باقي sql

______________

 

بعد ماقمنا بعمل:

1-create table._____قمنا بانشاء جدول

2-select table._____ قمنا بعمل استدعاء او استرجاع للبيانات والجدول الذي قمنا بانشاه

3-insert into .______ثم قمنا بعمل اضافه للبيانات داخل الجدول

4-update .________ واخر حاجه عملنا تعديل للبيانات في الجدول

                                                 __________________________________________

سنبدا بعمل alter in table or column .اي عمل تغير في جدول او عمود .

.alter.

سنقوم بعمل تغير باضافه عمود علي الجدول.

مثال

قم بعمل تعديل او تغير علي جدول الموظيفن حيث قم باضافه عمود اسمو  تاريخ الميلاد ؟

ALTER TABLE employee _____هنا بقالو قم بعمل تعديل او تغير علي جدول الموظفين

;ADD birthdate  date______بقلو ضيف عمود اي هو اسم (birthdate) اي تاريخ الميلاد اللي هو نوعه (date)

_______

هنا ساقم بعمل تغير في الجدول بمسح عمود في الجدول .

مثال

قم بعمل تغير او تعديل علي جدول الموظفين وقم بحذف عمود تاريخ الميلاد؟

ALTER TABLE employee_____هنا بقالو قم بعمل تعديل او تغير علي جدول الموظفين

;DROP dirthdate _________هنا بقالو اعمل اسقاط او مسح للعمود اللي هو اسمو (dirthdate) .

__________

هنا ساقوم بعمل تغير علي نوع البيانات التي تم ادخالها.

مثال 

قم بتفير نوع البيانات الذي ادخالته في جدول الموظفين في عمود اسم الموظف؟

ALTER TABLE employee_______هنا بقالو قم بعمل تعديل او تغير علي جدول الموظفين

;ALTER employee_name varchar2_______هنا بقالو اعمل تغير لنوع البيانات التي تم ادخالها في عمود اسم الموظف.

                   _______________________________________________________________________

                                     ____________________________________________________________________

سنقوم الان بعمل (delete)اي مسح للجدول او عمود في الجدول.

مثال

قم بعمل مسح من جدول الموظفين بحيث اسم الموظف احمد؟

DELETE FROM employee___________بقالو قم بالمسح من جدول الموظف 

;'WHERE employee_name='ahmed ________هنا اديتو شرط علشان يمسح حاجه معينه.اي قالو امسح من جدول الموظف بحيث الاسم احمد.

____________

مثال

قم بعمل مسح لكل البيانات من داخل جدول الموظف؟

;DELETE FROM table_name_____ هنا بقالو امسح كل البيانات من جدول الموظف

or

;DELETE* FROM table_name .

                                  ___________________________________________________________

                                  ___________________________________________________________ 

سنقوم الان بعمل(groub by)اي مجمعه.

مثال

قم بعرض بيانات الموظفين وتكون مجمعه حسب رقم الموظف؟

 * select ___________استرجع لي كل بيانات الموظفين

from employee  _______ من جدول الموظفين

;group by employee_no_____ وتكون مجمعه حسب رقم الموظف 

اي ظهور بيانات حسب رقم الموظف.

__________________

سنقوم الان بعمل (order by) اي مرتبه.

مثال

قم بعرض بيانات الموظفين وتكون مرتبه ترتيبا تصاعديا مره واخر تنازلياحسب رقم الموظف؟

تصاعديا __Ascending واختصارها__ asc

تنازليا____Descending واختصارها__ desc

* select    ________________ استرجع كل البيانات 

from employee____________ من جدول الموظفين

;order by employee_no asc____ مرنبه حسب رقم الموظف وتكون مرتبه(order by) ترتيبا تصاعديا ولو تنازليا نكتب (desc) بدلا من(asc)

________________________                   

 

 

 

وبكده احنا نعرف نعمل هذه الخطوات في sql.

_____________________________________

.craete table

.select table

.insert into table

.update table

.alter and drop table

.delete table

group by.

order by.

 ________________________________________________________________

وان شاء الله سنكمل في المره القادمه

تم تعديل بواسطة amira_ahmed
  • أعجبني 3

شارك هذه المشاركة


رابط المشاركة
شارك
Ahmad.Hasan

مجهود متميز...

بالتوفيق وإلى الأمام...

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
scince

السلام عليكم

ما شاء الله تبارك الله افكار مرتبة مسرودة سرد أكاديمي ومن الاشياء الرائعة طبعا في الموضوع الى جانب المعلومات  تنسيق النص

وهذا المجهود يستحق الشكر والثناء

أخوكم ...

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
amira_ahmed

شكرا جدا وان شاء الله الباقي يكون علي نفس المستوي

شارك هذه المشاركة


رابط المشاركة
شارك
scince

الاخت الفاضلة اميرة ننتظر استكمال الشرح المبسط ل sql

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
amira_ahmed

ان شاء الله ساكمل شرح sql

شارك هذه المشاركة


رابط المشاركة
شارك
z.salah eddine

والله شرح مبسط لكن ننتظر المزيد خاصة في الشروط select * select   و having   يعني الشروط المعقدة

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
amira_ahmed

ان شاء الله ساقم بالاستكمال قريبا

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
anas.soft

جزاك الله خير

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
amira_ahmed

بسم الله الرحمن الرحيم

قمنا سابقا بشرح الاتي؟

1-.craete table
2-.select table
3-.insert into table
4-.update table
5-.alter and drop table
6-.delete table
7-group by.
________________________________________________________________________________________________
________________________________________________________________________________________________
ولان سنقوم بشرح ال having؟
*جمله havng تستخدم مع group by ولا تستخدم مع where.
مثال
      (select employee_name,avg(employee_salary   _________________قم باسترجاع اسم الموظف و متوسط مرتب الموظفين
                                              from employee           _________________من جدول الموظفين
                               group by employee_name       ________________مجمعه حسب اسماء الموظفين 
               1500= (having avg(employee_salary    ________________بشرط (having) متوسط(avg) المرتب يكون بيساوي(=)  1500
 
لو كنا عملنا where  زي كده
                                  
                                    1500= (where   avg(employee_salary
هيظهر لي error
                                         ERROR at line 4:

ORA-00979: not a GROUP BY expression

                                                                  وهنا هنكون وصلنا لفكره ان ال having with group byيعني بتيجي مع group by وان 

                                                                 group by بتجي معاه having وليس where.

________________________________________________________________________________

________________________________________________________________________________

 

ساقوم بالاستكمال ان شاء الله المره القادمه
                                   
                                                                  ادعو لي ولكم بالتوفيق والنجاح واليسر لنا 
 
 
 
 
  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
Ahmad.Hasan

جزاك الله كل خير...

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
anas.soft

اسلوب رئع في الشرح يعطيك الف عافية ..

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
scince

كما عودتنا الاخت الفاضلة اميرة الاتقان وتسلسل الافكار وفن التنسيق ...جزاك الله خير والله يوفقك وييسر من امرك...

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
amira_ahmed

شكرا ليكو جدا وان شاء ساكمل لكم واسال الله التوفيق لي ولكم

تم تعديل بواسطة amira_ahmed
  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
younis alsalama

جزاك الله خير

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
scince

اختنا اميرة منتظر منك استكمال الشرح المبسط فانا متابع لهذا الموضوع
تحياتي لكم ...

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
غزال البريمي

ماشاء الله 

جزاكي الله خير الجزاء

شرح جميل ومبسط وسهل الفهم 

جعله ربي في ميزان حسناتك

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
hamza00

ما شاء الله جزاكى الله خير عن هذا الشرح الرائع بجد ربنا يحفظك و ينورلك طريقك على فكره :rolleyes: انا النهارده اول يوم ليا اتعلم sql و فهمت كل كلمه قولتيها B) و بتمنى تكملى معانا و طبعا محتاج دعم من الجميع ونصايح الغالين :) عشان اكمل الطريق دا اللى حاسس نفسى فيه قوى B)  بشكرك مره تانيه على مجهودك الرائع دا

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
jama69

 السلام عليكم 

 

 اختى العزيزة  لقد قمت  بتطبيق  انشاء create table employee(emlpoyee_id,employee_name varchar2,employee varchar2);    وحسب  الخطوات  المدكوره  ولكن  لم  استطتع 

 

 

  وهده  صوره  مرفقة توضح دلك 

 

 

 

post-152310-0-41357800-1451823540_thumb.png

  • أعجبني 1

شارك هذه المشاركة


رابط المشاركة
شارك
amira_ahmed

create table employee(emlpoyee_id number,employee_name varchar2,employee varchar2);

كان يجب اضافه نوع الايتم الخاص برقم الموظف وهو في الغالب بيبقا من نوع number

شارك هذه المشاركة


رابط المشاركة
شارك

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من إضافة تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل؟ سجل دخولك من هنا.

سجل دخولك الان

×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: إتفاقية الخصوصية