0% menganggap dokumen ini bermanfaat (0 suara)
15 tayangan16 halaman

Modul 2,3,4 - Basdat

Modul ini membahas tentang Data Definition Language (DDL) dan Data Manipulation Language (DML) dalam MySQL. DDL mencakup perintah untuk mendefinisikan struktur basis data seperti CREATE, ALTER, dan DROP, sedangkan DML digunakan untuk memanipulasi data dengan perintah seperti INSERT, DELETE, UPDATE, dan SELECT. Terdapat juga penjelasan mengenai tipe data yang digunakan dalam MySQL, termasuk tipe data numerik, string, dan tanggal.

Diunggah oleh

rizalm12gg34
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
15 tayangan16 halaman

Modul 2,3,4 - Basdat

Modul ini membahas tentang Data Definition Language (DDL) dan Data Manipulation Language (DML) dalam MySQL. DDL mencakup perintah untuk mendefinisikan struktur basis data seperti CREATE, ALTER, dan DROP, sedangkan DML digunakan untuk memanipulasi data dengan perintah seperti INSERT, DELETE, UPDATE, dan SELECT. Terdapat juga penjelasan mengenai tipe data yang digunakan dalam MySQL, termasuk tipe data numerik, string, dan tanggal.

Diunggah oleh

rizalm12gg34
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 16

Modul Praktikum Basis Data - MySQL

Modul 2
Data Definition Language (DDL)
2.1. Bahasa SQL
SQL memiliki kepanjangan Structured Query Language, digunakan sebagai
antarmuka dalam pengelolaan data. SQL merupakan bahasa komprehensif untuk basis data
sehingga dibuat standar bahasa SQL oleh ANSI (American National Standard Institute)
dan ISO (International Standard Organizatioan). Di dalamnya terdapat perintah untuk
pendefinisian data, melakukan query dan update terhadap data. Perintah tersebut
dikelompokan dalam 2 istilah: DDL (Data Definition Language) untuk pendefinisian data
dan DML (Data Manipulation Language) untuk melakukan update dan query.

2.2. Tipe Data


A. Tipe Data Numerik
Tipe Keterangan Range Nilai
TINYINT Nilai integer yang sangat kecil Signed : -128 s.d. 127
Unsigned : 0 s.d. 255
SMALLINT Nilai integer yang kecil Signed : -32768 s.d. 32767
Unsigned : 0 s.d. 65535
MEDIUMINT Integer dengan nilai medium Signed : -8388608 s.d. 8388607
Unsigned : 0 s.d. 16777215
Tipe Keterangan Range Nilai
INT Integer dengan nilai standar Signed : -2147483648 s.d. 2147483647
Unsigned : 0 s.d. 4294967295
BIGINT Integer dengan nilai besar Signed : -9223372036854775808 s.d.
9223372036854775807
Unsigned : 0 s.d. 18446744073709551615
FLOAT Bilangan desimal dengan single- minimum ± 1.175494351e-38
precission maksimum ± 3.402823466e+38
DOUBLE Bilangan desimal dengan double- minimum ± 2.2205738585072014e-308
precission maksimum ± 1.7976931348623457e+308
DECIMAL(M,D) Bilangan float (desimal) yang Tergantung pada nilai M dan D
dinyatakan sebagai string. M adalah
jumlah digit yang disimpan dalam
suatu kolom, N adalah jumlah digit
dibelakang koma
Keterangan : Signed dan Unsigned adalah atribut untuk tipe data numerik
- Signed : data yang disimpan dalam suatu kolom dapat berupa data negatif dan
positif.
- Unsigned : digunakan agar data yang dimasukkan bukan data negatif (>=0). Tipe
data float tidak dapat dinyatakan dengan unsigned.
B. Tipe Data String :
Tipe Keterangan Ukuran Maksimum
CHAR(n) String karakter dengan panjang yang tetap, yaitu n 1 M byte
VARCHAR(n) String karakter dengan panjang yang tidak tetap, 1 M byte
maksimum n.
TINYBLOB BLOB (Binary Large Object) yang sangat kecil 28-1 byte
BLOB BLOB berukuran kecil 216-1 byte
MEDIUMBLOB BLOB berukuran sedang 224-1 byte
LONGBLOB BLOB berukuran besar 232-1 byte

Teknik Informatika – Universitas Siliwangi 1


Modul Praktikum Basis Data - MySQL

