0% menganggap dokumen ini bermanfaat (0 suara)
40 tayangan

Modul SQL

Modul ini membahas konsep dasar SQL untuk membuat dan mengelola database, tabel, serta data. Termasuk instruksi untuk membuat database dan tabel, menambahkan data dan hubungan antar tabel, memodifikasi data, dan menampilkan hasilnya. Juga dibahas trigger, view, serta penggunaan transaction untuk menyimpan perubahan secara permanen.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
40 tayangan

Modul SQL

Modul ini membahas konsep dasar SQL untuk membuat dan mengelola database, tabel, serta data. Termasuk instruksi untuk membuat database dan tabel, menambahkan data dan hubungan antar tabel, memodifikasi data, dan menampilkan hasilnya. Juga dibahas trigger, view, serta penggunaan transaction untuk menyimpan perubahan secara permanen.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 8

MODUL SQL

1. Membuat Database
Perintah untuk membuat database baru pada MySQL adalah sebagai berikut:
CREATE DATABASE nama_database;

Pada studi kasus diatas perintah database


CREATE DATABASE mm_grosir_nama_kalian;

2. Membuat Tabel
Perintah dasar untuk membuat tabel pada MySQL adalah sebagai berikut:
CREATE TABLE nama_table (
nama_field1 TYPE_DATA(panjang) OPTIONAL_ATTRIBUTES,
nama_field2 TYPE_DATA(panjang)
);

Setelah tipe data, kita dapat menentukan atribut opsional lainnya untuk setiap kolom, beberapa
atribut opsional yang dapat ditambahkan pada suatu field diantaranya:
 NOT NULL - Setiap baris harus berisi nilai untuk kolom itu, nilai null tidak diperbolehkan
 DEFAULT value - Tetapkan nilai default yang ditambahkan saat tidak ada nilai lain yang
dilewatkan
 UNSIGNED - Digunakan untuk tipe angka, membatasi data yang disimpan ke angka positif
dan nol
 AUTO INCREMENT - MySQL secara otomatis meningkatkan nilai field sebesar 1 setiap kali
record baru ditambahkan
 PRIMARY KEY - Digunakan untuk mengidentifikasi baris dalam tabel secara unik. Kolom
dengan pengaturan PRIMARY KEY seringkali merupakan nomor ID, dan sering digunakan
dengan AUTO_INCREMENT

Sebagai contoh pada studi kasus diatas terdapat tabel barang dengan struktur seperti gambar
berikut:
Perintah untuk membuat tabel seperti pada struktur diatas:
CREATE TABLE barang (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
kode_barang VARCHAR(50),
produk_id INT(11) UNSIGNED,
nama_barang VARCHAR(100),
satuan VARCHAR(10),
harga_jual DOUBLE(0,0),
stok INT(5),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP
);

Buat perintah yang sama untuk masing-masing tabel sesuai soal diatas, yaitu membuat tabel
barang, produk, detail_pembelian, pembelian, pemasok, detail_penjualan, penjualan,
tampung_bayar, users, dan pelanggan.

3. Menambahkan Foreign Key


Foreign Key adalah sebuah column atau field yang berfungsi sebagai kunci tamu dimana kunci
ini akan kita gunakan untuk relasi antar tabel. Dari kedua tabel diatas dapat dilihat adanya relasi
antara tabel barang dan produk. Field produk_id di tabel barang memiliki relasi dengan tabel
produk dengan field id. Foreign key pada tabel barang adalah field produk_id yang merujuk pada
field id di tabel produk.

Perintah untuk menambahkan foreign key:


ALTER TABLE barang ADD FOREIGN KEY (produk_id) REFERENCES produk(id);

Lakukan perintah yang sama untuk setiap field yang memiliki foreign key dengan tabel lainnya.
4. Menambahkan Field Baru di Table
Perintah untuk menambahkan field baru di suatu tabel:
ALTER TABLE nama_tabel ADD COLUMN nama_field_baru TYPE_DATA(jumlah);

Contoh menambahkan field baru dengan nama diskon di tabel barang:


