منتدى طلبة جامعة الحاج لخضر- باتنة -
تعلم sql في 6 دقائق و بدون معلم 13401713

انضم إلى المنتدى ، فالأمر سريع وسهل

منتدى طلبة جامعة الحاج لخضر- باتنة -
تعلم sql في 6 دقائق و بدون معلم 13401713
منتدى طلبة جامعة الحاج لخضر- باتنة -
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

تعلم sql في 6 دقائق و بدون معلم

2 مشترك

اذهب الى الأسفل

جديد تعلم sql في 6 دقائق و بدون معلم

مُساهمة من طرف nero05 الإثنين سبتمبر 14, 2009 5:01 pm

السلام عليكم
اليكم هذا الشرح عن SQL
تعريف sql
الكلمه SQL هي اختصار Structured Query Language و معناها (لغة الاستعلام البنيويه) , تستخدم هذه اللغه في التعامل مع قواعد البيانات و لاستخراج و تحديث و اضافة البيانات من قاعدة البيانات و غالبا ما يتم استخدام هذا النوع من قواعد البيانات في المواقع التي تستخدم التقنيات الشهيره مثل الـ PHP , أو في تطبيقات الحاسوب التي تحتاج لقواعد بيانات , و كما نرى ان اغلب برامج الويب تعتمد على الــ SQL من خلال البرنامج الشهير MySQL , وماقد يخفي عليك أن تعلمك ل SQL يغنيك عن معرفة و access و Mysql و oracle و sql server ... كل شيء ستقوم به بواسطة SQL وتجدر الإشارة أن كل هذه البرامج إضافة أنها تدعم SQL فلكل منها لغة خاصة فالأكسس له لغته والأوراكل له لغة خاصة تدعى PLSQL ....
ما الذي يمكنني فعله في الـ SQL ؟
بفضل SQL يمكنك عمل الكثير
1\ إنشاء جدول بالمواصفات التي تحتاجها
2\ اضافة حقول او حذف حقول بعد انشاء الجدول
3\ تفريغ الجدول
4\ حذف الجدول
5\ ادخال المعلومات
6\ تحرير المعلومات
7\ حذف المعلومات
8\ إنشاء قاعدة بيانات
9\ حذف قاعدة بيانات
10\ استخراج المعلومات
11\ استخدام الشروط في استخراج المعلومات (تصاعدي , تنازلي , 10 معلومات , معلومات عن مستخدم معين إلخ ...)
أين يمكنني كتابة أوامر?
سأعطي مثال بالأكسس وبالصور
تعلم sql في 6 دقائق و بدون معلم Icon
تعلم sql في 6 دقائق و بدون معلم 2
تعلم sql في 6 دقائق و بدون معلم 3
تعلم sql في 6 دقائق و بدون معلم 4
تعلم sql في 6 دقائق و بدون معلم 5
تعلم sql في 6 دقائق و بدون معلم 6
تعلم sql في 6 دقائق و بدون معلم 7
تعلم sql في 6 دقائق و بدون معلم 8
إنشاء قاعدة بيانات جديده :
قاعدة البيانات هي عصب لغة الــ SQL و من خلالها يتم إنشاء الجداول و تعبئة المعلومات سوف نتعلم كيف نقوم بإنشاء قاعدة بيانات جديده
طريقة كتابة الامر :
CREATE DATEBASE mydbname;
سوف نقرأ هذا الامر باللغه العربيه , كأنك تقول (أنشئ قاعدة البيانات التي اسمها mydbname) .
طبعاً mydbname يمكنك تغيره إلى اسم قاعدة البيانات التي تريده مثلاً تود اسم القاعده brahim او db مثلاً , أي اي اسم تريده
لكن لن يفيدنا هذا الامر في الاكسس لأن في الأكسس سوف تنشيء أنت القاعدة بالمقابل في البرامج الأخرى سيكون هذا الأمر ذا أهمية
لحذف قاعدة البيانات نستعمل الكود الآتي :
DROP DATABASE mydbname;
لإضافة جدول للقاعدة
CREATE TABLE tablname (
Falid1 type null or not null ,
Falid2 type null or not null ,
);
حسناً , لنبدأ الشرح خطوه بخطوه , في اول السطر نقول بإننا نود إنشاء الجدول tablname طبعاً يمكننا تغيير هذه الكلمه إلى اسم الجدول الذي نود اضافته ,
Falid1 , Falid2 : هذان الاثنان يعنيان انهم اسماء للحقول و ها نحن نود اضافة حقلان الاول بمسمى Falid1 و الثاني Falid2 بعدها نبدأ بوصف مميزات هذا الحقل و نوع البيانات و سيتم شرح نوع البيانات في السطور القادمه .
Type : انواع البيانات او الحقول و سيتم شرحها قريبا بإذن الله
Null or not null : هذا يعني انه هل تريد ان يكون الحقل خالي ؟ مثلا هل تريد ان اسم المستخدم هل يجب ان يكتبه المستخدم ام اختياري .
حسناً , بعدما رأينا كيف نقوم بإنشاء جدول و تعرفنا ان هنالك انواع للحقول او البيانات , حسناً تمعّن في الجدول التالي الذي سوف يشرح انواع الحقول :
[center]النوع