TINYTEXT String teks yang sangat kecil 28-1 byte


TEXT String teks berukuran kecil 216-1 byte
MEDIUMTEXT String teks berukuran medium(sedang) 224-1 byte
LONGTEXT String teks berukuran besar 232-1 byte
ENUM Enumerasi, kolom dapat diisi dengan satu member 65535 anggota
enumerasi
SET Himpunan, kolom dapat diisi dengan beberapa nilai 64 anggota himpunan
anggota himpunan
Tipe data tanggal dan jam :
Tipe Range Format
DATE “1000-01-01” s.d. “9999-12-31” “0000-00-00”
TIME “-832:59:59” s.d. “838:59:59” “00:00:00”
DATETIME “1000-01-01 00:00:00” s.d. “9999-12-31 “0000-00-00 00:00:00”
23:59:59”

2.3. Perintah DDL (Data Definition Language)


DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-
atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta
hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE,
ALTER, dan DROP.

a. Membuat Database
Perintah: CREATE DATABASE namadatabase;
namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang
sama antar database. Berikut ini perintah untuk membuat database dengan nama
akademik :

mysql> create database akademik;

Perintah tambahan : untuk menampilkan daftar nama database yang ada pada mysql
menggunakan perintah : SHOW DATABASES;

mysql> show databases;


+--------------------+
| Database |
+--------------------+
| information_schema |
| akademik |
| mysql |
| test |
+--------------------+
4 rows in set (0.11 sec)

b. Menghapus Database
Perintah : DROP DATABASE namadatabase;
Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah
untuk menghapus database dengan nama akademik ;

mysql> drop database akademik;

Teknik Informatika – Universitas Siliwangi 2


Modul Praktikum Basis Data - MySQL

c. Membuat Tabel
Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database
sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel dengan
menggunakan perintah : USE namadatabase;
Berikut ini perintah untuk menggunakan database dengan nama akademik :
mysql> use akademik;
Database Changed

Perintah membuat table :


create table namatabel
(
Field1 TipeData1,
Field2 TipeData2
);
namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1
merupakan nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin
membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data
sebelumnya diberikan tanda koma (,). Berikut ini perintah untuk membuat tabel
dengan nama mahasiswa :

mysql> create table mahasiswa(


-> npm char(9) not null,
-> nama varchar(20) not null,
-> alamat varchar(30) null,
-> jns_kelamin char(1) not null,
-> gol_darah varchar(2) null,
-> primary key (npm));

Keterangan : null yaitu field tesebut dapat tidak berisi nilai sedangkan not null yaitu
field harus berisi nilai atau tidak boleh kosong. Primary key untuk mendefinisikan
kata kunci dalam sebuah tabel.

Perintah tambahan :
Untuk menampilkan daftar nama tabel yang ada pada database yang sedang
aktif/digunakan (dalam hal ini database akademik) : SHOW TABLES;

mysql> show tables;


+--------------------+
| Tables_in_akademik |
+--------------------+
| mahasiswa |
+--------------------+

Untuk menampilkan deskripsi tabel (dalam hal ini mahasiswa) perintahnya adalah :
DESC namatabel atau DESCRIBE namatabel;

Teknik Informatika – Universitas Siliwangi 3


Modul Praktikum Basis Data - MySQL

mysql> describe mahasiswa;

+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm | char(9) | NO | PRI | NULL | |
| nama | varchar(20) | NO | | NULL | |
| alamat | varchar(30) | YES | | NULL | |
| jns_kelamin | char(1) | NO | | NULL | |
| gol_darah | varchar(2) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+

d. Menghapus Tabel
Perintah : DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk
menghapus tabel dengan nama mahasiswa :
mysql> drop table mahasiswa;

e. Membuat Kolom Auto Untuk Penambahan Data Otomatis


Parameter yang digunakan untuk membuat kolom bentuk AUTO adalah AUTO
INCREMENT. Dengan menggunakan tipe kolom ini, data akan bertambah secara
otomatis. Yang perlu diingat, syarat kolom AUTO harus menggunakan tipe data angka
(INT, TINIINT, …) . Bentuk perintahnya sebagai berikut:

CREATE TABLE [IF NOT EXISTS] nama_tabel (


kolom_kunci tipe(panjang) NOT NULL AUTO_INCREMENT,
kolom_b tipe(panjang) [NOT NULL | NULL], ...,
PRIMARY KEY(kolom_kunci) )

