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;
Perintah-perintah dalam MYSQL
1. Perintah untuk login ke database seperti berikut ini:
prompt>mysql -u username -p password
contoh :
C:\>mysql -u root
sehingga apabila berhasil login akan muncul tampilan
berikut ini.
mysql>_
Perintah query. Setelah muncul tampilan di atas mysql telah siap menerima perintah-perintah query untuk akses data seperti membuat database di bawah
CREATE DATABASE
namadatabase
mysql> CREATE DATABASE cobadb;
apabila perintah di atas dijalankan DBMS Server MySQL
akan menciptakan sebuah database dengan nama 'cobadb'. Tentu saja perintah
diketikkan setelah berhasil login ke MySQL.
Perintah untuk menampilkan database yang ada adalah: mysql>
SHOW DATABASES; sedangkan untuk
menampilkan tabel dalam database adalah : mysql>SHOW TABLES;
2. Adapun Perintah mengaktifkan database.
bentuk umumnya: USE namadatabase
contoh:
mysql>
USE cobadb;
3. Bentuk umum: (sintaks) Perintah membuat tabel di database.
CREATE TABLE namatabel
(namafield1 type [NOT NULL] [AUTO_INCREMENT], namafield2 type [NOT NULL]
[AUTO_INCREMENT], ..... [PRIMARY KEY(namafield)]
);
namafield1, namafield2, adalah nama field anggota
tabel.
NOT NULL, adalah berfungsi untuk membuat status field sebagai field mandatory
field,
sehingga apabila saat terjadi penambah record tabel field ini tidak boleh
dikosongkan.
contoh:
mysql>CREATE TABLE tamu (idtamu int NOT NULL AUTO_INCREMENT, nmtamu
VARCHAR(35) NOT NUL, email VARCHAR(35) NOT NULL, PRIMARY KEY(idtamu));
apabila perintah di atas dijalankan maka haruslah databasenya diaktifkan dulu
dengan perintah
mysql> USE cobadb;
tabel di atas memiliki tiga macam field dimana field idtamu berfungsi sebagai field kunci primer.
4. Bentuk
Umum Mengubah struktur tabel
ALTER TABLE namatabel ADD | DROP | MODIFY field
contoh, menambah field sex (jenis kelamin) pada tabel
tamu.
Mysql > ALTER TABLE tamu ADD sex
enum(’L’,’P’);
sedangkan contoh menghapus field 'sex' pada tabel tamu adalah sebagai berikut:
Mysql > ALTER TABLE tamu DROP sex;
perintah-perintah di atas tergolong perintah
DDL(Data Definition Language), yang hanya dijalankan pada saat
database akan dikontruksikan/dibangun/dibuat. Sedangkan perintah-perintah untuk
memanipulasi data dalam database (DML singkatan dari Data Manipulation
Language) akan diuraikan berikut ini:
5. Perintah
input data dalam tabel
Bentuk umumnya adalah seperti berikut ini:
INSERT INTO namatabel [(field1,field2, ...)] VALUES
(datafield1, datafield2, ....);
contoh:
mysql > INSERT INTO tamu (nmtamu, email) VALUES ('Budiman Raharjo',
budiman@telkom.net');
6. Perintah untuk mengupdate data tabel.
Bentuk Umumnya :
UPDATE namatabel SET namafield1=databaru1,
namafield2=databaru2, ... WHERE kondisi
keterangan:
namatabel, adalah nama tabel yang akan dilakukan pengupdatean datanya. namafield1,namafield2
adalah field-field yang akan disunting datanya dengan databarunya
databaru, adalah diisi dengan data baru yang akan mereplace data lama.
kondisi, adalah merupakan penentuan kriteria record-record yang akan diupdate.
contoh:
UPDATE tamu
mysql > SET nmtamu='Budiman Sukarno' WHERE nmtamu='Budiman Raharjo';
7. Menghapus record tabel
Bentuk umumnya:
DELETE FROM namatabel WHERE kondisi
keterangan:
namatabel, adalah nama tabel yang akan dilakukan penghapusan record datanya.
kondisi, adalah merupakan penentuan kriteria record-record yang akan dihapus.
contoh:
mysql > DELETE FROM tamu WHERE idtamu=3;
8. Perintah untuk menampilkan record-record data tabel
Bentuk umumnya:
SELECT * | field1, field2, …
FROM nama_table1 [ , nama_table2, …] [ WHERE kondisi ]
[ GROUP BY ekspresi ]
[ HAVING kondisi_pencarian ]
[ ORDER BY ekspresi_pengurutan [ ASC | DESC ] ]
Keterangan :
SELECT *
berfungsi untuk menampilkan data seluruh field dari table yang disebutkan
setelah klausa
FROM
SELECT field1, field2, …
berfungsi untuk menampilkan data-data dari field-field yang dituliskan secara
eksplisit
dari table yang disebutkan setelah klausa SELECT
FROM nama_tabel1, nama_tabel2
berfungsi untuk menentukan tabel yang field-field akan ditampilkan data
recordnya.
WHERE kondisi
berfungsi untuk menentukan criteria record-record yang akan dihapus atau
ditampilkan.
GROUP BY ekspresi
berisi daftar record-record untuk dijadikan acuan kriteria terhadap
record-record data yang dikelompokkan.
HAVING kondisi_pencarian
adalah rumusan kondisi/kriteria record yang digroup yang akan ditampilkan
ORDER BY ekspresi_pengurutan
berisi daftar field-field yang akan dijadikan acuan pengurutan.
ASC
adalah model pengurutan record-record data secara menaik.
DESC
adalah model pengurutan record-record data secara menurun.
Contoh :
Mysql> SELECT * FROM tamu;
Perintah di atas jika dijalankan akan menampilkan
seluruh record dari seluruh field dalam tabel tamu.
Mysql> SELECT nmtamu, email FROM tamu;
perintah di atas jika dijalankan akan menampilkan seluruh data record-record
dari field nmtamu dan email.
Mysql> SELECT * FROM tamu WHERE nmtamu LIKE
'Budi%';
perintah di atas menampilkan data-data record yang memiliki nama dengan awalan
'Budi'
-Mysql> SELECT *
FROM tamu WHERE idtamu=2;
perintah di atas akan menampilkan data record tabel yang memiliki idtamu
bernilai 2.
9. Relasi 2 Tabel
contoh lain: untuk menampilkan data dari kombinasi field-field beberapa tabel yang saling berelasi.
Perintahnya adalah sebagai berikut :
mysql > SELECT tblbarang.kdbarang,
tblbarang.nmbarang, tblbarang.jmlbarang, tblbarang.hrgbarang,
kategori.nmkategori FROM tblbarang, kategori WHERE
tblbarang.kdkategori = kategori.kdkategori;
10. Perintah
untuk menghapus struktur tabel
bentuk umumnya: DROP TABLE namatabel;
contoh:
mysql> DROP TABLE tamu;
efek perintah jika berhasil dijalankan maka tabel
dengan nama 'tamu' akan dihapus secara permanen berikut dengan data yang ada
dalam tabel juga akan terhapus.
No comments:
Post a Comment