هر ديتا بيسي(DataBase) شامل جداول مختلف اطلاعاتي است. هرجدول در يك ديتا بيس داراي نام يگانه ايست.جدول داراي تعدادي ستون وتعدادي سطرميباشد. هرستون جدول داراي نام يگانه ايست و به آن فيلد (field)ميگويند.
هرفيلد داراي مشخصات خاص بوده که رفتارسيستمهاي اطلاعاتي رابراي نگهداري وکنترل برآن مشخص
مينمايد. مجموعه فيلدهاي جدول ساختار"structure"جدول نام دارد.در رديفهاي هرجدول، اطلاعات
قرارميگيرد. فيلدهاي جدول موارد رابطه دارهستندوقرار گرفتن فيلد بدون رابطه درجدول کاربردي
نداشته وبي معني است. براي تعريف ساختارجدول دربانکهاي اطلاعاتي استاندارد از دستور
ايجادجدول
CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )
در دستور ايجاد جدول براي هر فيلد بايستي نوع فيلد اعلام شود .انواع فيلد براي بانك اطلاعاتي MySQLدر Data Type reference وجود دارد .بعد از نوع فيلد ويژگي يا گزينه هاي ديگريست كه بدنبال نوع فيلد ميتواند اضافه شود
درخواست"query"فوق ، دستور ايجادجدولmyGuesteدرديتابيسMydb است که درادامه ازآن استفاده ميشود. همچنين مشخصه فيلدهابطور کلي درجدول، در زيربيان شده است.
اين جدول داراي پنح فيادid،emai ،lastnsme،firstnameوreg_date ميباشدid .كليد اصلي"primerykey"بوده ويک فيلد افزايشي است. همچنين داراي مقاديرمثبت ميباشد. درافزايش رديف اطلاعات مقدارآن بصورت اتوماتيک افزايش مي يابد.
فيلدreg_dateتاريخ ثبت رديف بوده ومقدارپيش فرض آن تاريخ لحظه ثبت ميباشد.يعني اگر مقداري اعلام نشود بصورت اتوماتيک پيش فرض رادرنظرميگيرد.
ايحاد جدول"create table"با زبانphp بسه روش توضيح داده شده دربخش ايجادdatabase ميتوان انجام داد.اين سه روش مطابق زير ميباشند.
Mysqli(object oriented)-1
Mysqli(procedural)-2
PDO(php data objects)-3
روش 1و2خاصmysqlبوده و روش سوم براي بيشتر سيستم بانک هاي اطلاعاتي است. روش 2رويه اي تا تابعي است ولي دوروش ديگر شيگرا ميباشند.
براي ايچاد جدول در مثال از روش اول يعنيmysqliشيگرا استفاده مي نمائيم . بکارگيري دو روش ديگر مشابه آنچه که درايجادdatabaseبيان شدميباشد فقط درخواست "query"،تفاوت دارد كه ايجاد جدولcreate table است.
براي ايجاد جدول بايد ابتدا با بانک اطلاعاتي ارتباط برقرارنموده وسپس درخواست ايجاد را مطابق
الگوي انتخابي اجرا نمود. عمليات مشابه ايجادdatabaseاست. ممکن است دستوراسکيوال آن در
سيستمهاي اطلاعاتي تفاوت اندکي داشته باشد، که بايد رعايت شود. بعنوان نمونه فيلد افزايشي در
ماي اسکيوال
مثال ـ ايجادجدول با روشmysqli شيگرا
براي ارتباط با بانک اطلاعاتي براي ايجاد جدول از چهار پارامتر استفاده ميشود. پارامتر چها رم نماينده نامdatabaseاست که بايد درآن جدول مربوطه ايجاد شود. سه پارامتراول قبلا درايجاد databaseمطرح شده بود. دراين مثال جدول MyGuestsدرديتابيسmydb ايجادميشود. دستورايجاد ارتباط بصورت زيراست. روال بررسي ارتباط وپيغام نتايج عمليات مشابه موارد قبلي است.
درخواست ايجاد جدول درمتغير$sql قرارگرفته وتوسط متدqueryشئ$conn اجرا ميگردد.
<?php $servername = "servername"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // sql to create table $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )"; if ($conn->query($sql) === TRUE) { echo "Table MyGuests created successfully"; } else { echo "Error creating table: " . $conn->error; } $conn->close(); ?>
درصورتيکه دستورcreate tableمطابق قانون استاندارد اسکيوال نباشد، پيغام خطا صادر ميشود. اگرجدول مورد نظرقبلا ايجاد شده باشد، مجددا ايجاد نميشودو پيغام خطا صادر ميگردد.