Membuat Tabel di Database pada Mysql dengan PHP (PHP versi 5.6.x dan 7.0.x)
Untuk membuat ataupun menghapus sebuah tabel di database pada MySQL kita harus mempunya hak untuk itu, jika tidak, maka kita tidak bisa membuat atau menghapus tabel di database pada MySQL.
Pastikan Create dan Drop dalam posisi ter checklist.

Membuat Tabel di Database pada MySQL menggunakan MySQLi extension dan PDO (PHP Data Objects)
statement CREATE TABLE dan DROP TABEL IF EXISTS digunakan untuk membuat dan menghapus tabel di database jika sebelumnya sudah ada.
Kita akan buat tabel dengan nama Pelanggan dengan field id, nama_depan, nama_belakang, email, dan tanggal_registrasi
CREATE TABLE Pelanggan (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nama_depan VARCHAR(50) NOT NULL,
nama_belakang VARCHAR(50) NOT NULL,
email VARCHAR(50),
tanggal_registrasi TIMESTAMP
)
Penjelasan untuk query diatas :
- id, nama_depan, nama_belakang, email, tanggal_registrasi disebut field atau kolom dalam sebuah database.
- int, varchar, timestamp adalah type data yang bisa diinputkan dalam field masing-masing.
- NOT NULL, setiap field atau kolom harus berisi nilai tidak boleh NULL.
- UNSIGNED - digunakan untuk type data number (angka), harus angka positif dan nol.
- AUTO INCREMENT - MySQL secara otomatis menambahkan nilai 1 pada field setiap kali ada penambahan record baru.
- PRIMARY KEY - Digunakan untuk secara unik mengidentifikasi baris dalam sebuah tabel. Kolom dengan pengaturan PRIMARY KEY yang sering adalah sebuah nomor ID bertipe data integer, dan sering juga menggunakan AUTO_INCREMENT.
Oke, selanjutnya kita akan menjalankan query sql pembuatan tabel diatas pada mysql kita, sebelum kita membuat tabel tersebut dengan PHP.

Jika tampil seperti ini, berarti query sql yang kita buat sudah benar, dan kita bisa lanjut membuat query sql ini dari PHP.

