PHP – ایجاد جدول در پایگاه داده MySQL
جدولهای پایگاه داده یکی از اجزای کلیدی در ذخیره و مدیریت دادهها هستند. هر جدول نام منحصر به فردی دارد و شامل ستونها و سطرها است. در این مقاله، نحوه ایجاد یک جدول در MySQL با استفاده از PHP و دو روش محبوب MySQLi و PDO را بررسی خواهیم کرد.
تعریف جدول در MySQL
برای ایجاد یک جدول جدید در MySQL، از دستور CREATE TABLE
استفاده میشود. در اینجا، جدولی به نام “MyGuests” با پنج ستون: “id”، “firstname”، “lastname”، “email” و “reg_date” ایجاد خواهیم کرد:
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
)
توضیحات در مورد جدول بالا:
- نوع داده: مشخص میکند که هر ستون چه نوع دادهای میتواند داشته باشد.
- NOT NULL: هر ردیف باید مقداری برای آن ستون داشته باشد و مقادیر NULL مجاز نیستند.
- DEFAULT value: مقدار پیشفرضی که زمانی که مقداری دیگر ارائه نشود، اضافه میشود.
- UNSIGNED: برای انواع عددی استفاده میشود و دادههای منفی را حذف میکند.
- AUTO_INCREMENT: MySQL به طور خودکار مقدار فیلد را با هر بار اضافه کردن رکورد جدید افزایش میدهد.
- PRIMARY KEY: برای شناسایی منحصر به فرد هر ردیف در جدول استفاده میشود. ستون با تنظیم PRIMARY KEY معمولاً یک شماره ID است و اغلب با AUTO_INCREMENT استفاده میشود.
هر جدول باید دارای یک ستون کلید اصلی باشد (در اینجا: ستون “id”). مقدار آن باید برای هر رکورد در جدول منحصر به فرد باشد.
ایجاد جدول با استفاده از MySQLi
1. استفاده از MySQLi به روش شیءگرا
در این روش، از MySQLi به صورت شیءگرا برای ایجاد جدول استفاده میکنیم:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// ایجاد اتصال
$conn = new mysqli($servername, $username, $password, $dbname);
// بررسی اتصال
if ($conn->connect_error) {
die("اتصال ناموفق: " . $conn->connect_error);
}
// دستور SQL برای ایجاد جدول
$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 "جدول MyGuests با موفقیت ایجاد شد";
} else {
echo "خطا در ایجاد جدول: " . $conn->error;
}
$conn->close();
?>
2. استفاده از MySQLi به روش رویهای
در این روش، از MySQLi به صورت رویهای برای ایجاد جدول استفاده میکنیم:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// ایجاد اتصال
$conn = mysqli_connect($servername, $username, $password, $dbname);
// بررسی اتصال
if (!$conn) {
die("اتصال ناموفق: " . mysqli_connect_error());
}
// دستور SQL برای ایجاد جدول
$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 (mysqli_query($conn, $sql)) {
echo "جدول MyGuests با موفقیت ایجاد شد";
} else {
echo "خطا در ایجاد جدول: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
ایجاد جدول با استفاده از PDO
در این روش، از PDO برای ایجاد جدول استفاده میکنیم:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// تنظیم حالت خطا به استثنا
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// دستور SQL برای ایجاد جدول
$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
)";
// استفاده از exec() چون نتیجهای برنمیگردد
$conn->exec($sql);
echo "جدول MyGuests با موفقیت ایجاد شد";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
نکته: یکی از مزایای بزرگ PDO این است که دارای کلاس استثنا برای مدیریت مشکلاتی است که ممکن است در کوئریهای پایگاه داده پیش بیاید. اگر استثنایی در بلوک try{ }
پرتاب شود، اسکریپت متوقف شده و به طور مستقیم به اولین بلوک catch(){ }
منتقل میشود. در بلوک catch بالا، ما دستور SQL و پیام خطای تولید شده را نمایش میدهیم.
با استفاده از این روشها، میتوانید به راحتی جداول MySQL را با PHP ایجاد کرده و مدیریت کنید.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام