الويب المصرى الباشا صاحب المنتدى
عدد المساهمات : 434 تاريخ التسجيل : 14/11/2010 العمر : 37
| موضوع: ادخال البيانات INSERT in MySql الأحد نوفمبر 21, 2010 12:36 am | |
| [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] كل ماسبق بالرغم من اننا تطرقنا لعدة امور عملية به الا انه مازال ينقصه الحيوية واعنى بالحيوية, يعنى الإستخدام الحقيقى, لإدخال واستخراج البيانات من قاعدة البيانات.
فـ كل ماسبق من دروس كان يعتبر إعداد لمسكن البيانات.
والرغبة فى إعداد هذه المساكن بالطبع لتسكين البيانات بها, وهذا هو ادخال البيانات.
والدرس المقبل بإذن الله طرق استخراج البيانات.
لهذا النقاط المستفادة من هذا الدرس
هما كيفية ادخال البيانات بقاعدة البيانات. و كيفية استخراجها.
ونبدأ على بركة الله بإدخال البيانات.
ادخال البيانات يتم بإستخدام الأمر INSERT ويكون بالصيغة التالية
كود :
INSERT INTO table_name (column_1,column_2,column_3) VALUES(val_1,val_2,val_3)
بالكود اعلاه طلبنا من محرك MySql ان يختار اولا الجدول الذى سنعمل عليه وهو table_name ثم حددنا الحقول التى نريد تعبئتها وهم column_1 الى column_3 ثم اعطيناه القيم بنفس ترتيب الجداول داخل الأمر VALUES بعد اجراء المثال السابق سيتم ادخال val_1 داخل حقل column_1 وهكذا مع بقية الحقول والقيم داخل الجدول table_name
فى صيغة الكود اعلاه قمنا بتحديد عدد معين من الحقول داخل الجدول وادخلنا قيمتها. ماذا اذا كان هناك حقول لم نحددها ولم ندخل بها اى قيمة؟ ما الذى سيتم ادخاله بها؟ هذا متوقف على نوع الحقول المتبقية بمعنى اذا كان الحقل المتبقى هو PK وله الخاصية AUTO_INCREMENT سيتم تعبئته بأول اكبر رقم. (راجع الدروس الأولى لفهم ماهو الـ PK والخاصية AUTO_INCREMENT ) اذا كان الحقل المتبقى من اى نوع اخر ويسمح بالقيمة NULL فـ سيتم ادخال القيمة NULL اذا كان الحقل المتبقى لا يسمح بالقيمة NULL لكن له قيمة فى خاصية الـ DEFAULT سيتم استخدامها. اما اذا كان الحقل لا يسمح بالقيمة NULL وليس له قيمة DEFAULT وليس PK سينتج عن هذا حدوث خطأ, ولن يتم ادخال البيانات.
وهناك صيغة اسرع لإدخال البيانات. لنفترض لدينا الجدول التالى الذى له الإسم users
* user_id INT(10) NOT NULL UNSIGNED PK AUTO_INCREMENT
* username VARCHAR(60) NOT NULL
* password CHAR(32) NOT NULL
* email VARCHAR(120) NOT NULL
* site VARCHAR(80) NUT NULL DEFAUL 'dd4bb.com'
الأن يمكننا تعبئة كل ماسبق من حقول بالصيغة الأولى المذكورة بالشكل التالى
كود :
INSERT INTO `users` (user_id, username, password, email, site) VALUES(NULL,'pepo','mypass','my@email.com','mysite.com')
او يمكننا ادخال البيانات بالشكل التالى
كود :
INSERT INTO `users` VALUES(NULL,'pepo','mypass','my@email.com','mysite.com')
لكن ماذا اذا ادخلنا البيانات بالشكل التالى
كود :
INSERT INTO `users` VALUES(NULL,'pepo','mypass','my@email.com')
لاحظ اننا لم ندخل قيمة الحقل site لكن هذا الحقل له قيمة افتراضية لذلك سيتم استخدامها وهى dd4bb.com كما يمكننا ايضا ان ندخل اكثر من بيان بالجدول فى مرة واحدة بالشكل التالى كود :
INSERT INTO `users` VALUES(NULL,'pepo','mypass','my@email.com'), (NULL, 'Ahmed','ahmed_pass','ahmed@email.com',ahmed_site.com)
فقط يجب عليك ان تحرص على ان يكون ترتيب القيم التى يتم ادخالها له نفس ترتيب الحقول التى قمت بإنشائها وان لا تترك قيمة فارغة لأى حقل ليس من خصائصه الـ AUTO_INCREMENT او DEFAULT او NULL (يمكنك ادخال NULL فى حقول الـ PK حتى يتم انشاء الرقم تلقائيا)
اتمنى يكون كل شئ بالدرس سهل وبسيط واراكم بالدرس المقبل بإذن الله.
| |
|