ساخت یک جدول جدید در پایگاه داده

برای ساخت یک جدول جدید از از CREATE TABLE استفاده میکنیم.

نکته: برای اطمینان از اینکه جدول از قبل ساخته شده، میتوان از CREATE TABLE IF NOT EXISTS استفاده کرد.

 

نمونه کد عمومی ساخت جدول

برای ساخت جدول عموما از کد زیر در SQL استفاده میکنیم که نکات آن را باهم بررسی میکنیم.

CREATE TABLE  users (
id INT(5) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(50) NOT NULL,
lastname VARCHAR(50) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
  • NOT NULL: با استفاده از این مقدار نمیتوان ستون مورد نظر را خالی گذاشت.(حتما باید پر شود)
  • UNSIGNED: برای اعداد استفاده میشود و  اعداد را به اعداد مثبت و صفر محدود میکند.
  • AUTO INCREMENT: معمولا برای id استفاده میشود و هربار که یک ردیف جدیدی اضافه شود ، یک مقدار بیشتر از مقدار قبلی به آن اضافه میشود.
  • PRIMARY KEY: از این کلید برای شناسایی منحصر به فرد ردیف ها در جدول استفاده میشود.
  • VARCHAR: تعداد کاراکتر های قابل استفاده در ردیف متنی را تعیین میکند.
  • INT: یکی از انواع داده های عددی است.
  • DEFAULT value: برای ردیف های خالی میتواند یک مقدار پیشفرض در نظر بگیرد.

روش های ساخت جدول

به سه روش میتوان جدول جدیدی به پایگاه داده اضافه کرد که عبارتند از:

  • MySQLi  شئ گرا
  • MySQLi  رویه گرا
  • PDO

Mysqli شی گرایی:

برای ساخت جدول میتوان از روش 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 users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(50) NOT NULL,
lastname VARCHAR(50) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

if ($conn->query($sql) === TRUE) {
  echo "جدول ساخته شد.";
} else {
  echo "Error creating table: " . $conn->error;
}

$conn->close();
?> 

Mysqli رویه گرا:

برای ساخت جدول میتوان از روش 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 users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(50) NOT NULL,
lastname VARCHAR(50) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

if (mysqli_query($conn, $sql)) {
  echo "جدول با موفقیت ساخته شد.";
} else {
  echo "Error creating table: " . 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);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  // sql to create table
  $sql = "CREATE TABLE users(
  id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  firstname VARCHAR(50) NOT NULL,
  lastname VARCHAR(50) 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 "جدول با موفقیت ساخته شده.";
} catch(PDOException $e) {
  echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?>

خلاصه درس

  • ساخت جدول با استفاده از CREATE DATABASE انجام میشود.
  • برای اطمینان از ساخته نبودن جدول از CREATE DATABASE IF NOT EXISTS استفاده کنید.
  • ساخت جدول به سه روش (MySQLi شئ گرا ، MySQLi رویه گرا ، PDO)

توسعه دهندگان
علیرضا چمنی