مشاهدة النسخة كاملة : استخدام التعليمة Create في قواعد بيانات MySQL


المحــ البرمجى ــتوى
11-27-2006, 11:33 AM
عنوان الدرس: استخدام التعليمة Create في قواعد بيانات MySQL

سنبدأ الآن ببناء قاعدة البيانات خاصتنا التي ذكرناها آنفا في الدرس الثاني, لنبدأ على بركة الله.

لكن في البداية قم بتسجيل الدخول إلى MySQL

# الأمر create database :

من الطبيعي أن أقوم بإنشاء قاعدة بيانات قبل أن أقوم ببناء جداولها, و الصياغة القواعدية لأمر إنشاء قاعدة بيانات هو:

mysql>create database DB_name;

لذلك قم أنت بكتابة الأمر التالي:

mysql>create database movie_store;

و بذلك أصبح لديك قاعدة بيانات اسمها movie_store , فإذا ذهبت إلى المسار التالي : C:apachemysqldata ستجد هناك مجلد اسمه movie_store و سيكون فارغ.

و الآن للقيام بإنشاء الجداول الخاصة بنا يجب علينا استعمال القاعدة movie_store لذلك نكتب الأمر التالي:

mysql>use movie_store;

ملاحظة: هناك خاصية جميلة في MySQL و هي في حال أنك أردت كتابة تعليمة طويلة بحيث طولها يزيد عن السطر مثل تعليمات إنشاء الجداول و الاستعلامات المركبة, فإن ذلك ممكن مع MySQL بحيث تضغط مفتاح inter لتنتقل المشيرة إلى السطر التالي و ستجد في بداية السطر التالي العلامة التالية ( - > ) و هي تدل على أن التعليمة التي تكتبها لم تنته بعد.

# الأمر create table :

سنقوم ببناء أول جدول و هو الجدول employees , و الصيغة القواعدية لبناء جدول هي:

create table table_name(

col_1_name type attributes ,

col_2_name type attributes ,

col_n_name type attributes ,

primary key(col_name)) type=table_type ;

لا تقلق حول هذه الصيغة فسيتم شرحها بشكل مستفيض إن شاء الله.

بعدما قمنا بإنشاء قاعدة بيانات, سنقوم الآن بإنشاء جداولها, و إليك شرح الصيغة القواعدية لإنشاء جدول:

في السطر الأول نقول لـ MySQL بأن تقوم بإنشاء قاعدة بيانات ثم نفتح قوس و نغلقه كما يلي:

create table table_name( )

و بداخل القوسين نكتب كل المعلومات اللازمة عن عناصر الجدول, حيث أن col_1 هو اسم العمود و يمكن أن يكون اسم العمود أي سلسلة محرفية تريدها و لكن بدون فراغات.

أما type فهي نوع العمود و هناك ثلاث أنواع للأعمدة هي:

1. الأعمدة النصية.

2. الأعمدة الرقمية.

3. أعمدة التاريخ و الوقت.

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

أما attributes فهي سمات أو خصائص أو صفات هذا العمود و أهم الصفات هي:

1- NULL | NOT NULL : و التي تخبر MySQL فيما إذا سيتم السماح باستخدام القيم الفارغة(اللاقيمة) أم لا في العمود. حيث أن NOT NULL تخبر MySQL بعدم السماح بوجود اللاقيمة, و NULL تخبره بالسماح بوجود اللاقيمة و الشكل الافتراضي هو NULL .

تلميح: الشكل الافتراضي Default هي الطريقة التي تعتمدها MySQL في حال عدم تنبيهنا له(أي لـ MySQL) عن كيفية الطريقة الواجب اتباعها, و لتوضيح ذلك دعنا نأخذ هذا المثال: عندما تفتح مجلد يضم العديد من الملفات ذات الامتدادات المختلفة Different Suffixes ستلاحظ أن ويندوز قد قام من تلقاء نفسه بترتيبها أبجديا, و هذا هو الشكل الافتراضي للترتيب عند ويندوز.

2- DEFAULT : و هي القيمة الافتراضية التي تريدها أنت أن يتم إدراجها في حال لم يقوم المستخدم بإدراج قيمة, لنأخذ هذا المثال:

create table exam(

name varchar(30) primary key not null default 'He has no name' ) ;

لاحظ ففي حال لم يدخل المستخدم أو الزبون اسمه في النموذج فستظهر الجملة He has no name في الخانة الخاصة باسمه من النموذج.

3- auto_increment : و هي ميزة الترقيم التلقائي و هي مفيدة من أجل المفتاح الأساسي Primary Key .

4- Primary Key : هذه السمة نضيفها للعمود الذي يحوي قيما فريدة, راجع الدرس (مفاهيم في قواعد البيانات العلائقية - الجزء الأول) , لنأخذ المثال التالي:

قم بإنشاء جدول اسمه names مكون من عمودين بحيث الأول هو مفتاح أساسي و اسمه id و نوعه int و الثاني يحوي أسماء أشخاص و اسمه name و نوعه varchar :

create table names (

id int primary key auto_increment,

name varchar(20) not null);

و بالتالي عندما تقوم بإدراج اسم ما فإن هذا الاسم تلقائيا يأخذ رقم و تبدأ الأرقام من الواحد و صعودا.

كما و يمكن أن تستخدم السمة primary key بشكل منفصل كما يلي:

create table names(

id int auto_increment,

name varchar(20) not null,

primary key (id));

و هذا الشكل أفضل لأنه في بعض الحالات قد تحتاج أن يكون المفتاح الأساسي مؤلف من عمودين أو أكثر كما يلي:

primary key (id,name);

و أخيرا بالنسبة إلى type=table_type فهي من أجل إعطاء الجدول نوع معين و سنتكلم عن أنواع الجداول لاحقا إن شاء الله.