یک جدول پایگاه داده یا database table دارای یک نام منحصر به فرد بوده و اطلاعات خود را در قالب چندین سطر (row) و ستون (column) نگهداری می کند.

ایجاد یک جدول MySQL با استفاده از MySQLi و PDO

از دستور “CREATE TABLE” برای ایجاد، جدول در MySQL استفاده می شود. ما یک جدول با نام 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
)

نکته های مربوط به دستور فوق :

نوع داده (data type) مشخص می کند ، چه نوع داده هایی می توانند در ستون ها نگهداری و ذخیره شوند.

پس از نوع داده (data type)، می توانید سایر ویژگی های اختیاری (optional attributes) را برای هر ستون، مشخص کنید:

NOT NULL – این خاصیت برای یک ستون از جدول تعیین می شود.خاصیت NOT NULL باعث می شود، ستون یک جدول حتماً دارای مقدار باشد و نمی تواند مقدارش برابر null یا تهی باشد.

مقدار پیش فرض (DEFAULT value) – این خاصیت یک مقدار پیش فرض را برای یک ستون از جدول مشخص می کند. بطوریکه اگر کاربر مقداری را برای چنین ستونی وارد نکند، مقدار پیش فرض به عنوان مقدار این ستون تخصیص داده می شود.

UNSIGNED – این خاصیت برای ستون هایی با نوع داده عددی مورد استفاده قرار می گیرد و کاربران را محدود می کند به این که فقط اعداد مثبت و صفر در ستون موردنظر ذخیره نمایند.

AUTO INCREMENT – به معنای “افزایش خودکار” می باشد. بطوریکه هرگاه یک رکورد جدید اضافه می شود مقدار این فیلد به طور خودکار یک واحد افزایش می یابد.

PRIMARY KEY – دادن این خاصیت به یک ستون باعث می شود که آن ستون به عنوان “کلید اصلی” یا “PRIMARY KEY” در نظر گرفته شود. ستون کلید اصلی در جدول باید به این گونه باشد که برای هر رکورد “منحصر بفرد یا unique” باشد. کلید اصلی برای منحصربفرد کردن رکوردهای یک جدول به کار می رود.کلید اصلی نباید تکراری باشد.کلید اصلی معمولا از نوع عددی (ID number) می باشد.این مقدار به عنوان ID در نظر گرفته می شود. برای فیلد کلید اصلی در جدول اغلب از خاصیت ” AUTO_INCREMENT” استفاده می شود. همچنین خاصیت “NOT NULL” نیز باید برای آن تنظیم شود.

مثال (شیء گرایی در MySQLi)

<?php
$servername = "localhost";
$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();
?>

مثال (برنامه نویسی رویه ای در MySQLi)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_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 (mysqli_query($conn, $sql)) {
    echo "Table MyGuests created successfully";
} else {
    echo "Error creating table: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

مثال (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 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
    )";

    // use exec() because no results are returned
    $conn->exec($sql);
    echo "Table MyGuests created successfully";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$conn = null;
?>

 

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *