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
CREATE DATABASE db_name
DROP DATABASE db_name
CREATE TABLE tb_name(field 1 type_data, field 2 type_data)
DROP TABLE tb_name
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)
ALTER TABLE tb_name DROP PRIMARY KEY(field_name)
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)
ALTER TABLE tb_name DROP FOREIGN KEY(field_name)
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)
SELECT field
FROM table_name
WHERE field = 'value'
UPDATE table_name
SET column1 = 'val1', column2='val2'
WHERE somecolumn = somevalue
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.
SELECT *FROM table_name
WHERE field IN ('value')
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
SELECT table1.*, table2.*
FROM table1 INNERJOIN table2
ON table1.pk = table2.pk
SELECT *FROM table1 NATURAL LEFTJOIN table2
dan
SELECT *FROM table1 NATURAL RIGHTJOIN table2
SELECT AVG(field) from table_name
SELECT SUM(field) from table_name
SELECT MAX(field) from table_name
SELECT MIN(field) from table_name
SELECT COUNT(field) from table_name
atau
SELECT COUNT(distinct field) from table_name --> untuk field yang memiliki record yang sama