نوعية البيانات التي يمكن تخزينها

TINYINT()

ارقام صحيحه صغيره جداً

SMALLINT()

ارقام صحيحه صغيره

MEDIUMINT()

ارقام صحيحه متوسطة الحجم

INT()

ارقام صحيحه اعتياديه

INTEGER()

مرادف لــ INT

BIGINT()

ارقام صحيحه كبيره جداً


جدول لانواع الارقام الصحيحه

النوع

نوع البيانات التي يمكن تخزينها

DATE

تاريخ ,, سيظهر كـ YYYY-MM-DD

TIME

وقت ,, سيظهر HH:MM:SS

DATETIME

تاريخ ووقت ,, سيظهر كـ

YYY-MM-DDHH:MM:SS

TIMESTAMP()

ختم زمني

YEAR()

سنه


جدول انواع بيانات التاريخ و الوقت

النوع

الوصف

TINYBLOB

حقل كائن BLOB صغير جدا

TINYTEXT

حقل TEXT صغير جدا

BLOB

حقل BLOB حجمه عادي

TEXT

حقل TEXT حجمه عادي

MEDIUMBLOB

حقل BLOB متوسط الحجم

MEDIUMTEXT

حقل TEXT متوسط الحجم

LONGBLOB

حقل BLOB طويل

LONGTEXT

حقل TEXT طويل


الانواع TEXT و BLOB

النوع

الوصف

CHAR

حقل يقوم بتخزين 1 إلى 255 حرف

VARCHAR

نفس عمل السابق


انواع السلاسل الاعتياديه

حسنا لنفرض اننا بحاجه إلى 4 حقول , و سنعدد ماهي :
الحقل الاول : وسوف يكون المعرف الخاص لكل زبون , حيث يكون رقم خاص للزبون يميزه عن غيره من الزبائن (ضروري) .
الحقل الثاني : اسم الزبون
الحقل الثالث : رقم هاتف الزبون
الحقل الرابع : عنوان موقع الزبون
حسناً الآن و بعد تحديد الحقول ووظائفها يجب علينا ان نحدد نوعها .

الحقل الاول : بما انه حقل يحمل رقم خاص لكل زبون اذاً سوف نرجع إلى جدول انواع الارقام , سوف نختار النوع INT() بحيث يكون رقم اعتيادي صحيح
حسناً , الآن لدينا مشكله ؟!.. نفرض اردنا اضافة زبون طبعا الزبون الاول سوف يكون رقمه 1 حسناً , نريد اضافة زبون ثاني و سوف نكتب في الحقل الاول رقم 2 , لكن ماذا لو وصلوا عدد زبنائنا مليون زبون !! هل سوف نكتب في الحقل الاولى مليون مليون وواحد مليون و اثنين !! طبعاً لا يمكننا ذلك بل سوف نهرب من هذه اللغه و من قواعد البيانات .
قد تتسائل ماهو حل هذه المشكله الكبيره التي قد تعرقلنا , قد يقول البعض لا نحتاج الحقول الاولى ولا نريد ترقيم هذا الزبون .
ولكنني ارد عليهم و اقول بل يمكننا ترقيمه و بسهوله بالغه و من دون اي تعب او شقاء الحمدلله هناك خاصيه بإسم auto_increment وهي اوتوماتيكيه حيث كلما قمت بإضافة زبون يكتب رقم آخر زبون + 1 , يعني لا تشقى ولا تتعب اجعل عملية اعطاء الزبون رقم خاص للغة الـSQL .
لنفرض ان الحقل الاول إسمه id اي identify و المقصود رقم المعرف كما ذكرنا مسبقاً سوف يكون نوعه INT اي عدد صحيح و سوف نشغل فيه الخاصيه : auto_increment لكي يكون اوتوماتيكياً .
لنفرض ان الحقل الثاني الذي هو إسم الزبون ويكون اسمه name طبعاً يكون نوعه من varchar اي سلسله .
لنفرض ان الحقل الثالث وهو رقم الهاتف إسمه phone طبعاً يكون نوعه INT اي رقم صحيح
لنفرض ان الحقل الرابع و الاخير و هو عنوان موقعه يكون ال varchar لانه تعتبر سلسله واسمه domin .