ALTER TABLE barang ADD COLUMN diskon DOUBLE(0,0) AFTER stok;

Perintah diatas memperbarui tabel barang untuk menambahkan field baru dengan nama diskon
setelah field stok.

5. Menambahkan Data ke Tabel


Perintah dasar untuk menambahkan data pada suatu tabel:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Menambahkan 2 data pada tabel produk


INSERT INTO produk (nama_produk)
VALUES ("Sembako"), ("Peralatan Mandi dan Mencuci");

Menambahkan 2 data pada tabel barang


INSERT INTO barang (kode_barang, produk_id, nama_barang, satuan, harga_jual,
stok)
VALUES ("BS0001", 1, "Minyak Goreng Bimilo", "Liter", 25000, 100),
("BS0002", 1, "Beras Pulen Cianjur", "Kg", 15000, 50);

6. Menampilkan Data di Tabel


Menampilkan semua data di suatu tabel
SELECT * FROM nama_tabel;

Menampilkan data beberapa field di suatu tabel


SELECT fiedl1, field2 FROM nama_tabel;

Contoh menampilkan data field kode_barang, nama_barang, dan satuan di tabel barang
SELECT kode_barang, nama_barang, satuan FROM barang;

7. Menggunakan Perintah WHERE


Pernyataan WHERE akan memfilter hasil baris data. Hanya record/data yang memenuhi saja
yang akan ditampilkan/eksekusi.
Contoh menampilkan semua data barang yang memilik stok kurang dari atau sama dengan 50:
SELECT * FROM barang WHERE stok <= 50;

8. Menggunakan Perintah BETWEEN


Kondisi between ini adalah dimana suatu nilai pada data di tabel akan di bandingkan dengan
range nilai tertentu.

Contoh menampilkan semua data barang yang memiliki stok antara 50 sampai 100:
SELECT * FROM barang WHERE stok BETWEEN 50 AND 100;

9. Mengubah Data di Tabel (Update)


Perintah sederhana untuk melakukan update data di tabel:
UPDATE nama_tabel
SET nama_field = nilai_baru
WHERE kondisi;

Contoh mengubah data di tabel barang jika stok lebih dari sama dengan 100 dan harga_jual
minimal 25000 maka diskon diisi 10:
UPDATE barang
SET diskon = 10
WHERE stok >= 100 AND harga_jual >= 25000

10. Membuat Stored Procedure


Stored procedure adalah salah satu objek routine yang tersimpan pada database MySQL dan
dapat digunakan untuk menggantikan berbagai kumpulan perintah yang sering kita gunakan,
seperti misalkan menampilkan row dari table dengan filter tertentu.

Penulisan Stored Procedure


DELIMITER $$
CREATE PROCEDURE nama_procedure()
BEGIN
kode sql;
END$$
DELIMITER ;

Contoh membuat Stored Procedure dengan nama barang_harga_murah untuk menampilkan


data barang yang memiliki harga kurang dari dan sama dengan 15000
DELIMITER $$
CREATE PROCEDURE barang_harga_murah()
BEGIN
SELECT * FROM barang WHERE harga_jual <= 15000;
END$$
DELIMITER ;

Memanggil Stored Procedure


Call barang_harga_murah();

11. Membuat Function


Function merupakan fungsi yang tersimpan dalam database server MySQL. Fungsinya berbeda
dengan Stored Procedure, fungsi memiliki nilai kembalian sedangkan Stored Procedure tidak.

Penulisan Function
DELIMITER $$
CREATE FUNCTION nama_function () RETURNS TYPE_DATA DETERMINISTIC
BEGIN
DECLARE value TYPE_DATA;
kode sql;
RETURN value;
END$$

DELIMITER ;

Contoh membuat function untuk menentukan total bayar berdasarkan sub total di tabel detail
penjualan:
DELIMITER $$
CREATE FUNCTION total_bayar (id INT) RETURNS DOUBLE DETERMINISTIC
BEGIN
DECLARE total DOUBLE;
SELECT SUM(sub_total) AS total_bayar INTO total FROM detail_penjualan
WHERE penjualan_id = id;
RETURN total;
END$$
DELIMITER ;

