Pengertian 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 (tiga) jenis Komponen SQL, yaitu :
1. 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 :
v CREATE
v ALTER
v RENAME
v DROP
1. 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 :
v SELECT
v INSERT
v UPDATE
v DELETE
1.3 DCL atau Data Control Language
DCL merupakan perintah SQL yang ber hubungan dengan manipulasi user dan
hak akses (priviledges). Perintah SQL yang termasuk dalam DCL antara lain :
v GRANT
v REVOKE
1.4 Tipe Data
MySQL memiliki cukup banyak tipe data untuk field (kolom) tabel. Tipe field (kolom) ini menentukan besar kecilnya ukuran suatu tabel. Tipe field di MySQL setidaknya terbagi menjadi beberapa kelompok, yaitu numerik, string, date-and- time, dan kelompok himpunan (set dan enum). Masing-masing tipe field memiliki batasan lebar dan ukurannya.
a. Tipe Numeric
Tipe data numerik digunakan untuk menyimpan data numeric (angka). Ciri utama data numeric adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe numerik:
1. TINYINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
2. SMALLINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -32.768 s/d 32.767
Ukuran : 2 byte (16 bit).
3. MEDIUMINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -8.388.608 s/d 8.388.607
Ukuran : 3 byte (24 bit).
4. INT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -2.147.483.648 s/d 2.147.483.647
Ukuran : 4 byte (32 bit).
5. BIGINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : ± 9,22 x 1018
Ukuran : 8 byte (64 bit).
6. FLOAT
Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi tunggal.
Jangkauan : -3.402823466E+38 s/d -1.175494351E-38, 0, dan 1.175494351E-38 s/d 3.402823466E+38.
Ukuran : 4 byte (32 bit).
7. DOUBLE
Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi ganda.
Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.
Ukuran : 8 byte (64 bit).
8. REAL
Merupakan sinonim dari DOUBLE.
9. DECIMAL
Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif.
Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.
Ukuran : 8 byte (64 bit).
10. NUMERIC
Merupakan sinonim dari DECIMAL.
b. Tipe Date dan Time
Tipe data date dan time digunakan untuk menyimpan data tanggal dan waktu. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe date dan time:
11. DATE
Penggunaan : digunakan untuk menyimpan data tanggal. Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD) Ukuran : 3 byte.
12. TIME
Penggunaan : digunakan untuk menyimpan data waktu. Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS) Ukuran : 3 byte.
13. DATETIME
Penggunaan : digunakan untuk menyimpan data tanggal dan waktu. Jangkauan : '1000-01-01 00:00:00' s/d '9999-12-31 23:59:59' Ukuran : 8 byte.
14. YEAR
Penggunaan : digunakan untuk menyimpan data tahun dari tanggal.
Jangkauan : 1900 s/d 2155
Ukuran : 1 byte.
c. Tipe String (Text)
Tipe data string digunakan untuk menyimpan data string (text). Ciri utama data string adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe string:
15. CHAR
Penggunaan : digunakan untuk menyimpan data string ukuran tetap.
Jangkauan : 0 s/d 255 karakter
16. VARCHAR
Penggunaan : digunakan untuk menyimpan data string ukuran dinamis.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
17. TINYTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
18. TEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 65.535 (216 - 1) karakter
19. MEDIUMTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 224 - 1 karakter
20. LONGTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 232 - 1 karakter
d. Tipe BLOB (Biner)
Tipe data blob digunakan untuk menyimpan data biner. Tipe ini biasanya digunakan untuk menyimpan kode-kode biner dari suatu file atau object. BLOB merupakan singkatan dari Binary Large Object. Berikut ini tipe field (kolom) di
MySQL yang termasuk ke dalam kelompok tipe blob:
21. BIT (sejak versi 5.0.3)
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 64 digit biner
22. TINYBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 255 byte
23. BLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 216 - 1 byte
24. MEDIUMBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 224 - 1 byte
25. LONGBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 232 - 1 byte
e. Tipe Data yang Lain
Selain tipe data di atas, MySQL juga menyediakan tipe data yang lain. Tipe data di MySQL mungkin akan terus bertambah seiring dengan perkembangan versi MySQL. Berikut ini beberapa tipe data tambahan MySQL:
26. ENUM
Penggunaan : enumerasi (kumpulan data).
Jangkauan : sampai dengan 65535 string.
27. SET
Penggunaan : combination (himpunan data).
Jangkauan : sampai dengan 255 string anggotas.
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 (tiga) jenis Komponen SQL, yaitu :
1. 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 :
v CREATE
v ALTER
v RENAME
v DROP
1. 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 :
v SELECT
v INSERT
v UPDATE
v DELETE
1.3 DCL atau Data Control Language
DCL merupakan perintah SQL yang ber hubungan dengan manipulasi user dan
hak akses (priviledges). Perintah SQL yang termasuk dalam DCL antara lain :
v GRANT
v REVOKE
1.4 Tipe Data
MySQL memiliki cukup banyak tipe data untuk field (kolom) tabel. Tipe field (kolom) ini menentukan besar kecilnya ukuran suatu tabel. Tipe field di MySQL setidaknya terbagi menjadi beberapa kelompok, yaitu numerik, string, date-and- time, dan kelompok himpunan (set dan enum). Masing-masing tipe field memiliki batasan lebar dan ukurannya.
a. Tipe Numeric
Tipe data numerik digunakan untuk menyimpan data numeric (angka). Ciri utama data numeric adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe numerik:
1. TINYINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -128 s/d 127
Ukuran : 1 byte (8 bit).
2. SMALLINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -32.768 s/d 32.767
Ukuran : 2 byte (16 bit).
3. MEDIUMINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -8.388.608 s/d 8.388.607
Ukuran : 3 byte (24 bit).
4. INT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -2.147.483.648 s/d 2.147.483.647
Ukuran : 4 byte (32 bit).
5. BIGINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : ± 9,22 x 1018
Ukuran : 8 byte (64 bit).
6. FLOAT
Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi tunggal.
Jangkauan : -3.402823466E+38 s/d -1.175494351E-38, 0, dan 1.175494351E-38 s/d 3.402823466E+38.
Ukuran : 4 byte (32 bit).
7. DOUBLE
Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi ganda.
Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.
Ukuran : 8 byte (64 bit).
8. REAL
Merupakan sinonim dari DOUBLE.
9. DECIMAL
Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif.
Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.
Ukuran : 8 byte (64 bit).
10. NUMERIC
Merupakan sinonim dari DECIMAL.
b. Tipe Date dan Time
Tipe data date dan time digunakan untuk menyimpan data tanggal dan waktu. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe date dan time:
11. DATE
Penggunaan : digunakan untuk menyimpan data tanggal. Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD) Ukuran : 3 byte.
12. TIME
Penggunaan : digunakan untuk menyimpan data waktu. Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS) Ukuran : 3 byte.
13. DATETIME
Penggunaan : digunakan untuk menyimpan data tanggal dan waktu. Jangkauan : '1000-01-01 00:00:00' s/d '9999-12-31 23:59:59' Ukuran : 8 byte.
14. YEAR
Penggunaan : digunakan untuk menyimpan data tahun dari tanggal.
Jangkauan : 1900 s/d 2155
Ukuran : 1 byte.
c. Tipe String (Text)
Tipe data string digunakan untuk menyimpan data string (text). Ciri utama data string adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe string:
15. CHAR
Penggunaan : digunakan untuk menyimpan data string ukuran tetap.
Jangkauan : 0 s/d 255 karakter
16. VARCHAR
Penggunaan : digunakan untuk menyimpan data string ukuran dinamis.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
17. TINYTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
18. TEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 65.535 (216 - 1) karakter
19. MEDIUMTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 224 - 1 karakter
20. LONGTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 232 - 1 karakter
d. Tipe BLOB (Biner)
Tipe data blob digunakan untuk menyimpan data biner. Tipe ini biasanya digunakan untuk menyimpan kode-kode biner dari suatu file atau object. BLOB merupakan singkatan dari Binary Large Object. Berikut ini tipe field (kolom) di
MySQL yang termasuk ke dalam kelompok tipe blob:
21. BIT (sejak versi 5.0.3)
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 64 digit biner
22. TINYBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 255 byte
23. BLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 216 - 1 byte
24. MEDIUMBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 224 - 1 byte
25. LONGBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 232 - 1 byte
e. Tipe Data yang Lain
Selain tipe data di atas, MySQL juga menyediakan tipe data yang lain. Tipe data di MySQL mungkin akan terus bertambah seiring dengan perkembangan versi MySQL. Berikut ini beberapa tipe data tambahan MySQL:
26. ENUM
Penggunaan : enumerasi (kumpulan data).
Jangkauan : sampai dengan 65535 string.
27. SET
Penggunaan : combination (himpunan data).
Jangkauan : sampai dengan 255 string anggotas.