Dalam membentuk suatu web yang dinamis, diperlukan tempat penyimpanan data, penghapusan data, pengeditan data dan lain - lain, maka di butuhkanlah suatu Database. Database berfungsi untuk pengorganisasian data. Database harus didukung dengan database server untuk pengorganisasiannya, seperti MySQL, Oracle, SQL server, postgre SQL dan lain - lain. Sehingga tentunya tampilan web yang telah di rancang baik menggunakan php, java maupun html dapat digunakan secara dinamis. Sebelumnya membuat database, perlu anda ketahui terlebih dahulu istilah - istilah di bawah ini :
- Field, merupakan data terkecil yang memiliki makna, istilah lainnya disebut elemen data, atribut maupun kolom item. Misalnya Nama Mahasiswa, NIM dan Jurusan .
- Record, merupakan kumpulan atau elemen dari data yang saling terkait. Contohnya field nama yang memiliki record Adi, Budi dan Sandi. Record merupakan elemen - elemen data dari field dan biasanya dinyatakan sebagai tupel atau baris.
- Tabel, menghimpun sejumlah field dan record, misalnya tabel Mahasiswa yang terdiri dari field Jurusan yang memiliki record Teknik Komputer, Teknik Informatika dan Sistem Inormasi.
Salah satu istilah lain yang perlu anda ketahui adalah Query. Query adalah interaksi user terhadap database baik menyimpan, menginput, mengedit maupun menghapus.
Jenis - jenis query yaitu :
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
- Data Control Language (DCL)
- Transaction Control (TC)
Data Definition Language (DDL), merupakan perintah yang berkaitan dengan struktur storage/data base (berkaitan dengan struktur tabel ), contoh nya membuat database, menghapus database, membuat field, dan menghapus field, sedangkan Data Manipulation Language (DML) merupakan perintah - perintah yang berhubungan dengan record.
Perintah - Perintah Dasar MySQL
- Membuat database
CREATE DATABASE db_name
- Menghapus database
- Membuat Tabel
CREATE TABLE tb_name(field 1 type_data, field 2 type_data)
- Menghapus table
DROP TABLE tb_name
- Menambah Primary Key
ALTER TABLE tb_name ADD PRIMARY KEY(field_name)
- Menambah Primary Key dengan nama constraint
ALTER TABLE tb_name ADD CONSTRAINT const_name PRIMARY KEY(field_name)
- Menghapus Primary Key
ALTER TABLE tb_name DROP PRIMARY KEY(field_name)
- Menambah Foreign Key
ALTER TABLE tb_name ADD FOREIGN KEY(field_name)
REFERENCES table_references_name(primary_field_table_references)
ON CASCADE
ON RESTRICT
cascade --> Mengupdate jika terjadi perubahan di tabel induk
restrict --> Peringatan jangan mendelete field pada tabel induk karena sedang digunakan di tabel anak
- Menambah Foreign Key dengan nama constraint
ALTER TABLE tb_name ADD CONSTRAINT const_name FOREIGN KEY(field_name)
REFERENCES table_references_name(primary_field_table_references)
- Menghapus Foreign Key
ALTER TABLE tb_name DROP FOREIGN KEY(field_name)
- Menambah record
INSERT INTO tb_name VALUES(record 1, record 2, record 3...)
atau
INSERT INTO tb_name (column 1, column2, column3) VALUES (record 1, record 2, record 3)
- Fungsi SELECT
SELECT field
FROM table_name
WHERE field = 'value'
- Fungsi UPDATE
UPDATE table_name
SET column1 = 'val1', column2='val2'
WHERE somecolumn = somevalue
- Fungsi DELETE
DELETE FROM table_name
WHERE somecolumn = somevalue
Pada fungsi SELECT, UPDATE, dan DELETE pada syntax WHERE bosa menggunakan operator perbandingan seperti >, <, =, !=, >=, <= dan juga operator logika OR, AND dan NOT.
- Fungsi IN
SELECT *FROM table_name
WHERE field IN ('value')
- Fungsi NOT IN
SELECT *FROM table_name
WHERE field NOT IN ('value')
- Mencari Record yang berawalan -x
SELECT field
FROM table
WHERE field LIKE 'x%'
- Mencari Record yang berakhiran -x
SELECT field
FROM table
WHERE field LIKE '%x'
- Menampilkan field dari tabel - tabel yang berbeda
SELECT mahasiswa.nama, kuliah.nilai
FROM mahasiswa, kuliah
WHERE mahasiswa.nim= kuliah.nim
- INNERJOIN
SELECT table1.*, table2.*
FROM table1 INNERJOIN table2
ON table1.pk = table2.pk
- OUTERJOIN
SELECT *FROM table1 NATURAL LEFTJOIN table2
dan
SELECT *FROM table1 NATURAL RIGHTJOIN table2
- Rata - rata
- Jumlah
- Nilai Max
- Nilai MIN
- Jumlah record
atau
SELECT COUNT(distinct field) from table_name --> untuk field yang memiliki record yang sama