Memanggil Function
SELECT total_bayar(1);

12. Membuat Logging dan Trigger


Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum
atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel.
Trigger sering digunakan, antara lain untuk:
 Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam
sistem penjualan, jika dientri barang baru maka stock akan bertambah secara otomatis.
 Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi
perubahan, secara otomatis akan menyimpan ke tabel log.
 Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum data
tersebut disimpan.

Pada contoh kasus ini kita akan membuat Trigger untuk sistem log. Tabel log berfungsi
merupakan tabel yang berfungsi untuk mencatat setiap perubahan data pada tabel tertentu.

1. Pilih tabel yang akan dibuatkan log, contoh tabel penjualan, lalu klik menu Trigger

2. Klik Insert Trigger.


 Trigger Insert
Nama Trigger TAMBAH
Tabel penjualan
Waktu AFTER
Kejadian INSERT
SQL INSERT INTO logging (aksi) VALUES ("Insert pada tabel
penjualan")

 Trigger Update
Nama Trigger UPDATE
Tabel penjualan
Waktu AFTER
Kejadian UPDATE
SQL INSERT INTO logging (aksi) VALUES ("Update pada tabel
penjualan")
 Trigger Delete
Nama Trigger HAPUS
Tabel penjualan
Waktu AFTER
Kejadian DELETE
SQL INSERT INTO logging (aksi) VALUES ("Delete pada tabel
penjualan")

13. Membuat View


View dapat didefenisikan sebagai tabel virtual. Tabel ini bisa berasal dari tabel lain, atau
gabungan dari beberapa tabel.

Perintah dasar View


CREATE VIEW nama_view AS SELECT kode_sql;

Contoh membuat View untuk menampilkan data barang yang memiliki stok dibawah 100
CREATE VIEW stok_sedikit AS SELECT A.id, nama_barang, stok FROM barang A
INNER JOIN produk B ON A.produk_id = B.id
WHERE stok < 100;

Memanggil View
SELECT * FROM stok_sedikit;

14. Perintah Commit dan Rollback


Transaction Control Language (TCL) adalah perintah SQL yang berhubungan dengan transaksi di
database.

Perintah TCL antara lain:


a. Perintah COMMIT digunakan untuk menyimpan transaksi secara permanen di database.
Saat melakukan perintah DML seperti INSERT, UPDATE, DELETE traksaksi sebenarnya belum
dilakukan secara permanen. Artinya operasi tersebut masih bisa di rollback / di batalkan.
Jika ingin menyimpan transaksi sehingga tidak dapat di rollback kita gunakan perintah
COMMIT.
Contoh membuat perintah COMMIT ketika insert data ke tabel barang:
- Untuk memulai COMMIT harus dimulai dengan perintah
START TRANSACTION

- Selanjutnya tuliskan kode sql untuk melakukan insert data


INSERT INTO barang (kode_barang, produk_id, nama_barang, satuan,
harga_jual, stok) VALUES ("BS0003", 1, "Gula Pasir", "Liter", 10000,
10);

- Jika data sudah sesuai maka lakukan dan ingin disimpan maka lakukan COMMIT
COMMIT

b. Perintah ROLLBACK digunakan untuk mengembalikan database ke bentuk awal / COMMIT


terakhir. Perintah COMMIT dan ROLLBACK saling berkaitan.
Contoh membuat perintah ROLLBACK ketika insert data ke tabel barang:
- Untuk memulai COMMIT harus dimulai dengan perintah
START TRANSACTION

- Selanjutnya tuliskan kode sql untuk melakukan insert data


INSERT INTO barang (kode_barang, produk_id, nama_barang, satuan,
harga_jual, stok) VALUES ("BS0003", 1, "Gula Pasir", "Liter", 10000,
10);

- Jika data tidak ingin disimpan dan ingin dikembalikan ke data sebelumnya maka lakukan
ROLLBACK
ROLLBACK

Anda mungkin juga menyukai