SQL merupakan kependekan dari Structured Query Language (Bahasa Query yang Terstruktur). Istilah Query language memang tidak tepat sama dengan istilah bahasa basis data (Database Language). Bahasa basis data terdiri atas data defination language (DDL) dan Data Manipulation Language(DML).
Data Definition Language memiliki fungsi untuk melakukan hal-hal berikut :
1. Membuat/menghapus database, dinyatakan dengan perintah CREATE
DATABASE dan DROP DATABASE
2. Membuat/menghapus table, dinyatakan dengan perintah CREATE TABLE
dan DROP TABLE
3. Memodifikasi table, dinyatakan dengan perintah ALTER TABLE
Sedangkan Data Manipulation Language terdiri atas :
1. Mengisi tabel dengan data, dinyatakan dengan perintah INSERT
2. Mengedit data pada tabel, dinyatakan dengan perintah UPDATE
3. Menghapus data pada tabel, dinyatakan dengan perintah DELETE
4. Mencari data pada tabel, dinyatakan dengan perintah SELECT
Perintah DDL
1. Menampilkan database yang ada pada mysql
SHOW databases;
2. Membuat database
CREATE database <nama_database>;
3. Menggunakan database
USE <nama_database>;
4. Menghapus database
DROP <nama_database>;
5. Melihat tabel apa yang sudah ada dalam database yang aktif
SHOW tables;
6. Membuat tabel
CREATE TABLE <nama_table> (<nama_kolom><tipedata>);
CREATE TABLE mhs (NIM CHAR (8) NOT NULL PRIMARY KEY,
nama_mhs VARCHAR (30), alamat VARCHAR (35));
PRIMARY KEY adalah kunci utama, dalam setiap tabel harus ada
minimal satu kolom yang dijadikan sebagai PRIMARY KEY.
NOT NULL artinya setiap kolom tidak boleh kosong, sedangkan jika
diijinkan untuk dikosongkan dapat menggunakan parameter NULL.
7. Melihat struktur tabel
DESCRIBE <nama_tabel>;
DESC <nama_tabel>;
8. Mengubah struktur tabel
Ada saatnya kita sadar kalo ternyata struktur tabel yang pernah dibuat
perlu penyempurnaan, bisa dalam hal penambahan kolom, pengubahan
lebar kolom, penghapusan kolom, dan sebagainya, sehingga dengan
penggunaan perintah ALTER ini maka kita dapat mengubah kekurangan
atau kesalahan pada saat kita membuat tabel.
ALTER TABEL nama_tabel [ spesifikasi perubahan ]
Parameter [ spesifikasi perubahan ] adalah pilihan yang digunakan untuk
mengubah struktur tabel yaitu CHANGE, ADD, DROP.
ALTER TABLE nama_tabel jenis_pengubahan
a. Menambah kolom baru
Parameter yang digunakan adalah ADD.
ALTER TABLE nama_tabel ADD kolom_baru tipe(panjang) [FIRST |
AFTER kolom_lama]
FIRST artinya kolom yang baru akan ditambahkan pada urutan pertama.
AFTER artinya kita meletakkan kolom yang baru setelah kolom yang
ditunjuk.
Misalnya kita ingin menambah kolom baru yaitu no_telp pada tabel mhs
dengan posisi setelah kolom/field alamat dengan tipe INT :
ALTER TABLE mhs ADD no_telp INT AFTER alamat;
b. Mengubah nama kolom
Parameter yang digunakan adalah CHANGE.
ALTER TABEL nama_tabel CHANGE kolom_lama kolom_baru tipe
(panjang)
ALTER TABLE mhs CHANGE alamat alamat_mhs VARCHAR (35)
c. Mengubah nama table
Parameter yang digunakan adalah RENAME.
ALTER TABLE nama_lama RENAME [TO] nama_baru;
ALTER TABLE mhs RENAME TO mahasiswa;
d. Menghapus atau menghilangkan komponen pada tabel
Menghapus ini dapat mencakup menghilangkan primary key, kolom, tabel,
index pada kolom.
Untuk menghilangkan PRIMARY KEY
ALTER TABLE nama_tabel DROP PRIMARY KEY;
Untuk menghilangkan salah satu kolom pada tabel
ALTER TABLE mahasiswa DROP no_telp;
II. Perintah DML
1. Mengisi tabel
Ada beberapa cara dalam memasukkan data yaitu dengan menyamakan kolom
dan data, menyebutkan kolom, tanpa menyebutkan kolom, memasukkan
hanya sebagai pada kolom.
Menyamakan Kolom dan Data, perintahnya sebagai berikut:
INSERT INTO nama_tabel SET
kolom_pertama = 'data_kolom_pertama',
kolom_kedua = 'data_kolom_kedua',
kolom_terakhir = 'data kolom terakhir' ;
INSERT INTO mhs SET NIM = „11010010‟, nama_mhs =‟M Rauf‟,
alamat_mhs=‟Puri Kencana B2 Sleman‟;
Menyebutkan Kolom, perintahnya sebagai berikut:
INSERT INTO nama_tabel (kolom_pertama, kolom_kedua, kolom_terakhir)
VALUES (data_kolom_pertama, data_kolom_kedua, data_kolom_terakhir);
INSERT INTO mhs (NIM, nama_mhs, alamat_mhs)
VALUES („11010010‟, ‟M Rauf‟, ‟Puri Kencana B2 Sleman‟)
Tanpa Menyebutkan Kolom
INSERT INTO nama_tabel VALUES (data_kolom_pertama,
data_kolom_kedua,data_kolom_terakhir);
2. Melihat isi tabel
Perintah ini digunakan untuk menyeleksi atau memilih atau menampilkan
data-data yang ada dalam tabel. baik menampilkan semua kolom, sebagian
kolom, serta berdasarkan kondisi.
a. Perintah untuk menampilkan data apa adanya, tanpa syarat, tanpa
pemilihan kolom dan tanpa urutan :
SELECT * FROM <nama_tabel>
SELECT * FROM mhs;
b. Membatasi jumlah record yang dibaca
Untuk membatasi record yang muncul atau untuk mencari record dengan
kriteria tertentu, digunakan klausa where. Misal untuk melihat nama
mahasiswa dengan nim = „11010010‟
SELECT * from mhs WHERE nim = „11010010‟
Melihat data mahasiswa yang bernama „M Rauf‟
SELECT * from mhs where nama_mhs = „M Rauf‟
Melihat data mahasiswa yang beralamat di Sleman
SELECT * from mhs where alamat_mhs like‟%Sleman‟
Pada kriteria alamat, terlihat ada penggunaan karakter „%‟. Karakter ini
mengandung makna, apa pun teks yang ada akan memenuhi kriteria. Jadi
„%Sleman‟ artinya semua string yang diakhiri kata Sleman.s
c. Membatasi jumlah field yang dibaca
Untuk melihat field-field tertentu dari tabel, gantikan karakter „*‟ dengan
nama field yang dikehendaki.
Melihat hanya nim dan nama mahasiswa
SELECT nim, nama_mhs from mhs;
3. Menampilkan data berurutan
Klausa order by digunakan untuk mengurutkan data yang diminta dengan
query. Misal diminta untuk menampilkan nim dan nama mahasiswa yang urut
oleh nim secara menaik:
SELECT nim, nama_mhs from mhs order by nim asc;
Jika urut menurun:
SELECT nim, nama_mhs from mhs order by nim desc;
4. Mengubah isi data tabel
UPDATE nama_tabel SET
kolom_pertama = 'data_kolom_pertama',
kolom_kedua = 'data_kolom_kedua',
kolom_terakhir = 'data_kolom_terakhir',
WHERE kondisi
Pengunaan perintah UPDATE tanpa klausa WHERE mengakibatkan semua
data dalam satu kolom akan diubah.
Misal akan diubah nama „M Rauf‟ menjadi „Muhammad Rauf‟
UPDATE mhs SET nama_mhs = „M Rauf‟ where nim = „11010010‟
5. Menghapus isi tabel
DELETE FROM nama_tabel WHERE kondisi
Apabila tidak menggunakan klausa WHERE maka akan menyebabkan semua
record dalam tabel terhapus.
Data Definition Language memiliki fungsi untuk melakukan hal-hal berikut :
1. Membuat/menghapus database, dinyatakan dengan perintah CREATE
DATABASE dan DROP DATABASE
2. Membuat/menghapus table, dinyatakan dengan perintah CREATE TABLE
dan DROP TABLE
3. Memodifikasi table, dinyatakan dengan perintah ALTER TABLE
Sedangkan Data Manipulation Language terdiri atas :
1. Mengisi tabel dengan data, dinyatakan dengan perintah INSERT
2. Mengedit data pada tabel, dinyatakan dengan perintah UPDATE
3. Menghapus data pada tabel, dinyatakan dengan perintah DELETE
4. Mencari data pada tabel, dinyatakan dengan perintah SELECT
Perintah DDL
1. Menampilkan database yang ada pada mysql
SHOW databases;
2. Membuat database
CREATE database <nama_database>;
3. Menggunakan database
USE <nama_database>;
4. Menghapus database
DROP <nama_database>;
5. Melihat tabel apa yang sudah ada dalam database yang aktif
SHOW tables;
6. Membuat tabel
CREATE TABLE <nama_table> (<nama_kolom><tipedata>);
CREATE TABLE mhs (NIM CHAR (8) NOT NULL PRIMARY KEY,
nama_mhs VARCHAR (30), alamat VARCHAR (35));
PRIMARY KEY adalah kunci utama, dalam setiap tabel harus ada
minimal satu kolom yang dijadikan sebagai PRIMARY KEY.
NOT NULL artinya setiap kolom tidak boleh kosong, sedangkan jika
diijinkan untuk dikosongkan dapat menggunakan parameter NULL.
7. Melihat struktur tabel
DESCRIBE <nama_tabel>;
DESC <nama_tabel>;
8. Mengubah struktur tabel
Ada saatnya kita sadar kalo ternyata struktur tabel yang pernah dibuat
perlu penyempurnaan, bisa dalam hal penambahan kolom, pengubahan
lebar kolom, penghapusan kolom, dan sebagainya, sehingga dengan
penggunaan perintah ALTER ini maka kita dapat mengubah kekurangan
atau kesalahan pada saat kita membuat tabel.
ALTER TABEL nama_tabel [ spesifikasi perubahan ]
Parameter [ spesifikasi perubahan ] adalah pilihan yang digunakan untuk
mengubah struktur tabel yaitu CHANGE, ADD, DROP.
ALTER TABLE nama_tabel jenis_pengubahan
a. Menambah kolom baru
Parameter yang digunakan adalah ADD.
ALTER TABLE nama_tabel ADD kolom_baru tipe(panjang) [FIRST |
AFTER kolom_lama]
FIRST artinya kolom yang baru akan ditambahkan pada urutan pertama.
AFTER artinya kita meletakkan kolom yang baru setelah kolom yang
ditunjuk.
Misalnya kita ingin menambah kolom baru yaitu no_telp pada tabel mhs
dengan posisi setelah kolom/field alamat dengan tipe INT :
ALTER TABLE mhs ADD no_telp INT AFTER alamat;
b. Mengubah nama kolom
Parameter yang digunakan adalah CHANGE.
ALTER TABEL nama_tabel CHANGE kolom_lama kolom_baru tipe
(panjang)
ALTER TABLE mhs CHANGE alamat alamat_mhs VARCHAR (35)
c. Mengubah nama table
Parameter yang digunakan adalah RENAME.
ALTER TABLE nama_lama RENAME [TO] nama_baru;
ALTER TABLE mhs RENAME TO mahasiswa;
d. Menghapus atau menghilangkan komponen pada tabel
Menghapus ini dapat mencakup menghilangkan primary key, kolom, tabel,
index pada kolom.
Untuk menghilangkan PRIMARY KEY
ALTER TABLE nama_tabel DROP PRIMARY KEY;
Untuk menghilangkan salah satu kolom pada tabel
ALTER TABLE mahasiswa DROP no_telp;
II. Perintah DML
1. Mengisi tabel
Ada beberapa cara dalam memasukkan data yaitu dengan menyamakan kolom
dan data, menyebutkan kolom, tanpa menyebutkan kolom, memasukkan
hanya sebagai pada kolom.
Menyamakan Kolom dan Data, perintahnya sebagai berikut:
INSERT INTO nama_tabel SET
kolom_pertama = 'data_kolom_pertama',
kolom_kedua = 'data_kolom_kedua',
kolom_terakhir = 'data kolom terakhir' ;
INSERT INTO mhs SET NIM = „11010010‟, nama_mhs =‟M Rauf‟,
alamat_mhs=‟Puri Kencana B2 Sleman‟;
Menyebutkan Kolom, perintahnya sebagai berikut:
INSERT INTO nama_tabel (kolom_pertama, kolom_kedua, kolom_terakhir)
VALUES (data_kolom_pertama, data_kolom_kedua, data_kolom_terakhir);
INSERT INTO mhs (NIM, nama_mhs, alamat_mhs)
VALUES („11010010‟, ‟M Rauf‟, ‟Puri Kencana B2 Sleman‟)
Tanpa Menyebutkan Kolom
INSERT INTO nama_tabel VALUES (data_kolom_pertama,
data_kolom_kedua,data_kolom_terakhir);
2. Melihat isi tabel
Perintah ini digunakan untuk menyeleksi atau memilih atau menampilkan
data-data yang ada dalam tabel. baik menampilkan semua kolom, sebagian
kolom, serta berdasarkan kondisi.
a. Perintah untuk menampilkan data apa adanya, tanpa syarat, tanpa
pemilihan kolom dan tanpa urutan :
SELECT * FROM <nama_tabel>
SELECT * FROM mhs;
b. Membatasi jumlah record yang dibaca
Untuk membatasi record yang muncul atau untuk mencari record dengan
kriteria tertentu, digunakan klausa where. Misal untuk melihat nama
mahasiswa dengan nim = „11010010‟
SELECT * from mhs WHERE nim = „11010010‟
Melihat data mahasiswa yang bernama „M Rauf‟
SELECT * from mhs where nama_mhs = „M Rauf‟
Melihat data mahasiswa yang beralamat di Sleman
SELECT * from mhs where alamat_mhs like‟%Sleman‟
Pada kriteria alamat, terlihat ada penggunaan karakter „%‟. Karakter ini
mengandung makna, apa pun teks yang ada akan memenuhi kriteria. Jadi
„%Sleman‟ artinya semua string yang diakhiri kata Sleman.s
c. Membatasi jumlah field yang dibaca
Untuk melihat field-field tertentu dari tabel, gantikan karakter „*‟ dengan
nama field yang dikehendaki.
Melihat hanya nim dan nama mahasiswa
SELECT nim, nama_mhs from mhs;
3. Menampilkan data berurutan
Klausa order by digunakan untuk mengurutkan data yang diminta dengan
query. Misal diminta untuk menampilkan nim dan nama mahasiswa yang urut
oleh nim secara menaik:
SELECT nim, nama_mhs from mhs order by nim asc;
Jika urut menurun:
SELECT nim, nama_mhs from mhs order by nim desc;
4. Mengubah isi data tabel
UPDATE nama_tabel SET
kolom_pertama = 'data_kolom_pertama',
kolom_kedua = 'data_kolom_kedua',
kolom_terakhir = 'data_kolom_terakhir',
WHERE kondisi
Pengunaan perintah UPDATE tanpa klausa WHERE mengakibatkan semua
data dalam satu kolom akan diubah.
Misal akan diubah nama „M Rauf‟ menjadi „Muhammad Rauf‟
UPDATE mhs SET nama_mhs = „M Rauf‟ where nim = „11010010‟
5. Menghapus isi tabel
DELETE FROM nama_tabel WHERE kondisi
Apabila tidak menggunakan klausa WHERE maka akan menyebabkan semua
record dalam tabel terhapus.