إنشاء الإستعلامات و الإستعلام في mysql عن طريق php
قواعد البيانات
الإتصال بقواعد البيانات
هناك عدد من الطرق التي تتمكن من خلالها الاتصال بقاعدة بيانات و تنفيذ عدد من الإستعلامات عليها مثل مثلا تركيب برنامج بي اتش بي ليعمل كواجهه لقاعدة بياناتك اكثر البرامج شهرة هي ..PhpMyAdmin كما توفر بعض المواقع خاصية الدخول على حسابك عن طريق التلنت telnet وذلك عن طريق الخطوات التالي..
من start>run اطبع telnet وهناك اخترconnect > remote system و ادخل عنوان موقعك و ضغط connect
ادخل كلمة المرور و اسم المستخدم الخاص بموقعك
اكتب mysql -p
اكتب use databasename حيث databasenme هو اسم قاعدة البيانات التي تريد اختيارها
اطبع الاستعلام الذي تريد
انشاء جدول
ما تعلم فقاعدة البيانات عبارة عن عدد من الجدوال و التي تحتوي على بيانات متصله ببعضها البعض ... في مثالنا هنا سنفترض قاعدة بيانات لمجموعة من الكتب ... كل كتاب له اسم، مؤلف، دار نشر ، طبعه ، و رقم تسلسلي مميز بحيث لا يكون لاكثر من كتاب الرقم التسلسلي ذاته..
يكون الإستعلام كالتالي ..
CREATE TABLE book ( searial INT NOT NULL AUTO_INCREMENT, name text NOT NULL, author text not null, publisher text copy int(4) , PRIMARY KEY (searial) ); |
و Publisher من نوع نص و لكن يمكن ان يترك فارغا ...
اما searial الرقم التسلسلي لكل كتاب فهو رقم int لا يمكن ان يترك فارغا و يتضاعف في كل مرة AUTO_INCREMENT بمعنى في كل مرة نضيف كتاب جديد يعطى رقم متسلسل تلقائيا ..و في النهاية حددنا الرقم التسلسلي كمفتاح اساسي primary key اي لا يمكن لا كثر من كتاب ان يكون له نفس الرقم .. copy من نوع رقمي و حددنا طوله باربع ارقام..
هناك عدد من الانواع للحقول.مثلا :
Date للتاريخ الصيغة التلقائية هي YYYY-MM-DD text وهو للنصوص الكبيرة . bolb مشابه للسابق لكن في الحروف الانجليزية في حال استخدامه يصبح هناك فرق بين الحروف الكبيرة و الصغيرة مثلا case تحتلف عن CASE
INT رقم يتراوح بين -2147483648 و 2147483648
هناك انواع اخرى مثل
"TINYINT",
"SMALLINT"
"MEDIUMINT"
"INT"
"BIGINT"
"FLOAT"
"DOUBLE"
"DECIMAL"
"DATE"
"DATETIME"
"TIMESTAMP"
"TIME"
"YEAR"
"CHAR"
"VARCHAR
"TINYBLOB"
"TINYTEXT"
"TEXT"
"BLOB"
"MEDIUMBLOB"
"MEDIUMTEXT"
"LONGBLOB"
"LONGTEXT"
"ENUM"
"SET"
و الان يمكنك وضع استعلام انشاء الجدول في التلنت او يمكنك انشاء برنامج php لهذا الغرض..
mysql و php
اولا يجب عليك الاتصال بقواعد البيانات عن طريق
$db = 'اسم قاعد البيانات'; // mySQL database name |
$db = 'اسم قاعد البيانات'; // mySQL database name
$user = 'اسم المستخدم'; // mySQL username
$pw = 'كلمة المرور'; // mySQL password
$mysql_access = mysql_connect("localhost", $user, $pw);
mysql_select_db($db, $mysql_access);
نضع الاستعلام في متغيير و نسميه مثلا $sql
$sql = " CREATE TABLE book ( |
فكرة التعامل مع قواعد البيانات تقوم على ارسال الإستعلام الذي تريد عبر متغيير باستخدام دالة معينه لتفيذ الإستعلام ..
الدالة التي تستخدم دائما لتفيذ اي استعلام هي mysql_query
الإضافة إلى قواعد البيانات
لو اكملنا المثال السابق حول جدول الكتب.. و اردناانشاء استعلام ياخد البيانات من استمارة و يضيفها في قاعدة البيانات ..
الإستمارة ستحتوي على الحقول التالية : name,author,pblisher , copy
سنأخذ البيانات من هذه الإستمارة و ننسقها في استعلام محتوى في متغير باسم مثلا sql
$sql = "insert into book (name, author,publisher,copy) values ('$name','$author','$pblisher','$copy') " ; |
mysql_query($sql) or die (mysql_error) ; |
مثلا
echo "شكرا لك ..." ; |
لعرض البيانات نستخدم الإستعلام التالي :
$sql = "select * from book"'; |
$sql = "select name from book '; |
$sql ="select * from book where author = "drnet"; |
لعرض البيانات نستخدم التالي اولا سنتصل بقاعدة البيانات
$db = 'dhname'; |
$resutls = mysql_query($sql) |
و من ثم سنفك هذه المتسلسلة .. في متغيير جديد نسميه $row و نعرض النتائج باستخدام حلقة
|
تعديل قواعد البيانات
للتعديل نستخدم الإستعلام التالي ..
$sql = "update book set name='drnet' " ; |
$sql = "update book set name = 'drnet ' where serial = '2' "; |
استعلام بدون نتائج
للتاكد من ان الاستعلام فارغ او يحوي نتائج نستخدم الدالة mysql_num_rows
مثلا
$results = mysql_query($sql) or die (mysql_error)) ; |
حذف من قاعدة البيانات
للحذف من قاعدة البيانات نستخدم التالي
$sql ="delete from book where name= 'drnet' "; |
المصدر