PHP Membuat Database MySQL

Database memiliki satu atau lebih tabel.

Membuat database

Perintah CREATE DATABASE digunakan untuk membuat database di MySQL.

Sintaks

CREATE DATABASE database_name

Supaya PHP dapat melaksanakan perintah di atas, kita harus menggunakan fungsi mysql_query(). Fungsi ini digunakan untuk mengirim query atau perintah ke koneksi MySQL.

Contoh

Dalam contoh di bawah ini, kami membuat database dengan nama "my_db":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Tidak dapat terhubung: ' . mysql_error());
  }
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }
mysql_close($con);
?>

Membuat tabel

CREATE TABLE digunakan untuk membuat tabel database di MySQL.

Sintaks

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
.......
)

Untuk melaksanakan perintah ini, saya harus menambahkan perintah CREATE TABLE ke fungsi mysql_query().

Contoh

Contoh di bawah ini menunjukkan bagaimana cara membuat tabel dengan nama "Persons" yang memiliki tiga kolom. Nama kolom adalah "FirstName", "LastName" serta "Age":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Tidak dapat terhubung: ' . mysql_error());
  }
// Buat database
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }
// Buat tabel di database my_db
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons" 
(
FirstName varchar(15),
LastName varchar(15),
Age int
);
mysql_query($sql,$con);
mysql_close($con);
?>

Perhatian:Sebelum membuat tabel, Anda harus memilih database terlebih dahulu. Pilih database melalui fungsi mysql_select_db().

Keterangan:Ketika Anda membuat bidang database tipe varchar, Anda harus tentukan panjang maksimal bidang itu, seperti: varchar(15).

Tipe data MySQL

Berikut adalah berbagai tipe data MySQL yang dapat digunakan:

tipe data numerik Deskripsi
  • int(size)
  • smallint(size)
  • tinyint(size)
  • mediumint(size)
  • bigint(size)
Hanya mendukung bilangan bulat. Tentukan nilai maksimal angka dalam parameter size.
  • decimal(size,d)
  • double(size,d)
  • float(size,d)

Dukung angka dengan desimal.

Tentukan nilai maksimal angka dalam parameter size. Tentukan nilai maksimal digit di sebelah kanan titik desimal dalam parameter d.

tipe data teks Deskripsi
char(size)

Dukung string panjang tetap. (Dapat mengandung huruf, angka, dan simbol khusus).

Tentukan panjang tetap dalam parameter size.

varchar(size)

Dukung string panjang yang berubah-ubah. (Dapat mengandung huruf, angka, dan simbol khusus).

Tentukan panjang maksimal dalam parameter size.

tinytext Dukung string panjang yang berubah-ubah, panjang maksimal adalah 255 karakter.
  • text
  • blob
Dukung string panjang yang berubah-ubah, panjang maksimal adalah 65535 karakter.
  • mediumtext
  • mediumblob
Dukung string panjang yang berubah-ubah, panjang maksimal adalah 16777215 karakter.
  • longtext
  • longblob
Dukung string panjang yang berubah-ubah, panjang maksimal adalah 4294967295 karakter.
tipe data tanggal Deskripsi
  • date(yyyy-mm-dd)
  • datetime(yyyy-mm-dd hh:mm:ss)
  • timestamp(yyyymmddhhmmss)
  • time(hh:mm:ss)
Dukung tanggal atau waktu
Tipe data campuran Deskripsi
enum(value1,value2,ect) ENUM adalah singkatan untuk daftar diangkat. Bisa menampung hingga 65535 nilai di dalam tanda kurung.
set SET mirip dengan ENUM. Namun, SET dapat memiliki hingga 64 item dalam daftar dan dapat menampung lebih dari satu choice

Kolom utama dan kolom otomatis bertambah

Setiap tabel seharusnya memiliki kolom utama.

Kolom utama digunakan untuk mengidentifikasi baris di tabel. Setiap nilai kolom utama di tabel harus unik. Selain itu, kolom utama tidak boleh kosong, karena mesin database memerlukan nilai untuk menempatkan record.

Kolom utama selalu diindeks. Aturan ini tidak ada pengecualian. Anda harus mengindeks kolom utama, sehingga mesin database dapat menempatkan baris yang berhubungan dengan nilai kunci ini dengan cepat.

Contoh di bawah ini mengatur kolom personID sebagai kolom utama. Kolom utama biasanya adalah nomor ID dan biasanya digunakan pengaturan AUTO_INCREMENT. AUTO_INCREMENT akan meningkatkan nilai kolom secara berturut-turut saat record baru ditambahkan. Untuk memastikan bahwa kolom utama tidak kosong, kita harus menambahkan pengaturan NOT NULL ke kolom ini.

Contoh

$sql = "CREATE TABLE Persons" 
(
personID int NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(personID),
FirstName varchar(15),
LastName varchar(15),
Age int
);
mysql_query($sql,$con);