نسيت ان اذكر شئ مهم و ان السلسله varchar تخزن ارقام و حروف .
, لنفرض ان اسم الجدول client
سيكون الأمر كالتالي :
CREATE TABLE client (
id INT(9) NOT NULL auto_increment ,
name varchar(200) NOT NULL ,
phone INT(9) NOT NULL ,
domin varchar(150) NOT NULL ,
primary key (id)
);
نفترض اننا قمنا بإضافة المعلومات !! , و نريد حذفها جميعها
سوف نستعمل الأمر التالي :
DELETE FROM tablename;
قد تتسائل هل يمكنني حذف معلومه واحد فقط !
الجواب طبعاً نعم و بإستخدام نفس الامر لكن بإضافة الجمله الشرطيه WHERE
لنفرض أننا نود حذف الزبون الذي يحمل رقم تلفون 00123456
سوف نستعمل الأمر التالي :
DELETE FROM tablename where phone = 00123456;
أوامر أخرى
لحذف جدول المعلومات نهائياً من قاعدة البيانات
DROP TABLE tablename;
لدينا زبون جديد و نريد تسجيل معلوماته في الجدول
INSERT INTO tablename VALUES ('info1','info2');
مثال
INSERT INTO client VALUES ('NULL','brahim','1234567','yahoo.com');
لإضافة حقول معينة فقط
INSERT INTO client(id,name,domin) VALUES ('NULL','brahim','yahoo.com');
حذف المعلومات :
DELETE FROM client WHERE domin='yahoo.com';
تحديث المعلومات :
UPDATE client SET name='ahmed';
نفترض أن الزبون الذي يملك yahoo.com غير تلفونه سنعدله هكذا
UPDATE client SET phone='87654321' WHERE domin='yahoo.com';
إستخراج المعلومات :
SELECT * FROM tablename;
لاستخراج حقل التلفون فقط
SELECT phone FROM client;
استخراج معلومات كل العملاء الذين يحملون الاسم brahim .
SELECT * FROM client WHERE name='brahim';
حسناً , هناك عدة عمليات تتم من خلال جملة WHERE بمعنى انها ليست فقط للقيم المتساويه , بل لعدّة قيّم مثلا غير متساويه او اكبر من او يساوي او غيره و هذا الجدول يوضح كل العمليات التي يمكننا استخدامها في جملة WHERE .
العمليه

وصفها

=

يساوي

<> او !=

لا يساوي

<

اكبر من

>

اصغر من

=<

اكبر من او يساوي

=>

اصغر من او يساوي

LIKE

خاصه لعمليات البحث
[/center]
nero05
nero05
مشرف
مشرف

تعلم sql في 6 دقائق و بدون معلم Medal-11
رسالة sms : لكتابة رسالة sms انتقل إلى مكتبك
الهويات الهويات : تعلم sql في 6 دقائق و بدون معلم Travel10
المهن المهن : تعلم sql في 6 دقائق و بدون معلم Engine10
الاعلام الاعلام : تعلم sql في 6 دقائق و بدون معلم Male_a11
الجنس الجنس : ذكر
عدد الرسائل عدد الرسائل : 820
نقاط التميز : 17483
تاريخ التسجيل تاريخ التسجيل : 08/07/2009


الرجوع الى أعلى الصفحة اذهب الى الأسفل

جديد رد: تعلم sql في 6 دقائق و بدون معلم

مُساهمة من طرف 7alimou الجمعة يناير 15, 2010 8:34 pm

مشكور على الموضوع الرائع
7alimou
7alimou
عضو نشيط
عضو نشيط

رسالة sms : لا إلاه إلا الله محمد رسول الله
المهن المهن : تعلم sql في 6 دقائق و بدون معلم Progra10
الاعلام الاعلام : تعلم sql في 6 دقائق و بدون معلم Male_a11
الجنس الجنس : ذكر
عدد الرسائل عدد الرسائل : 77
نقاط التميز : 15817
تاريخ التسجيل تاريخ التسجيل : 05/01/2010


https://www.facebook.com/7alimou

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى