DATA MANIPULATION LANGUAGE - haniki.files.wordpress.com · PRAKTIKUM BERKAS DAN BASIS DATA...
Transcript of DATA MANIPULATION LANGUAGE - haniki.files.wordpress.com · PRAKTIKUM BERKAS DAN BASIS DATA...
DATA MANIPULATION LANGUAGE
PRAKTIKUM BERKAS DAN BASIS DATA
2010/2011
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Memasukkan Data
Kasus
Memasukkan data untuk tabel fakultas:
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
kode_fakultas nama
PA Matematika dan Ilmu Pengetahuan Alam
TK Teknik
INSERT
INSERT INTO fakultas VALUES('PA', 'Matematika dan Ilmu Pengetahuan Alam');
atau:
INSERT INTO fakultas(nama, kode_fakultas) VALUES('Teknik', 'TK');
atau:
INSERT INTO fakultas SET nama = 'Teknik', kode_fakultas = 'TK';
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Latihan Masukkan data berikut ke tabel jurusan dan program_studi:
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
kode_jurusan nama kode_fakultas
MAT Matematika PA
IKE Ilmu Komputer dan Elektronika PA
TET
Teknik Elektro dan Teknologi
Informasi TK
kode_prodi nama kode_jurusan
IKP Ilmu Komputer MAT
MAT Matematika MAT
STA Statistika MAT
TEK Teknik Elektro TET
TEI Teknologi Informasi TET
Latihan
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
nif nama tempat_lahir tanggal_lahir jns_kelamin angkatan kode_prodi
1 Andi Sleman 01-01-1991 Pria 2009 IKP
2 Budi Bantul 02-02-1992 Pria 2010 IKP
3 Cici Wates 03-03-1991 Wanita 2009 MAT
4 Dian Wonosari 04-04-1992 Pria 2010 STA
1 Eni Yogyakarta 05-05-1991 Wanita 2009 TEK
2 Fadil Magelang 06-06-1992 Pria 2010 TEI
3 Gozi Solo 07-07-1992 Pria 2010 TEI
Latihan
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
kode_mk nama sifat sks kode_prodi semester
MMS1101 Kalkulus W 3 MAT GANJIL-GENAP
MMS2401 Metode Statistik W 2 STA GANJIL-GENAP
MMS2602 Basis Data W 3 IKP GENAP
MMS1801 Alpro W 3 IKP GANJIL
MMS3701 Bioinformatika P 2 IKP GENAP
TKE1105 Teknik Digital W 3 TEK GANJIL
TKE3351 Sistem Operasi P 3 TEI GENAP
UPDATE
UPDATE nama_tabel SET nama_kolom = nilai_kolom [WHERE kondisi]
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh
Prodi Ilmu Komputer sekarang berada dalam jurusan Ilmu Komputer dan Elektronika, update-lah basis datanya!
Bedakanlah kode prodi Matematika dengan kode jurusan Matematika dengan mengganti kode jurusan Matematika menjadi MTK!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh
UPDATE program_studi SET kode_jurusan='IKE' WHERE kode_prodi='IKP';
UPDATE jurusan SET kode_jurusan='MTK' WHERE nama= 'Matematika‘;
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Ingat!!!
Jika klausa WHERE tidak diberikan, maka seluruh baris pada tabel akan ter-update.
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
DELETE
DELETE FROM nama_tabel [WHERE kondisi]
Cobalah hapus record mahasiswa dengan nama 'Gozi' dari tabel mahasiswa.
DELETE FROM mahasiswa WHERE nama='Gozi';
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Ingat!!!
Jika klausa WHERE tidak diberikan, maka seluruh baris pada tabel akan terhapus.
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
TRUNCATE
TRUNCATE TABLE nama_tabel
Digunakan untuk mengosongkan isi tabel.
Kolom AUTO_INCREMENT akan di-reset.
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
SELECT
SELECT nama_kolom1, nama_kolom2, ... FROM nama_tabel [WHERE kondisi] [ORDER BY nama_kolom, ...]
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 1
Tampilkan data niu, nama, dan angkatan di tabel mahasiswa!
Tampilkan data mahasiswa untuk semua kolom!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 1
Tampilkan data niu, nama, dan angkatan di tabel mahasiswa!
SELECT niu, nama, angkatan FROM mahasiswa;
Tampilkan data mahasiswa untuk semua kolom!
SELECT * FROM mahasiswa;
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 2
Tampilkan data niu, nama, dan angkatan untuk mahasiswa angkatan 2009 di tabel mahasiswa!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 2
Tampilkan data niu, nama, dan angkatan untuk mahasiswa angkatan 2009 di tabel mahasiswa!
SELECT niu, nama, angkatan FROM mahasiswa WHERE angkatan='2009';
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 3
Tampilkan data niu, nama, dan tahun lahir mahasiswa yang angkatannya 2009 dari tabel mahasiswa!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 3
Tampilkan data niu, nama, dan tahun lahir mahasiswa yang angkatannya 2009 dari tabel mahasiswa!
SELECT niu, nama, YEAR(tanggal_lahir) FROM mahasiswa WHERE angkatan='2009';
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Latihan
Tampilkan niu, nama, dan umur dari mahasiswa yang angkatannya 2009!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Latihan
Tampilkan niu, nama, dan umur dari mahasiswa yang angkatannya 2009!
SELECT niu, nama, YEAR(NOW()) -YEAR(tanggal_lahir) FROM mahasiswa WHERE angkatan='2009';
SELECT niu, nama, DATEDIFF(CURDATE(), tanggal_lahir) DIV 365 FROM mahasiswa WHERE angkatan='2009';
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Alias untuk Kolom dengan AS
SELECT niu, nama, YEAR(NOW()) -YEAR(tanggal_lahir) AS umur FROM mahasiswa WHERE angkatan='2009';
SELECT niu, nama, DATEDIFF(CURDATE(), tanggal_lahir) DIV 365 AS umur FROM mahasiswa WHERE angkatan='2009';
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 4
Tampilkan data niu, nama, dan kode_prodi dari tabel mahasiswa diurutkan berdasarkan namanya!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 4
Tampilkan data niu, nama, dan kode_prodi dari tabel mahasiswa diurutkan berdasarkan namanya!
ASCENDING
SELECT niu, nama, kode_prodi FROM mahasiswa ORDER BY nama;
DESCENDING
SELECT niu, nama, kode_prodi FROM mahasiswa ORDER BY nama DESC;
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Latihan
Tampilkan data niu, nama, dan kode_prodi mahasiswa angkatan 2009 dari tabel mahasiswa diurutkan berdasarkan kode_prodi!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Latihan
Tampilkan data niu, nama, dan kode_prodi mahasiswa angkatan 2009 dari tabel mahasiswa diurutkan berdasarkan kode_prodi!
SELECT niu, nama, kode_prodi FROM mahasiswa WHERE angkatan='2009' ORDER BY kode_prodi ASC;
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 5
Tampilkan 3 mahasiswa tertua dari tabel mahasiswa!
Tampilkan niu dan nama dari mahasiswa tertua ketiga dan keempat dari tabel mahasiswa!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 5
Tampilkan 3 mahasiswa tertua dari tabel mahasiswa!
SELECT niu, nama, tanggal_lahir FROM mahasiswa ORDER BY tanggal_lahir LIMIT 3;
Tampilkan niu dan nama dari mahasiswa tertua ketiga dan keempat dari tabel mahasiswa!
SELECT niu, nama FROM mahasiswa ORDER BY tanggal_lahir LIMIT 2, 2;
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Latihan
Tampilkan niu dan nama mahasiswa yang tanggal lahirnya di atas 3 Maret 1991 dan kode prodinya IKP atau TEI diurutkan berdasarkan kode prodinya (ASCENDING) lalu berdasarkan namanya (DESCENDING)
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Latihan
Tampilkan niu dan nama mahasiswa yang tanggal lahirnya di atas 3 Maret 1991 dan kode prodinya IKP atau TEI diurutkan berdasarkan kode prodinya (ASCENDING) lalu berdasarkan namanya (DESCENDING)
SELECT niu, nama FROM mahasiswa WHERE tanggal_lahir > 1991-03-03 AND kode_prodi='IKP' OR kode_prodi='TEI' ORDER BY kode_prodi ASC, nama DESC;
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Latihan
Tampilkan niu dan nama mahasiswa yang namanya diakhiri dengan 'di'
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Latihan
Tampilkan niu dan nama mahasiswa yang namanya diakhiri dengan 'di'
SELECT niu, nama FROM mahasiswa WHERE nama LIKE '%di';
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
DISTINCT
SELECT DISTINCT nama_kolom FROM nama_tabel [WHERE kondisi] [ORDER BY ...] [LIMIT [offset, ] number]
Digunakan untuk menghilangkan duplikasi baris dengan nilai yang sama pada kolom ‘nama_kolom’.
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh
Tampilkan daftar angkatan mahasiswa yang terdapat di tabel mahasiswa.
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh
Tampilkan daftar angkatan mahasiswa yang terdapat di tabel mahasiswa.
SELECT DISTINCT angkatan FROM mahasiswa;
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
GROUP BY
SELECT nama_kolom1, nama kolom2, ... FROM nama_tabel [WHERE kondisi] [GROUP BY nama_kolom_a [, nama_kolom_b] [HAVING kondisi]] [ORDER BY ...] [LIMIT [offset, ] number]
Mengelompokkan baris hasil query berdasarkan kolom tertentu
Berbeda dengan DISTINCT, klausa SELECT pada GROUP BY bisa menggunakan AGGREGATE FUNCTION Rizki Arif Firdaus
http://haniki.wordpress.com/praktikum/
Contoh
Contoh:
SELECT angkatan FROM mahasiswa GROUP BY angkatan;
HAVING digunakan untuk memfilter baris setelah dilakukan GROUPING
Untuk memfilter baris sebelum dilakukan GROUPING gunakan WHERE
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
AGGREGATE FUNCTION
COUNT: mencacah
SUM: menjumlah
AVG: menghitung rata-rata
MAX: mencari nilai maksimum
MIN: mencari nilai minimum
dsb. (STDEV, VARIANCE, ...)
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 1
Tampilkan jumlah mahasiswa yang ada di tabel mahasiswa!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 1
Tampilkan jumlah mahasiswa yang ada di tabel mahasiswa!
SELECT COUNT(*) FROM mahasiswa;
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 2
Tampilkan jumlah mahasiswa per angkatan!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 2
Tampilkan jumlah mahasiswa per angkatan!
SELECT angkatan, COUNT(*) FROM mahasiswa GROUP BY angkatan;
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 3
Tampilkan jumlah mahasiswa per angkatan di mana yang jumlah mahasiswanya lebih dari 3!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Contoh 3
Tampilkan jumlah mahasiswa per angkatan di mana yang jumlah mahasiswanya lebih dari 3!
SELECT angkatan, COUNT(*) FROM mahasiswa GROUP BY angkatan HAVING COUNT(*) > 3;
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/
Latihan
Tampilkan mata kuliah yang disediakan oleh prodi Ilmu Komputer pada semester genap!
Tampilkan mata kuliah wajib yang disediakan oleh prodi Ilmu Komputer pada semester genap diurutkan sesuai abjad berdasarkan namanya!
Tampilkan jumlah sks mata kuliah yang disediakan oleh prodi Ilmu Komputer!
Tampilkan jumlah sks mata kuliah yang disediakan oleh tiap-tiap prodi!
Rizki Arif Firdaus
http://haniki.wordpress.com/praktikum/
Latihan
Tampilkan kode mata kuliah yang diambil oleh mahasiswa dengan niu 2!
Dapatkan jumlah mata kuliah yang sudah diambil mahasiswa dengan niu 1!
Dapatkan jumlah mata kuliah yang diambil mahasiswa dengan niu 1 pada semester genap tahun ajaran 2010/2011!
Tampilkan niu dan jumlah mata kuliah yang diambil oleh tiap-tiap mahasiswa pada semester genap tahun ajaran 2010/2011!
Rizki Arif Firdaus
http://haniki.wordpress.com/praktikum/
Latihan
Dapatkan jumlah sks yang sudah diambil mahasiswa dengan niu 1!
Dapatkan jumlah sks yang diambil mahasiswa dengan niu 1 pada semester genap tahun ajaran 2010/2011!
Tampilkan niu dan jumlah sks yang diambil oleh tiap-tiap mahasiswa pada semester genap tahun ajaran 2010/2011!
Rizki Arif Firdaus http://haniki.wordpress.com/praktikum/