Coba dalam pembuatan tabel selanjutnya.

f. Menghapus Primary Key Pada Tabel


ALTER TABLE namatabel DROP PRIMARY KEY;
Berikut ini perintah yang digunakan untuk menghapus primary key pada tabel
mahasiswa :

mysql> alter table mahasiswa drop primary key;

g. Menambah Kolom/Field Baru Pada Tabel


ALTER TABLE namatabel ADD fieldbaru tipe;
namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah
nama kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan
ditambahkan. Berikut ini perintah untuk menambah kolom tgl_lahir dengan tipe data
date :

mysql> alter table mahasiswa add tgl_lahir date;

Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.

Teknik Informatika – Universitas Siliwangi 4


Modul Praktikum Basis Data - MySQL

h. Menambah Kolom Kunci/primary key Pada Tabel


Pada saat pembuatan tabel, Anda lupa mendefinisikan kunci primernya. Dengan
menggunakan perintah ALTER, Anda dapat melakukan perubahan sebuah kolom
menjadi kunci. Bentuk sintaksnya sebagai berikut:
ALTER TABLE nama_tbl ADD PRIMARY KEY(kolom)

Dengan menggunakan aturan seperti sintaks di atas, Anda dapat langsung


menyebutkan nama kolom yang akan dibuat sebagai kunci.
Sebagai latihan, Anda dapat menghapus tabel dosen terlebih dahulu. Setelah itu buat
kembali tabel dosen dengan tidak mendefinisikan primay key-nya.
mysql> alter table dosen
-> add primary key(nip);

i. Mengubah Tipe Data atau Lebar Kolom Pada Tabel


ALTER TABLE namatabel MODIFY COLUMN field tipe;
namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya.
Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data
baru atau tipe data lama dengan lebar kolom yang berbeda. Berikut ini perintah untuk
mengubah tipe data untuk kolom nama dengan varchar(25) :

mysql> alter table mahasiswa modify column nama varchar(25);

Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.

j. Mengubah Nama Kolom


ALTER TABLE namatabel CHANGE COLUMN namalamakolom
namabarukolom tipedatanya;
namatabel adalah nama tabel yang akan diubah nama kolomnya,
namalamakolom adalah kolom yang akan diganti namanya, namabarukolom
adalah nama baru kolom, tipedatanya adalah tipe data dari kolom tersebut.
Berikut ini perintah untuk mengubah nama kolom nama menjadi nama_lengkap :

mysql> alter table mahasiswa change column nama nama_lengkap


varchar(20);

Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.

k. Mengubah Nama Tabel


Jika nama tabel yang ada tidak sesuai dengan data, Anda dapat mengubahnya dengan
cara mengganti nama tabel tersebut. Caranya, dengan menggunakan parameter
RENAME. Perintahnya sebagai berikut:

ALTER TABLE nama_lama RENAME [TO] nama_baru

Teknik Informatika – Universitas Siliwangi 5


Modul Praktikum Basis Data - MySQL

Pada perintah di atas, Anda bebas untuk tidak menggunakan parameter TO, karena
sifatnya hanya optional (pilihan) saja.
Sebagai latihan, bagaimana jika tabel ambil kita ganti namanya menjadi mengambil.
Sebelum diganti, Anda dapat melihat kondisi awal terlebih dahulu di dalam database.

Untuk mengganti nama tabel dari ambil menjadi mengambil, Anda dapat menjalankan
perintah seperti berikut:
mysql> alter table jenis_barang rename to data_jenis;

l. Menghapus Kolom Pada Tabel


ALTER TABLE namatabel DROP COLUMN namakolom;
Berikut ini perintah untuk menghapus kolom tgl_lahir pada tabel mahasiswa :

mysql> alter table mahasiswa drop tgl_lahir;

Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.

m. Mendefinisikan Foreign Key Pada Tabel (Kunci Tamu)


