medo
™المدير العـام™
عدد مساهماتى : 5740 مزاجي : الحمدلله انا من : مصر احترامك لقوانين المنتدي : نشاطك فى المنتدي : عدد نقاط التميز : 9968 عدد التقيمات : 15 تاريخ التسجيل : 17/08/2007 وسام1 : وسام2 : وسام3 : وسام4 : توقيع المنتدي :
| موضوع: ادخال البيانات INSERT in MySql 15.05.09 15:56 | |
| :g:4: :sleep: كل ماسبق بالرغم من اننا تطرقنا لعدة امور عملية به الا انه مازال ينقصه الحيوية واعنى بالحيوية, يعنى الإستخدام الحقيقى, لإدخال واستخراج البيانات من قاعدة البيانات.
فـ كل ماسبق من دروس كان يعتبر إعداد لمسكن البيانات.
والرغبة فى إعداد هذه المساكن بالطبع لتسكين البيانات بها, وهذا هو ادخال البيانات.
والدرس المقبل بإذن الله طرق استخراج البيانات.
لهذا النقاط المستفادة من هذا الدرس
هما كيفية ادخال البيانات بقاعدة البيانات. و كيفية استخراجها.
ونبدأ على بركة الله بإدخال البيانات.
ادخال البيانات يتم بإستخدام الأمر 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 حتى يتم انشاء الرقم تلقائيا)
اتمنى يكون كل شئ بالدرس سهل وبسيط واراكم بالدرس المقبل بإذن الله .
| |
|