<?php
$namaServer = "localhost";
$namaUser = "root";
$password = "";
$namadb = "dbku";
// membuat koneksi
$conn = new mysqli($namaServer, $namaUser, $password, $namadb);
// Check koneksi
if ($conn->connect_error) {
die("Koneksi Error: " . $conn->connect_error);
}
// query sql untuk membuat tabel
$sql = "CREATE TABLE Pelanggan (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nama_depan VARCHAR(50) NOT NULL,
nama_belakang VARCHAR(50) NOT NULL,
email VARCHAR(50),
tanggal_registrasi TIMESTAMP
) ";
// buat tabel di database
if ($conn->query($sql) === TRUE) {
echo "Pembuatan tabel berhasil";
} else {
echo "Pembuatan tabel error : " . $conn->error;
}
$conn->close();
?>
Kita bisa juga membuat tabel di database dengan mengecek terlebih dahulu apakah tabel tersebut sudah ada di database atau belum, jika sudah ada maka proses awalnya menghapus dulu lalu membuat yang baru.
<?php
$namaServer = "localhost";
$namaUser = "root";
$password = "";
$namadb = "dbku";
// membuat koneksi
$conn = new mysqli($namaServer, $namaUser, $password, $namadb);
// Check koneksi
if ($conn->connect_error) {
die("Koneksi Error: " . $conn->connect_error);
}
// query sql untuk membuat tabel
$sql = "CREATE TABLE Pelanggan (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nama_depan VARCHAR(50) NOT NULL,
nama_belakang VARCHAR(50) NOT NULL,
email VARCHAR(50),
tanggal_registrasi TIMESTAMP
) ";
// buat tabel di database
if (!$conn->query("DROP TABLE IF EXISTS Pelanggan") ||
!$conn->query($sql)) {
echo "Pembuatan tabel error : (" . $conn->errno . ") " . $conn->error;
}else
{
echo "Pembuatan tabel berhasil";
}
$conn->close();
?>
<?php
$namaServer = "localhost";
$namaUser = "root";
$password = "";
$namadb = "dbku";
// membuat koneksi
$conn = mysqli_connect($namaServer, $namaUser, $password, $namadb);
// Check connection
if (!$conn) {
die("Koneksi Error: " . mysqli_connect_error());
}
// query sql untuk membuat tabel
$sql = "CREATE TABLE Pelanggan (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nama_depan VARCHAR(50) NOT NULL,
nama_belakang VARCHAR(50) NOT NULL,
email VARCHAR(50),
tanggal_registrasi TIMESTAMP
) ";
// buat tabel di database
if (mysqli_query($conn, $sql)) {
echo "Pembuatan tabel berhasil";
} else {
echo "Pembuatan tabel error: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Kita bisa juga membuat tabel di database dengan mengecek terlebih dahulu apakah tabel tersebut sudah ada di database atau belum, jika sudah ada maka proses awalnya menghapus dulu lalu membuat yang baru.
<?php
$namaServer = "localhost";
$namaUser = "root";
$password = "";
$namadb = "dbku";
// membuat koneksi
$conn = mysqli_connect($namaServer, $namaUser, $password, $namadb);
// Check connection
if (!$conn) {
die("Koneksi Error: " . mysqli_connect_error());
}
// query sql untuk membuat tabel
$sql = "CREATE TABLE Prelanggan (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nama_depan VARCHAR(50) NOT NULL,
nama_belakang VARCHAR(50) NOT NULL,
email VARCHAR(50),
tanggal_registrasi TIMESTAMP
) ";
// buat database
if (!mysqli_query($conn,"DROP TABLE IF EXISTS Pelanggan") ||
!mysqli_query($conn,$sql)) {
echo "Pembuatan tabel error : (" . mysqli_errno($conn) . ") " . mysqli_error($conn);
}else
{
echo "Pembuatan tabel berhasil";
}
mysqli_close($conn);
?>
<?php
$namaServer = "localhost";
$namaUser = "root";
$password = "";
try {
$conn = new PDO("mysql:host=$namaServer;dbname=dbku", $namaUser, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// query sql untuk membuat tabel
$sql = "CREATE TABLE Pelanggan (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nama_depan VARCHAR(50) NOT NULL,
nama_belakang VARCHAR(50) NOT NULL,
email VARCHAR(50),
tanggal_registrasi TIMESTAMP
)";
$conn->exec($sql);
echo "Pembuatan tabel berhasil";
}
catch(PDOException $e)
{
echo "Pembuatan tabel error : " . $e->getMessage();
}
$conn = null;
?>
Kita bisa juga membuat tabel di database dengan mengecek terlebih dahulu apakah tabel tersebut sudah ada di database atau belum, jika sudah ada maka proses awalnya menghapus dulu lalu membuat yang baru.
<?php
$namaServer = "localhost";
$namaUser = "root";
$password = "";
try {
$conn = new PDO("mysql:host=$namaServer;dbname=dbku", $namaUser, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// query sql untuk membuat tabel
$sql = "CREATE TABLE Pelanggan (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nama_depan VARCHAR(50) NOT NULL,
nama_belakang VARCHAR(50) NOT NULL,
email VARCHAR(50),
tanggal_registrasi TIMESTAMP
)";
$sqldrop = "DROP TABLE IF EXISTS Pelanggan";
$conn->exec($sqldrop);
$conn->exec($sql);
echo "Pembuatan tabel berhasil";
}
catch(PDOException $e)
{
echo "Pembuatan tabel error : " . $e->getMessage();
}
$conn = null;
?>
Selanjutnya kita akan meng-insertkan data pada tabel yang baru kita buat ini.