Home » PHP » Cara Membuat Tabel Database MySQL di PHP: Create Table Db PHP

Cara Membuat Tabel Database MySQL di PHP: Create Table Db PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Tabel database memiliki nama uniknya sendiri dan terdiri dari kolom dan baris.

Membuat Tabel MySQL Menggunakan MySQLi dan PDO

Pernyataan CREATE TABLE digunakan untuk membuat tabel di MySQL.

Kita akan membuat tabel bernama “MyGuests”, dengan lima kolom: “id”, “firstname”, “lastname”, “email” dan “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
)

Catatan atas kode di atas:

Tipe data menentukan tipe data apa yang dapat ditampung oleh kolom.

Setelah tipe data, kita bisa menentukan atribut opsional lainnya untuk setiap kolom:

  • NOT NULL – Setiap baris harus berisi nilai untuk kolom itu, nilai null tidak diperbolehkan
  • Nilai DEFAULT – Tetapkan nilai default yang ditambahkan saat tidak ada nilai lain yang dilewatkan
  • UNSIGNED  – Digunakan untuk tipe angka, membatasi data yang disimpan ke angka positif dan nol
  • AUTO INCREMENT – MySQL secara otomatis meningkatkan nilai field sebesar 1 setiap kali record baru ditambahkan
  • PRIMARY KEY – Digunakan untuk mengidentifikasi baris dalam tabel secara unik. Kolom dengan pengaturan PRIMARY KEY sering kali merupakan nomor ID, dan sering digunakan dengan AUTO_INCREMENT

Setiap tabel harus memiliki kolom kunci utama (dalam hal ini: kolom “id”). Nilainya harus unik untuk setiap record di tabel.

Contoh berikut menunjukkan cara membuat tabel di PHP:

Contoh (MySQLi Object-oriented) :

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

// Buat Koneksi
$conn = new mysqli($servername, $username, $password, $dbname);
// Periksa Koneksi
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// Buat tabel dengan 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 "Table MyGuests created successfully";
} else {
  echo "Error creating table: " . $conn->error;
}

$conn->close();
?>

Contoh (MySQLi Prosedural) :

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

// Buat Koneksi
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Periksa Koneksi
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

// Buat tabel dengan 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 "Table MyGuests created successfully";
} else {
  echo "Error creating table: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

Contoh (PDO) :

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

try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  // mengatur mode error PDO ke exceptions
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  // sql untuk membuat tabel
  $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
  )";

  // gunakan exec() karena tidak ada hasil yang dikembalikan
  $conn->exec($sql);
  echo "Table MyGuests created successfully";
} catch(PDOException $e) {
  echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?>

You may also like