ALTER TABLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY
(namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE
CASCADE ON DELETE NO ACTION;
Berikut perintah untuk membuat foreign key nip pada tabel mengajar dari tabel induk
dosen :

mysql> alter table mengajar add constraint fk foreign key (nip)


references dosen(nip) on update cascade on delete no action;

Lakukan perintah decs ambil(lihat tabel),amati perubahannya.

n. Menghapus Foreign Key


ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint;
Berikut ini perintah untuk menghapus foreign key pada tabel mengajar :

mysql> alter table mengajar drop foreign key fk;

Teknik Informatika – Universitas Siliwangi 6


Modul Praktikum Basis Data - MySQL

Modul 3
Data Manipulation Language (DML)

Perintah DML (Data Manipulation Language)


DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam basis
data, misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah
yang termasuk dalah kategori DML adalah : INSERT, DELETE, UPDATE dan
SELECT.

a. INSERT
Perintah INSERT digunakan untuk menambahkan baris baru pada suatu tabel.
Terdapat dua cara untuk menambah baris, yaitu :
Cara 1 : Menambah baris dengan mengisi data pada setiap kolom :
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu :
INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES
(nilai1,nilai2,nilai-n);
Berikut ini perintah untuk menambahkan baris pada tabel mahasiswa :
Cara 1 :
mysql> insert into mahasiswa values('087006111','Wawan
Setiawan','Manonjaya','L','O');

Cara 2 :
mysql> insert into mahasiswa (npm,nama_lengkap,jns_kelamin) values
('087006222','Ahmad Kurniawan','L');

Keterangan :
Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) maka
pemberian nilainya diapit dengan tanda petik tunggal (‘horor’) atau petik ganda
(“horor”). Jika data bertipe numerik (2500, 400) maka pemberian nilainya tidak diapit
tanda petik tunggal maupun ganda. Cara 2 bisa di dilakukan apabila field yang akan
diisikan data harus null.

b. DELETE
Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi
tertentu atau seluruh baris.
Perintah: DELETE FROM namatabel [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu
kondisi tertentu. Berikut ini perintah untuk menghapus baris pada tabel mahasiswa
dengan data sebagai berikut :

mysql> select * from mahasiswa;

Teknik Informatika – Universitas Siliwangi 7


Modul Praktikum Basis Data - MySQL

+-----------+-----------------+-----------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+-----------------+-----------+-------------+-----------+
| 087006111 | Wawan Setiawan | Manonjaya | L | O |
| 087006222 | Ahmad Kurniawan | NULL | L | NULL |
+-----------+-----------------+-----------+-------------+-----------+

Contoh 1 : jika ingin menghapus seluruh baris/data pada tabel mahasiswa :

mysql> delete from mahasiswa;

Contoh 2 : jika ingin menghapus baris yang memiliki nilai 087006222 pada kolom
npm pada tabel mahasiswa maka perintahnya sebagai berikut :

mysql> delete from mahasiswa where npm=087006222;

Contoh 3 : jika ingin menghapus baris yang memiliki nilai L pada kolom jns_kelamin
pada tabel mahasiswa maka perintahnya sebagai berikut :

mysql> delete from mahasiswa where jns_kelamin=’L’;

c. UPDATE
Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom
pada suatu tabel.
Perintah: UPDATE namatabel SET kolom1 = nilai1, kolom2 =
nilai2 [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu
kondisi tertentu. Berikut ini perintah untuk mengubah baris pada tabel mahasiswa
dengan data sebagai berikut :
Contoh 1 : mengubah semua nilai pada kolom alamat menjadi manonjaya :
mysql> update mahasiswa set alamat='manonjaya';

Contoh 2 : mengubah nilai pada kolom gol_darah menjadi AB dimana nilai pada
kolom npm adalah 087006111 :

mysql> update mahasiswa set gol_darah='AB' where npm=087006111;

d. SELECT
Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat
dihubungkan dengan tabel yang lainnya. Menampilkan data untuk semua kolom
menggunakan asterisk (*)
Perintah: SELECT * FROM namatabel;
Berikut ini perintah untuk menampilkan semua data pada tabel mahasiswa :
mysql> select * from mahasiswa;
+-----------+----------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+----------------+---------------------------+-------------+-----------+
| 087006111 | Wawan Setiawan | manonjaya | L | AB |
| 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A |
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B |

Teknik Informatika – Universitas Siliwangi 8


Modul Praktikum Basis Data - MySQL

| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |


| 087006122 | Agus Ramdani | Kawalu No.10 | L | O |
| 087006222 | Abdul Kodir | manonjaya | L | AB |
+-----------+----------------+---------------------------+-------------+-----------+

Menampilkan data untuk kolom tertentu


Perintah: SELECT kolom1,kolom2,kolom-n FROM namatabel;
Berikut ini perintah untuk menampilkan data pada tabel mahasiswa dengan kolom
yang ditampilkan adalah kolom nama_lengkap :
mysql> select nama_lengkap from mahasiswa;
+----------------+
| nama_lengkap |
+----------------+
| Wawan Setiawan |
| Ferry Setiawan |
| Eva Suharti |
| Andina Novita |
| Agus Ramdani |
| Abdul Kodir |
+----------------+

Menampilkan data dengan kondisi data tertentu dengan klausa WHERE


Perintah: SELECT * FROM namatabel WHERE kondisi;
Berikut ini perintah untuk menampilkan data pada tabel mahasiswa dimana nilai pada
kolom npm adalah 087006222 :
mysql> select * from mahasiswa where npm=087006222;
+-----------+--------------+-----------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+--------------+-----------+-------------+-----------+
| 087006222 | Abdul Kodir | manonjaya | L | AB |
+-----------+--------------+-----------+-------------+-----------+

Memberikan nama lain pada kolom


Perintah: SELECT namakolomlama AS namakolombaru FROM
namatabel;
Berikut ini perintah untuk memberikan nama lain pada kolom jns_kelamin menjadi
jenis_kelamin pada tabel mahasiswa :
mysql> select jns_kelamin as jenis_kelamin from mahasiswa;
+---------------+
| jenis_kelamin |
+---------------+
| L |
| L |
| P |
| P |
| L |
| L |
+---------------+

Menggunakan alias untuk nama tabel


Perintah: SELECT nmalias.npm, nmalias.nama_lengkap FROM
namatabel nmalias;
Berikut ini perintah untuk memberikan alias pada tabel mahasiswa :

Teknik Informatika – Universitas Siliwangi 9


Modul Praktikum Basis Data - MySQL

mysql> select k.npm, k.nama_lengkap from mahasiswa k;


+-----------+----------------+
| npm | nama_lengkap |
+-----------+----------------+
| 087006111 | Wawan Setiawan |
| 087006112 | Ferry Setiawan |
| 087006113 | Eva Suharti |
| 087006118 | Andina Novita |
| 087006122 | Agus Ramdani |
| 087006222 | Abdul Kodir |
+-----------+----------------+

Menampilkan data lebih dari dua tabel


Perintah: SELECT * from namatabel1,namatabel2,namatabel-n;
Berikut ini perintah untuk menampilkan semua data pada tabel mahasiswa dan ambil :
mysql> select * from mahasiswa,ambil;
+-----------+----------------+---------------------------+-------------+-----------+-----------+---------+------------+-------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah | npm | kode_mk | nilai_mutu | nilai |
+-----------+----------------+---------------------------+-------------+-----------+-----------+---------+------------+-------+
| 087006111 | Wawan Setiawan | manonjaya |L | AB | 087006111 | TI1313 | 75 | B |
| 087006111 | Wawan Setiawan | manonjaya |L | AB | 087006112 | TI1203 | 87 | A |
| 087006111 | Wawan Setiawan | manonjaya |L | AB | 087006113 | TI1303 | 65 | C |
| 087006111 | Wawan Setiawan | manonjaya |L | AB | 087006118 | TI1304 | 70 | C |
| 087006111 | Wawan Setiawan | manonjaya |L | AB | 087006122 | TI1206 | 90 | A |
| 087006112 | Ferry Setiawan | Cieunteng No.20 |L |A | 087006111 | TI1313 | 75 | B |
| 087006112 | Ferry Setiawan | Cieunteng No.20 |L |A | 087006112 | TI1203 | 87 | A |
| 087006112 | Ferry Setiawan | Cieunteng No.20 |L |A | 087006113 | TI1303 | 65 | C |
| 087006112 | Ferry Setiawan | Cieunteng No.20 |L |A | 087006118 | TI1304 | 70 | C |
| 087006112 | Ferry Setiawan | Cieunteng No.20 |L |A | 087006122 | TI1206 | 90 | A |
| 087006113 | Eva Suharti | Batu Indah NO.111 |P |B | 087006111 | TI1313 | 75 | B |
| 087006113 | Eva Suharti | Batu Indah NO.111 |P |B | 087006112 | TI1203 | 87 | A |
| 087006113 | Eva Suharti | Batu Indah NO.111 |P |B | 087006113 | TI1303 | 65 | C |
| 087006113 | Eva Suharti | Batu Indah NO.111 |P |B | 087006118 | TI1304 | 70 | C |
| 087006113 | Eva Suharti | Batu Indah NO.111 |P |B | 087006122 | TI1206 | 90 | A |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P |A | 087006111 | TI1313 | 75 | B |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P |A | 087006112 | TI1203 | 87 | A |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P |A | 087006113 | TI1303 | 65 | C |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P |A | 087006118 | TI1304 | 70 | C |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P |A | 087006122 | TI1206 | 90 | A |
| 087006122 | Agus Ramdani | Kawalu No.10 |L |O | 087006111 | TI1313 | 75 | B |
| 087006122 | Agus Ramdani | Kawalu No.10 |L |O | 087006112 | TI1203 | 87 | A |
| 087006122 | Agus Ramdani | Kawalu No.10 |L |O | 087006113 | TI1303 | 65 | C |
| 087006122 | Agus Ramdani | Kawalu No.10 |L |O | 087006118 | TI1304 | 70 | C |
| 087006122 | Agus Ramdani | Kawalu No.10 |L |O | 087006122 | TI1206 | 90 | A |
| 087006222 | Abdul Kodir | manonjaya |L | AB | 087006111 | TI1313 | 75 | B |
| 087006222 | Abdul Kodir | manonjaya |L | AB | 087006112 | TI1203 | 87 | A |
| 087006222 | Abdul Kodir | manonjaya |L | AB | 087006113 | TI1303 | 65 | C |
| 087006222 | Abdul Kodir | manonjaya |L | AB | 087006118 | TI1304 | 70 | C |
| 087006222 | Abdul Kodir | manonjaya |L | AB | 087006122 | TI1206 | 90 | A |
+-----------+----------------+---------------------------+-------------+-----------+-----------+---------+------------+-------+

Teknik Informatika – Universitas Siliwangi 10


Modul Praktikum Basis Data - MySQL

Modul 4
Seleksi Menggunakan Operator Dasar

Menggunakan Operator Pembanding


Pada bagian ini, kita akan belajar menggunakan beberapa operator dasar yang
digunakan untuk membandingkan dua nilai atau lebih dari data yang berbeda. Untuk
melakukan perbandingan, nilai hasil yang dikembalikan hanya ada dua kemungkinan, yaitu
TRUE dan FALSE. Bila dinyatakan dengan bilangan, hasil TRUE sama dengan 1, dan
FALSE sama dengan 0.

a. Seleksi Menggunakan Operator =


Operator “=” (equal), akan menghasilkan nilai TRUE atau bernilai 1 apabila memiliki
nilai pembanding sama dengan data yang dibandingkan.
▪ Jika bernilai TRUE, maka data yang dibandingkan akan ditampilkan dalam layar.
mysql> select 0=1;
+-----+
| 0=1 |
+-----+
| 0 |
+-----+
▪ Dalam MySQL, penulisan bilangan dapat ditulis menggunakan tanda petik ataupun
tidak. Jadi, angka 1 = ‘1’ adalah benar
mysql> select 1='1';
+-------+
| 1='1' |
+-------+
| 1 |
+-------+
mysql> select '0.01'=1;
+----------+
| '0.01'=1 |
+----------+
| 0 |
+----------+

▪ Dalam MySQL, penulisan bilangan pecahan juga dapat menggunakan tanda petik
maupun tidak. Misalnya:
mysql> select '0.05'='.05';
+--------------+
| '0.05'='.05' |
+--------------+
| 0 |
+--------------+

mysql> select 0.05='.05';

Teknik Informatika – Universitas Siliwangi 11


Modul Praktikum Basis Data - MySQL

+------------+
| 0.05='.05' |
+------------+
| 1 |
+------------+

▪ Penggunaan operator sama dengan “=” di atas, apabila diterapkan dalam database
dapat ditulis seperti ini.
mysql> select * from mahasiswa where npm=087006222;
+-----------+--------------+-----------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+--------------+-----------+-------------+-----------+
| 087006222 | Abdul Kodir | manonjaya | L | AB |
+-----------+--------------+-----------+-------------+-----------+

b. Seleksi Menggunakan Operator !=


Operator “!=” memiliki arti tidak sama dengan (not equal) atau kecuali. Nilai yang
dihasilkan berlawanan dengan operator sama dengan. Dalam penulisannya, operator
ini juga dapat diganti dengan parameter <>. Baik menggunakan parameter != maupun
<>, operator tidak sama dengan (not equal) ini memiliki fungsi dan hasil yang sama.
Contoh : perintah untuk menampilkan data pada tabel mahasiswa dimana nilai pada
kolom jns_kelamin tidak sama dengan L :
mysql> select * from mahasiswa where jns_kelamin<>'L';
+-----------+---------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+---------------+---------------------------+-------------+-----------+
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
+-----------+---------------+---------------------------+-------------+-----------+

c. Seleksi Menggunakan Operator >


Operator “>” artinya lebih dari. Operator ini digunakan untuk mengambil data yang
nilainya lebih dari bilangan pembanding. Perhatikan perintah berikut:
mysql> select 2>3;
+-----+
| 2>3 |
+-----+
| 0 |
+-----+

mysql> select * from mata_kuliah where sks>2;


+---------+-------------------+-----+----------+
| kode_mk | nama_mk | sks | semester |
+---------+-------------------+-----+----------+
| TI1201 | Struktur Data | 3 | 3 |
| TI1206 | Basis Data | 3 | 3 |
| TI1303 | Sistem Basis Data | 3 | 4 |
| TI1304 | Kecerdasan Buatan | 3 | 5 |
| TI1313 | Sistem Informasi | 3 | 5 |

Teknik Informatika – Universitas Siliwangi 12


Modul Praktikum Basis Data - MySQL

+---------+-------------------+-----+----------+

d. Seleksi Menggunakan Operator >=


Jika menggunakan operator “>”, hasil dari seleksi tidak menampilkan nilai yang
menjadi pembanding. Jika nilai pembanding ingin ditampilkan, gunakan operator “>=”
(dibaca lebih dari sama dengan).
mysql> select * from mata_kuliah where sks>=2;
+---------+--------------------+-----+----------+
| kode_mk | nama_mk | sks | semester |
+---------+--------------------+-----+----------+
| TI1116 | Logika Informatika | 2 | 2 |
| TI1201 | Struktur Data | 3 | 3 |
| TI1206 | Basis Data | 3 | 3 |
| TI1303 | Sistem Basis Data | 3 | 4 |
| TI1304 | Kecerdasan Buatan | 3 | 5 |
| TI1313 | Sistem Informasi | 3 | 5 |
+---------+--------------------+-----+----------+

e. Seleksi Menggunakan Operator <


Operator “<” artinya kurang dari. Digunakan untuk mengambil sejumlah data yang
nilainya kurang dari bilangan pembanding.
mysql> select * from mata_kuliah where sks<2;
+---------+-------------------------+-----+----------+
| kode_mk | nama_mk | sks | semester |
+---------+-------------------------+-----+----------+
| TI1203 | Praktikum Struktur Data | 1 | 3 |
+---------+-------------------------+-----+----------+

f. Seleksi Menggunakan Operator <=


Operator “<=” juga akan mengambil data yang jumlahnya kurang dari nilai
pembanding. Bedanya, pada operator ini, nilai pembanding ditampilkan.
mysql> select * from mata_kuliah where sks<=2;
+---------+-------------------------+-----+----------+
| kode_mk | nama_mk | sks | semester |
+---------+-------------------------+-----+----------+
| TI1116 | Logika Informatika | 2 | 2 |
| TI1203 | Praktikum Struktur Data | 1 | 3 |
+---------+-------------------------+-----+----------+

Menggunakan Operator Logika


a. Dua Kondisi Bernilai Benar dengan Operator AND
Operator AND digunakan untuk mengambil data dari satu atau beberapa tabel
menggunakan dua syarat atau lebih. Data akan ditampilkan apabila dua syarat
terpenuhi, sedangkan apabila salah satu syarat saja atau tidak ada syarat yang dipenuhi,

Teknik Informatika – Universitas Siliwangi 13


Modul Praktikum Basis Data - MySQL

maka perintah tidak akan mendapatkan hasil. Untuk lebih memahaminya,


perhatikanlah tabel berikut:

Tabel Kebenaran Operator AND


Nilai A Nilai B Hasil A AND B
TRUE TRUE TRUE
FALSE TRUE FALSE
TRUE FALSE FALSE
FALSE FALSE FALSE
Tidak diketahui Tidak diketahui Tidak Ada hasil
Tidak diketahui TRUE Tidak Ada hasil
Tidak diketahui FALSE FALSE
TRUE Tidak diketahui Tidak ada hasil
FALSE Tidak diketahui FALSE
Perintah untuk menampilkan data pada tabel mahasiswa dimana nilai npm berkisar dari
087006111 hingga 087006113 :
mysql> select * from mahasiswa where npm>=087006111 and
npm<=087006113;
+-----------+----------------+-------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+----------------+-------------------+-------------+-----------+
| 087006111 | Wawan Setiawan | manonjaya | L | AB |
| 087006112 | Ferry Setiawan | Cieunteng No.20 | L | A |
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B |
+-----------+----------------+-------------------+-------------+-----------+

b. Salah Satu Bernilai Benar dengan Operator OR


Berbeda dengan operator sebelumnya, operator OR digunakan untuk mengambil data
dari beberapa tabel, tetapi memiliki syarat tidak harus keduanya bernilai benar. Jika
salah satu bernilai benar, database akan tetap menampilkan hasil sesuai dengan
permintaannya. Jika kondisi tidak ada yang benar (semua salah), nilainya akan salah.
Anda dapat melihat tabel kebenaran berikut:
Tabel Kebenaran Operator OR
Nilai A Nilai B Hasil A OR B
TRUE TRUE TRUE
FALSE TRUE TRUE
TRUE FALSE TRUE
FALSE FALSE FALSE

Perintah untuk menampilkan data pada tabel mahasiswa dimana nilai npm sama
dengan 087006111 atau 087006118 :
mysql> select * from mahasiswa where npm=087006111 or npm=087006118;
+-----------+----------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+----------------+---------------------------+-------------+-----------+
| 087006111 | Wawan Setiawan | manonjaya | L | AB |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
+-----------+----------------+---------------------------+-------------+-----------+

c. Nilai Balik dengan Operator NOT


Berbeda dengan kedua operator sebelumnya (OR dan AND), operator NOT akan
membalik semua kondisi yang ada. Jika memiliki nilai TRUE (benar), menggunakan
perintah NOT akan menghasilkan nilai FALSE (salah), begitu juga sebaliknya. Anda
dapat melihat tabel kebenaran berikut ini:
Tabel Kebenaran Operator NOT

Teknik Informatika – Universitas Siliwangi 14


Modul Praktikum Basis Data - MySQL

Nilai A Hasil NOT A


1 Tidak ada hasil
0 Ada hasil
Dari tabel di atas, nilai 1 berarti TRUE dan 0 berarti FALSE. Sedangkan parameter
tidak ada hasil berarti bernilai FALSE dan parameter ada hasil berarti bernilai TRUE.
Dalam penggunaannya, parameter NOT bisa diganti dengan tanda seru (!).

mysql> select not 1, !1;


+-------+----+
| not 1 | !1 |
+-------+----+
| 0 | 0 |
+-------+----+

Kebalikan dari perintah di atas:


mysql> select not 0, !0;
+-------+----+
| not 0 | !0 |
+-------+----+
| 1 | 1 |
+-------+----+

mysql> select * from mahasiswa where not jns_kelamin='L';


+-----------+---------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+---------------+---------------------------+-------------+-----------+
| 087006113 | Eva Suharti | Batu Indah NO.111 | P | B |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
+-----------+---------------+---------------------------+-------------+-----------+

d. Operator IN
Perintah untuk menampilkan data pada tabel mahasiswa dimana nilai npm sama
dengan 087006111 atau 087006118 :

mysql> select * from mahasiswa where npm in (087006111,087006118);


+-----------+----------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+----------------+---------------------------+-------------+-----------+
| 087006111 | Wawan Setiawan | manonjaya | L | AB |
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
+-----------+----------------+---------------------------+-------------+-----------+

e. Operator Like
Perintah untuk menampilkan data pada tabel mahasiswa dimana data pada kolom
tertentu diawali dengan nilai tertentu, misalnya pada kolom nama_lengkap dimana
diawali dengan karakter ‘A’ :

mysql> select * from mahasiswa where nama_lengkap like 'A%';


+-----------+---------------+---------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+---------------+---------------------------+-------------+-----------+
| 087006118 | Andina Novita | Perum Batara Blok.C No.08 | P | A |
| 087006122 | Agus Ramdani | Kawalu No.10 | L | O |

Teknik Informatika – Universitas Siliwangi 15


Modul Praktikum Basis Data - MySQL

| 087006222 | Abdul Kodir | manonjaya | L | AB |


+-----------+---------------+---------------------------+-------------+-----------+

Teknik Informatika – Universitas Siliwangi 16

Anda mungkin juga menyukai