لاحظ ان جميع الحقول تسمح بالقيم الخالية NULL
وهذا لا يجوز في بعض الامور فقط يجب ان يكون للأمور الاختيارية
لاحظ عند التسجيل في موقع معين او في استمارة معينة
هناك بعض المعلومات تكون اختيارية optional
والبعض الاخر تكون مطلوبه required
ولكي نجعل الحقل مطلوب عند اشائه يجب ان نظع عبارة
NOT NULL
اي ان هذا العمود لا يمسح بالقيم الخالية
وهذا لا يجوز في بعض الامور فقط يجب ان يكون للأمور الاختيارية
لاحظ عند التسجيل في موقع معين او في استمارة معينة
هناك بعض المعلومات تكون اختيارية optional
والبعض الاخر تكون مطلوبه required
ولكي نجعل الحقل مطلوب عند اشائه يجب ان نظع عبارة
NOT NULL
اي ان هذا العمود لا يمسح بالقيم الخالية
مثل :
CREATE TABLE st_info
(st_id INT NOT NULL, st_fname VARCHAR(30) NOT NULL, st_age INT) ;
CREATE TABLE st_info
(st_id INT NOT NULL, st_fname VARCHAR(30) NOT NULL, st_age INT) ;
لاحظ القيمه في الحقل Null تكون yes
اي ان هذه الحقول تقبل قيمه خالية
اي ان هذه الحقول تقبل قيمه خالية
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20),
create_date DATE
);
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20),
create_date DATE
);
هنا قمنا بتكوين جدول للمستخدمين يتكون من
id للمستخدم
واسمه
وتاريخ التسجيل
id للمستخدم
واسمه
وتاريخ التسجيل
CREATE DATABASE my_first_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
الخاصيه
AUTO_INCREMENT
تعني انه سيتم ملأ الحقل الخاص بال user_id
تلقائياً بدون اضافة قيم له وسيبدأ من 1 عند اضافة اول مستخدم وبعد اضافة مستخدم ثاني سيكون user_id له يساوي 2 وهكذا كلما نظيف اسم مستخدم وتاريخ ستظاف القيمه تلقائيا وبشكل تسلسلي📈
AUTO_INCREMENT
تعني انه سيتم ملأ الحقل الخاص بال user_id
تلقائياً بدون اضافة قيم له وسيبدأ من 1 عند اضافة اول مستخدم وبعد اضافة مستخدم ثاني سيكون user_id له يساوي 2 وهكذا كلما نظيف اسم مستخدم وتاريخ ستظاف القيمه تلقائيا وبشكل تسلسلي📈
قمنا بنفس الامر بتعيين هذا الحقل كمفتاح رأيسي
PRIMARY KEY
والذي يستخدم للربط ومن خصائص المفتاح الرأيسي انه يكون لا يقبل تكرار نفس البيانات فيه
- لا يسمح بالقيم الخالية null
PRIMARY KEY
والذي يستخدم للربط ومن خصائص المفتاح الرأيسي انه يكون لا يقبل تكرار نفس البيانات فيه
- لا يسمح بالقيم الخالية null
على سبيل المثال يعتبر رقم بطاقتك الوطنية مفتاح اساسي لان رقم البطاقة الوطنية وحيد لا يتكرر ومن المستحيل ان نجد رقم بطاقة وطنية فارغ
مثال اخر رقم هاتفك يعتبر مفتاح اساسي لانه من المستحيل ان يتكرر او يتشابه رقمين
مثال اخر رقم بطاقتك المدرسية يعتبر مفتاح اساسي لانه من المستحيل ان يتشابه رقمين لطالبين في نفس المدرسة
هنا نستنتج ونستخلص الفائدة من المفتاح الاساسي وهو الاستعلام
على سبيل المثال اذا ذهبت الى شركة الاتصال وطلبت منهم ان يستخرجو تقرير عن الاتصالات التي تمت على شريحتك منذ سنة هل سيسألك موظف الاتصالات عن اسمك بالطبع لا
لان الاسماء ربما تكرر
هنا سيطلب منك موظف الاتصالات رقم هاتفك وعن طريق رقم هاتفك سيتم استخراج البيانات المطلوبة تماما عندما تريد استخراج نتيجتك من موقع المدرسة او موقع الجامعة سيطلب منك ادخال رقم بطاقتك لانك لو ادخلت اسمك ربما تتشابه الاسماء
ربما الان وصلنا الى مفهوم المفتاح الاساسي وهو عمود يمتلك قيمة وحيدة لاتقبل التكرار ولا يقبل القيمة الفارغة وبواسطته يسهل علينا الاستعلام عن بيانات الجدول بشكل سريع ومختصر .
مثال اخر رقم هاتفك يعتبر مفتاح اساسي لانه من المستحيل ان يتكرر او يتشابه رقمين
مثال اخر رقم بطاقتك المدرسية يعتبر مفتاح اساسي لانه من المستحيل ان يتشابه رقمين لطالبين في نفس المدرسة
هنا نستنتج ونستخلص الفائدة من المفتاح الاساسي وهو الاستعلام
على سبيل المثال اذا ذهبت الى شركة الاتصال وطلبت منهم ان يستخرجو تقرير عن الاتصالات التي تمت على شريحتك منذ سنة هل سيسألك موظف الاتصالات عن اسمك بالطبع لا
لان الاسماء ربما تكرر
هنا سيطلب منك موظف الاتصالات رقم هاتفك وعن طريق رقم هاتفك سيتم استخراج البيانات المطلوبة تماما عندما تريد استخراج نتيجتك من موقع المدرسة او موقع الجامعة سيطلب منك ادخال رقم بطاقتك لانك لو ادخلت اسمك ربما تتشابه الاسماء
ربما الان وصلنا الى مفهوم المفتاح الاساسي وهو عمود يمتلك قيمة وحيدة لاتقبل التكرار ولا يقبل القيمة الفارغة وبواسطته يسهل علينا الاستعلام عن بيانات الجدول بشكل سريع ومختصر .
ولأستعراض الجداول التي قمنا بأنشائها في قاعدة البيانات الحالة نستخدم الامر :
SHOW TABLES ;
SHOW TABLES ;
ولعرض هيكلية الجدول الذي قمنا بأنشائه
نكتب :
DESC users ;
oe
EXPLAIN users ;
نكتب :
DESC users ;
oe
EXPLAIN users ;