با استفاده از MySQLi و PDO یک جدول MySQL ایجاد کنید(Create a MySQL Table Using MySQLi and 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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

)



یادداشت ها در جدول بالا:


نوع داده مشخص می کند که ستون چه نوع داده ای را می تواند نگه دارد. برای کامل
مرجع همه انواع داده های موجود، به ما بروید
مرجع انواع داده.


بعد از نوع داده، می توانید ویژگی های اختیاری دیگری را برای هر کدام مشخص کنید
ستون:



  • NOT NULL - هر ردیف باید دارای یک مقدار برای آن ستون باشد، مقادیر null مجاز نیستند

  • مقدار پیش‌فرض - یک مقدار پیش‌فرض تنظیم کنید که وقتی مقدار دیگری ارسال نشود اضافه می‌شود

  • UNSIGNED - برای انواع اعداد استفاده می شود، داده های ذخیره شده را به اعداد مثبت و صفر محدود می کند

  • افزایش خودکار - MySQL هر بار که یک رکورد جدید اضافه می شود به طور خودکار مقدار فیلد را 1 افزایش می دهد

  • کلید اولیه - برای شناسایی منحصر به فرد ردیف ها در جدول استفاده می شود. ستون با تنظیم کلید اصلی اغلب یک شماره شناسه است و اغلب با AUTO_INCREMENT
  • استفاده می شود

هر جدول باید یک ستون کلید اصلی داشته باشد (در این مورد: ستون "id").
مقدار آن باید برای هر رکورد در جدول منحصر به فرد باشد.



مثال های زیر نحوه ایجاد جدول در PHP را نشان می دهد:



مثال (MySQLi Object-oriented)



<?php
$serve
ame = "localhost";
$use
ame = "use
ame";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($serve
ame, $use
ame, $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 Procedural)



<?php
$serve
ame = "localhost";
$use
ame = "use
ame";
$password = "password";
$dbname = "myDB";

// Create connection

$conn = mysqli_connect($serve
ame, $use
ame, $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
$serve
ame = "localhost";
$use
ame = "use
ame";

$password = "password";
$dbname = "myDBPDO";

try {
    $conn = new PDO("mysql:host=$serve
ame;dbname=$dbname", $use
ame, $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;

?>