Learning SQL Basic

Learning SQL Basic
Structure Query Language atau yang sering disebut SQL merupakan bagian terpenting dalam manipulasi database. SQL digunakan untuk mengakses data dalam database relasional. terdapat tiga jenis perintah SQL, yaitu pertama adalah DDL (Data Definition Language) yang merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database. Selanjutnya adalah DCL (Data Control Language) yang berhubungan dengan pengaturan hak akses user, baik terhadap server, database, tabel, maupun terhadap field. Kemudian yang terakhir adalah DML (Data Manipulation Language) yang merupakan perintah SQL yang biasa rekan-rekan gunakan dalam manipulasi data atau record dalam database.

Pada kesempatan kali ini, kita akan membahas basic dari Data Manipulation Language dimana terdapat empat perintah yang termasuk dalam DML. Perintah-perintah tersebut adalah sebagai berikut :
  • INSERT
Insert merupakan perintah didalam DML yang digunakan untuk menyimpan data kedalam suatu tabel. Pada SQL terdapat beberapa cara dalam menuliskan perintah insert data, salah satunya adalah :
INSERT INTO `[nama_table]` SET `[nama_field]` = 'data_input', `[nama_field2]` = 'data_input2',dst . . .
Selain cara diatas, juga dapat dilakukan dengan cara berikut apabila ingin menyimpan multiple-rows (lebih dari satu baris data),
INSERT INTO `[nama_table]` (`[nama_field_1]`, `[nama_field_2]`) VALUES ('data_1_1', 'data_1_2'), (data_2_1, 'data_2_2');

  • SELECT
Select merupakan perintah yang digunakan untuk mengambil atau menampilkan seluruh atau sebagian data dari satu tabel atau beberapa tabel yang saling berelasi. Terdapat berbagai kondisi yang dapat digunakan user dalam menampilkan data, secara umum struktur perintah select berbentuk sebagai berikut :
SELECT `[field_1]`,`[field_2]` FROM `[nama_table]`;

SELECT * FROM `[nama_table]`;

SELECT * FROM `[nama_table]` ORDER BY `[field]` ASC/DESC;

SELECT * FROM `[nama_table]` GROUP BY `[field]`;

SELECT * FROM `[nama_table]` WHERE `[field_1]` = 'selector_field';

SELECT * FROM `[nama_table]` WHERE `[field_1]` = 'selector_field' AND `[field_2]` = 'selector_field';
Jika kita menggunakan bintang ( * ) maka seluruh field akan ditampilkan sesuai dengan kondisi yang telah diatur, apabila hanya membutuhkan beberapa field saja bisa menggunakan cara seperti baris pertama. Sedangkan struktur perintah select dengan relasi beberapa tabel adalah seperti berikut :
SELECT `[nama_tabel1]`.`[nama_field1]`, `[nama_tabel1]`.`[nama_field2]`, `[nama_tabel2]`.`[nama_field3]` FROM `[nama_tabel`]` LEFT JOIN/RIGHT JOIN/INNER JOIN `[nama_tabel2]` ON `[nama_tabel1]`.`[field_relasi]` = `[nama_tabel2]`.`[field_relasi]`;

SELECT `[nama_tabel1]`.`[nama_field1]`, `[nama_tabel1]`.`[nama_field2]`, `[nama_tabel2]`.`[nama_field3]` FROM `[nama_tabel`]` LEFT JOIN/RIGHT JOIN/INNER JOIN `[nama_tabel2]` USING([field_relasi]);

SELECT `a`.`[nama_field1]`, `a`.`[nama_field2]`, `b`.`[nama_field1]` As [nama_lain] FROM `[nama_tabel`]` As a LEFT JOIN/RIGHT JOIN/INNER JOIN `[nama_tabel2]` As b ON `a`.`[field_relasi]` = `b`.`[field_relasi]`;  

SELECT `a`.`[nama_field1]`, `a`.`[nama_field2]`, `b`.`[nama_field1]`,`c`.* FROM `[nama_tabel`]` As a LEFT JOIN/RIGHT JOIN/INNER JOIN `[nama_tabel2]` As b ON `a`.`[field_relasi]` = `b`.`[field_relasi]` LEFT JOIN/RIGHT JOIN/INNER JOIN `[nama_tabel3]` As c ON `a/b`.`[field_relasi]` = `c`.`[field_relasi]` WHERE `a`.`[nama_field]` = 'data_selector';
Pada query select antar tabel tidak boleh memilih field dengan nama yang sama, apabila terdapata field dengan nama yang sama harus diberi alias seperti struktur ketiga diatas. Sedangkan untuk ON clause digunakan apabila nama field yang digunakan relasi memiliki nama yang berbeda, apabila nama field yang digunakan sebagai relasi adalah sama, bisa menggunakan USING seperti struktur  kedua diatas. Selanjutnya apabila terdapat WHERE clause dengan nama_field yang sama diantara dua tabel atau lebih, perlu ditambahkan nama tabel atau alias dari tabel tersebut terlebig dahulu supaya tidak ambiguous
  • UPDATE
Pada perintah update digunakan untuk mengubah beberapa atau seluruh field pada seluruh atau beberapa data tertentu saja. struktur dasar update SQL adalah sebagai berikut
UPDATE `[nama_tabel]` SET `[nama_field]` = 'diubah_ke', `[nama_field]` = 'diubah_ke';

UPDATE `[nama_tabel]` SET `[nama_field]` = 'diubah_ke', `[nama_field]` = 'diubah_ke' WHERE `[nama_field]` = 'selector;
  • DELETE
Sesuai dengan namanya, perintah delete digunakan untuk menghapus seluruh atau beberapa data yang ada pada suatu tabel. Sturktur delete SQL adalah sebagai berikut
DELETE FROM `[nama_tabel]`

DELETE FROM `[nama_tabel]` WHERE `[nama_field]` = 'selector';

Oct 25th, 2018