Apa itu SQL?
SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama.
Terdapat 3 (dua) jenis perintah SQL, yaitu DDL, DML dan DCL.
1. DDL atau Data Definition Language
DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :
- CREATE
- ALTER
- RENAME
- DROP
2. DML atau Data Manipulation Language
DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :
- SELECT
- INSERT
- UPDATE
- DELETE
3. DCL atau Data Control Language
DCL (bukan BCL) merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :
- GRANT
- REVOKE
Membuat, Menampilkan, Membuka dan Menghapus Database
1. Membuat Database
Sintaks umum membuat database baru adalah:
CREATE DATABASE [IF NOT EXISTS] nama_database;
Bentuk perintah di atas akan membuat sebuah database baru dengan nama nama_database. Aturan penamaan sebuah database sama seperti aturan penamaan sebuah variabel, dimana secara umum nama database boleh terdiri dari huruf, angka dan under-score (_). Jika database yang akan dibuat sudah ada, maka akan muncul pesan error. Namun jika ingin otomatis menghapus database yang lama jika sudah ada, aktifkan option IF NOT EXISTS.Setiap kita membuat database baru, maka sebenarnya MySQL akan membuat suatu folder (direktori) sesuai dengan nama databasenya yang ditempatkan secara default di \mysql\data. Di dalam folder tersebut nantinya akan terdapat file-file yang berhubungan dengan tabel dalam database.
Berikut ini contoh perintah untuk membuat database baru dengan nama “mahasiswa” :
CREATE DATABASE mahasiswa;
Jika query di atas berhasil dieksekusi dan database berhasil dibuat, maka akan ditampilkan pesan sebagai berikut :
Query OK, 1 row affected (0.02 sec)
2. Melihat Database
Untuk melihat database yang baru saja dibuat atau yang sudah ada, dapat menggunakan perintah sebagai berikut :
SHOW DATABASES;
Hasil dari perintah di atas akan menampilkan semua database yang sudah ada di MySQL. Berikut ini contoh hasil dari query di atas :
+--------------+ | Database | +--------------+ | mahasiswa | | mysql | | test | +--------------+ 3 rows in set (0.02 sec)
3. Membuka Database
Sebelum melakukan manipulasi tabel dan record yang berada di dalamnya, kita harus membuka atau mengaktifkan databasenya terlebih dahulu. Untuk membuka database “mahasiswa”, berikut ini querynya :
USE mahasiswa;
Jika perintah atau query di atas berhasil, maka akan ditampilkan pesan sebagai berikut :
Database changed
4. Menghapus Database
Untuk menghapus suatu database, sintaks umumnya adalah sbb :
DROP DATABASE [IF EXISTS] nama_database;
Bentuk perintah di atas akan menghapus database dengan nama nama_database. Jika databasenya ada maka database dan juga seluruh tabel di dalamnya akan dihapus. Jadi berhati-hatilah dengan perintah ini! Jika nama database yang akan dihapus tidak ditemukan, maka akan ditampilkan pesan error. Aktifkan option IF EXISTS untuk memastikan bahwa suatu database benar-benar ada.
Berikut ini contoh perintah untuk menghapus database dengan nama “mahasiswa” :
DROP DATABASE mahasiswa;
Membuat, Mengubah dan Menghapus Table
1. Membuat Table
Bentuk umum perintah SQL untuk membuat tabel baru adalah sbb:
CREATE TABLE nama_tabel ( field1 tipe(panjang), field2 tipe(panjang), ... fieldn tipe(panjang), PRIMARY KEY (field_key) );
Bentuk umum di atas merupakan bentuk umum pembuatan tabel yang sudah disederhanakan. Penamaan tabel dan field memiliki aturan yang sama dengan penamaan database.
MySQL menyediakan berbagai tipe data dengan spesifikasi dan panjang masing-masing. Tipe data untuk field dalam MySQL diantaranya ditampilkan pada tabel berikut ini :
JENIS TIPE | TIPE | KETERANGAN |
---|---|---|
NUMERIK | TINYINT | -128 s/d 127 SIGNED 0 s/d 255 UNSIGNED |
SMALLINT | -32768 s/d 32767 SIGNED 0 s/d 65535 UNSIGNED. | |
MEDIUMINT | -8388608 s/d 8388607 SIGNED 0 s/d 16777215 UNSIGNED | |
INT | -2147483648 s/d 2147483647 SIGNED 0 s/d 4294967295 UNSIGNED. | |
BIGINT | -9223372036854775808 s/d 9223372036854775807 SIGNED 0 s/d 18446744073709551615 UNSIGNED. | |
FLOAT | Bilangan pecahan presisi tunggal | |
DOUBLE | Bilangan pecahan presisi ganda | |
DECIMAL | Bilangan dengan desimal | |
DATE/TIME | DATE | Tanggal dengan format YYYY-MM-DD |
DATETIME | Tanggal dan waktu dengan format : YYYY-MM-DD HH:MM:SS | |
TIMESTAMP | Tanggal dan waktu dengan format : YYYYMMDDHHMMSS | |
TIME | Waktu dengan format HH:MM:SS | |
YEAR | Tahun dengan format YYYY | |
STRING | CHAR | 0 – 255 karakter |
VARCHAR | 0 – 255 karakter | |
TINYTEXT | String dengan panjang maksimum 255 karakter | |
TEXT | String dengan panjang maksimum 65535 karakter | |
BLOB | String dengan panjang maksimum 65535 karakter | |
MEDIUMTEXT | String dengan panjang maksimum 16777215 karakter | |
MEDIUMBLOB | String dengan panjang maksimum 16777215 karakter | |
LONGTEXT | String dengan panjang maksimum 4294967295 karakter | |
LONGBLOB | String dengan panjang maksimum 4294967295 karakter | |
KHUSUS | ENUM | Tipe data dengan isi tertentu |
SET | Tipe data dengan isi tertentu |
Sebagai contoh, kita akan membuat tabel baru dengan struktur sebagai berikut :
Nama tabel: mhs
No | Nama Field | Tipe | Panjang |
1 | nim | Varchar | 10 |
2 | nama | Varchar | 30 |
3 | tgllahir | Date | - |
4 | alamat | Text | - |
Untuk membuat tabel tersebut di atas, query atau perintah SQL-nya adalah sebagai berikut :
CREATE TABLE mhs ( nim varchar(10) NOT NULL, nama varchar(30) NOT NULL, tgllahir date, alamat text, PRIMARY KEY(nim) );
Jika query untuk membuat tabel di atas berhasil dijalankan, maka akan ditampilkan pesan sebagai berikut :
Query OK, 0 rows affected (0.16 sec)
Pada perintah di atas, beberapa hal yang perlu diperhatikan :
- CREATE TABLE merupakan perintah dasar dari pembuatan table.
- mhs merupakan nama tabel yang akan dibuat.
- Nim, nama, tgllahir dan alamat merupakan nama field
- Varchar, date dan text merupakan tipe data dari field
- NOT NULL merupakan option untuk menyatakan bahwa suatu field tidak boleh kosong.
- PRIMARY KEY merupakan perintah untuk menentukan field mana yang akan dijadikan primary key pada tabel.
- 10 dan 30 di belakang tipe data merupakan panjang maksimal dari suatu field
- Untuk tipe data date dan text (dan beberapa tipe data lainnya) panjang karakter maksimalnya tidak perlu ditentukan.
- Jangan lupa akhiri perintah dengan titik-koma (;)
Selanjutnya untuk melihat tabel mhs sudah benar-benar sudah ada atau belum, ketikkan perintah berikut ini :
SHOW TABLES;
Perintah di atas akan menampilkan seluruh tabel yang sudah ada dalam suatu database. Contoh hasil dari perintah di atas adalah sebagai berikut :
+---------------------+ | Tables_in_mahasiswa | +---------------------+ | mhs | +---------------------+ 1 rows in set (0.01 sec)
Untuk melihat struktur tabel “mhs” secara lebih detail, cobalah perintah atau query sebagai berikut :
DESC mhs;
DESC merupakan singkatan dari DESCRIBE (dalam query bisa ditulis lengkap atau hanya 4 karakter pertama) dan mhs adalah nama tabel yang akan dilihat strukturnya. Dari perintah di atas, akan ditampilkan struktur tabel mhs sebagai berikut :
+----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | nim | varchar(10) | | PRI | | | | nama | varchar(30) | | | | | | tgllahir | date | YES | | NULL | | | alamat | text | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
Dari struktur tabel mhs yang ditampilkan di atas, dapat diketahui bahwa :
- Terdapat 4 (empat) field dengan tipe masing-masing.
- Primary Key dari tabel mhs adalah nim. Lihat kolom Key pada field nim.
- Untuk field nim dan nama defaultnya tidak boleh kosong. Lihatlah kolom Null danDefault pada field nim dan nama
- Untuk field tgllahir dan alamat defaultnya boleh kosong. Lihatlah kolom Null dan Defaultpada field tgllahir dan alamat.
0 comments:
Post a Comment