RSS

MODUL 2 : Mengelola Tabel pada MYSQL

21 Mar

Lanjutan dari Modul 1 kita masuk ke Modul 2,,Semoga Bermanfaat ^_^

1. Menambah Data

Bagaimana kita menambah data dalam tabel ?

Sebagai latihan kita, bangunlah sebuah database yang baru dengan nama ‘akademikdb’

mysql> CREATE database akademikdb;

Kemudian aktifkan database tersebut

mysql> USE akademikdb;

Kemudian bangun sebuah tabel dengan nama ‘mahasiswa’

mysql> CREATE TABLE mahasiswa (nim varchar(8), nama varchar(20), tglhr date,
-> almt varchar(25), agama varchar(15), jk char(1), primary key(nim));

tampilkanlah tabel dan strukturnya untuk memastikan tabel sudah ada

mysql> SHOW TABLES;
+———————-+
| Tables_in_akademikdb |
+———————-+
| mahasiswa            |
+———————-+
1 row in set (0.00 sec)

mysql> DESC MAHASISWA;

+——-+————-+——+—–+———+——-+
| Field | Type        | Null | Key | Default | Extra |
+——-+————-+——+—–+———+——-+
| nim   | varchar(8)  |      | PRI |         |       |
| nama  | varchar(20) | YES  |     | NULL    |       |
| tglhr | date        | YES  |     | NULL    |       |
| almt  | varchar(25) | YES  |     | NULL    |       |
| agama | varchar(15) | YES  |     | NULL    |       |
| jk    | char(1)     | YES  |     | NULL    |       |
+——-+————-+——+—–+———+——-+
6 rows in set (0.01 sec)

Untuk menambahkan data kedalam tabel mahasiswa diatas lakukan perintah query berikut ini:

mysql> INSERT INTO mahasiswa VALUES
-> (‘07310001’, ‘ALI OPAN’, ‘1980-03-21’, ‘JL. LUKU 20’, ‘KATOLIK’, ‘L’),
-> (‘07310002’, ‘SANUSI’, ‘1981-05-11’, ‘JL. SAWO 21’, ‘ISLAM’, ‘L’),
-> (‘07310003’, ‘ISPANI’, ‘1980-02-13’, ‘JL. SAMPUNA 23’, ‘ISLAM’, ‘L’),
-> (‘07310004’, ‘SANTI’, ‘1985-09-19’, ‘JL. BROMO 22’, ‘KRISTEN’, ‘P’),
-> (‘07310005’, ‘TITIN’, ‘1988-11-29’, ‘JL. BROMO 342’, ‘KRISTEN’, ‘P’);
Query OK, 5 rows affected (0.06 sec)
Records: 5  Duplicates: 0  Warnings: 0

Untuk melihat data dalam tabel lakukan perintah query berikut ini:

mysql> SELECT * FROM mahasiswa;

+———-+———-+————+—————-+———+——+
| nim      | nama     | tglhr      | almt           | agama   | jk   |
+———-+———-+————+—————-+———+——+
| 07310001 | ALI OPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK | L    |
| 07310002 | SANUSI   | 1981-05-11 | JL. SAWO 21    | ISLAM   | L    |
| 07310003 | ISPANI   | 1980-02-13 | JL. SAMPUNA 23 | ISLAM   | L    |
| 07310004 | SANTI    | 1985-09-19 | JL. BROMO 22   | KRISTEN | P    |
| 07310005 | TITIN    | 1988-11-29 | JL. BROMO 342  | KRISTEN | P    |
+———-+———-+————+—————-+———+——+
5 rows in set (0.00 sec)

menambah data kedalam tabel dapat juga dilakukan per satu record seperti berikut ini:

mysql>INSERT INTO mahasiswa VALUES
-> (‘07310006’, ‘BERNAD ‘, ‘1985-01-29’, ‘JL. TUKUL 20’, ‘BUDHA’, ‘L’);

mysql>INSERT INTO mahasiswa VALUES
-> (‘07310007’, ‘CHEN SYI’, ‘1985-01-31’, ‘JL. ASIA 21’, ‘BUDHA’, ‘P’);

Untuk melihat data yang diinputkan ke dalam tabel lakukan perintah query berikut

mysql> SELECT * FROM mahasiswa;

+———-+———-+————+—————-+———+——+
| nim      | nama     | tglhr      | almt           | agama   | jk   |
+———-+———-+————+—————-+———+——+
| 07310001 | ALI OPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK | L    |
| 07310002 | SANUSI   | 1981-05-11 | JL. SAWO 21    | ISLAM   | L    |
| 07310003 | ISPANI   | 1980-02-13 | JL. SAMPUNA 23 | ISLAM   | L    |
| 07310004 | SANTI    | 1985-09-19 | JL. BROMO 22   | KRISTEN | P    |
| 07310005 | TITIN    | 1988-11-29 | JL. BROMO 342  | KRISTEN | P    |
| 07310006 | BERNAD   | 1985-01-29 | JL. TUKUL 20   | BUDHA   | L    |
| 07310007 | CHEN SYI | 1985-01-31 | JL. ASIA 21    | BUDHA   | P    |
+———-+———-+————+—————-+———+——+
5 rows in set (0.00 sec)

menampilkan data secara parsial juga dapat dilakukan seperti berikut ini:

mysql> SELECT nim, nama, jk FROM mahasiswa;

+———-+———-+——+
| nim      | nama     | jk   |
+———-+———-+——+
| 07310001 | ALI OPAN | L    |
| 07310002 | SANUSI   | L    |
| 07310003 | ISPANI   | L    |
| 07310004 | SANTI    | P    |
| 07310005 | TITIN    | P    |
| 07310006 | BERNAD   | L    |
| 07310007 | CHEN SYI | P    |
+———-+———-+——+
5 rows in set (0.00 sec)

menampilkan data mahasiswa dan diurutkan berdasarkan nama;

mysql> SELECT * FROM mahasiswa ORDER BY nama;

+———-+———–+————+—————-+———–+——+
| nim      | nama      | tglhr      | almt           | agama     | jk   |
+———-+———–+————+—————-+———–+——+
| 07310001 | ALI OPAN  | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
| 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA     | L    |
| 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA     | P    |
| 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
| 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | KRISTEN   | P    |
| 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
| 07310005 | TITIN     | 1988-11-29 | JL. BROMO 342  | KRISTEN   | P    |
+———-+———–+————+—————-+———–+——+
7 rows in set (0.38 sec)

menmpilkan data mahasiswa khusus untuk yang berjenis kelamin jk = P dan diurutkan
berdasarkan nama

mysql> SELECT * FROM mahasiswa WHERE jk=’P’ ORDER BY nama;

+———-+———-+————+—————+———–+——+
| nim      | nama     | tglhr      | almt          | agama     | jk   |
+———-+———-+————+—————+———–+——+
| 07310007 | CHEN SYI | 1985-01-31 | JL. ASIA 21   | BUDHA     | P    |
| 07310004 | SANTI    | 1985-09-19 | JL. BROMO 22  | KRISTEN   | P    |
| 07310005 | TITIN    | 1988-11-29 | JL. BROMO 342 | KRISTEN   | P    |
+———-+———-+————+—————+———–+——+
3 rows in set (0.00 sec)

menampilkan data mahasiswa dengan nama ALI OPAN dan SANTI

mysql> SELECT * FROM mahasiswa WHERE nim=’07310001′ OR nim=’07310004′;

+———-+———–+————+————–+———–+——+
| nim      | nama      | tglhr      | almt         | agama     | jk   |
+———-+———–+————+————–+———–+——+
| 07310001 | ALI  OPAN | 1980-03-21 | JL. LUKU 20  | KATOLIK   | L    |
| 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22 | KRISTEN   | P    |
+———-+———–+————+————–+———–+——+
2 rows in set (0.00 sec)

Menampilkan data mahasiswa yang beragama KRISTEN dan yang jenis kelamin jk = P

mysql> SELECT * FROM mahasiswa WHERE agama=’KRISTEN’ AND  jk=’P’;

+———-+——-+————+—————+———+——+
| nim      | nama  | tglhr      | almt          | agama   | jk   |
+———-+——-+————+—————+———+——+
| 07310005 | TITIN | 1988-11-29 | JL. BROMO 342 | KRISTEN | P    |
+———-+——-+————+—————+———+——+
1 row in set (0.00 sec)

menampilkan data jumlah mahasiswa berdasarkan kelompok agama

mysql> SELECT agama, COUNT(*) AS jumlah FROM mahasiswa GROUP BY agama;
+———–+——–+
| agama     | jumlah |
+———–+——–+
| BUDHA     |      2 |
| ISLAM     |      2 |
| KATOLIK   |      1 |
| KRISTEN   |      1 |
| PROTESTAN |      1 |
+———–+——–+
5 rows in set (0.38 sec)

menampilkan data jumlah mahasiswa berdasarkan kelompok jenis kelamin jk

mysql> SELECT jk AS ‘Jenis Kelamin’, COUNT(*) AS jumlah FROM mahasiswa GROUP BY jk;

+—————+——–+
| Jenis Kelamin | jumlah |
+—————+——–+
| L             |      4 |
| P             |      3 |
+—————+——–+
2 rows in set (0.00 sec)

menampilkan data jumlah mahasiswa berdasarkan kelompok jenis kelamin jk

mysql> SELECT IF(jk=’L’,’LAKI-LAKI’,’PEREMPUAN’) AS ‘jenis kelamin’,
-> COUNT(*) AS ‘jumlah’ FROM mahasiswa GROUP BY jk;

+—————+——–+
| jenis kelamin | jumlah |
+—————+——–+
| LAKI-LAKI     |      4 |
| PEREMPUAN     |      3 |
+—————+——–+
2 rows in set (0.00 sec)

menampilkan data nama mahasiswa dan menentukan jumlah karakternya

mysql> SELECT nama, length(nama) AS ‘panjag karakter’ FROM mahasiswa;

+———–+—————–+
| nama      | panjang karakter|
+———–+—————–+
| ALI OPAN  |               8 |
| SANUSI    |               6 |
| ISPANI    |               6 |
| SANTI     |               5 |
| TITIN     |               5 |
| CHEN SYI  |               8 |
| BERNAD    |               6 |
+———–+—————–+
7 rows in set (0.36 sec)

2. Merubah Data

Jika ada terjadi kesalahan data yang dientri kedalam tabel dan akan dilakukan perubahan
terhadap isi tabel dapat dilakukan perintah query berikut ini:

mysql> UPDATE nama_tabel SET nama_field_yg_dirubah=’isikan data yang sebenarnya’

sebagai contoh pada tabel mahasiswa terdapat kesalahan nama untuk nim = 07310001 maka
untuk merubahnya dapat dilakukan query berikut ini:

mysql> UPDATE mahasiswa SET nama=’ALI TOPAN’ WHERE nim=’07310001′;
Query OK, 1 row affected (0.09 sec)
Rows matched: 1  Changed: 1  Warnings: 0

kemudian cek kembali data dalam tabel lihat perubahan nama pada data nim=’07310001′

mysql> SELECT * FROM mahasiswa;

+———-+———–+————+—————-+———+——+
| nim      | nama      | tglhr      | almt           | agama   | jk   |
+———-+———–+————+—————-+———+——+
| 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK | L    |
| 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM   | L    |
| 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM   | L    |
| 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | KRISTEN | P    |
| 07310005 | TITIN     | 1988-11-29 | JL. BROMO 342  | KRISTEN | P    |
| 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA   | L    |
| 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA   | P    |
+———-+———–+————+—————-+———+——+
7 rows in set (0.00 sec)

sebagai latihan rubahlah data untuk field agama dari KRISTEN menjadi PROTESTAN. Dapat di
lakukan query berikut ini:

mysql> UPDATE mahasiswa SET agama=’PROTESTAN’ WHERE agama=’KRISTEN’;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

kemudian cek kemabli data mahasiswa

mysql> SELECT * FROM mahasiswa;

+———-+———–+————+—————-+———–+——+
| nim      | nama      | tglhr      | almt           | agama     | jk   |
+———-+———–+————+—————-+———–+——+
| 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
| 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
| 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
| 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | PROTESTAN | P    |
| 07310005 | TITIN     | 1988-11-29 | JL. BROMO 342  | PROTESTAN | P    |
| 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA     | L    |
| 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA     | P    |
+———-+———–+————+—————-+———–+——+
7 rows in set (0.00 sec)

3. Menghapus Data

Jika hehdak melakukan penghapusan data dari dalam tabel maka dapat dilakukan sebagai berikut:

mysql> DELETE FROM nama_tabel WHERE kriteria

lakukanlah penghapusan data untuk data TITIN

mysql> DELETE FROM mahasiswa WHERE nim=’07310005′;
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM mahasiswa;

+———-+———–+————+—————-+———–+——+
| nim      | nama      | tglhr      | almt           | agama     | jk   |
+———-+———–+————+—————-+———–+——+
| 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
| 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
| 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
| 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | PROTESTAN | P    |
| 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA     | L    |
| 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA     | P    |
+———-+———–+————+—————-+———–+——+
6 rows in set (0.00 sec)

Jika akan menghapus data secara per group dapat dilakukan seprti berikut ini:

mysql> DELETE FROM mahasiswa WHERE agama=’BUDHA’;
Query OK, 2 rows affected (0.00 sec)

mysql> SELECT * FROM mahasiswa;

+———-+———–+————+—————-+———–+——+
| nim      | nama      | tglhr      | almt           | agama     | jk   |
+———-+———–+————+—————-+———–+——+
| 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
| 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
| 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
| 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | PROTESTAN | P    |
+———-+———–+————+—————-+———–+——+
4 rows in set (0.00 sec)

 
Tinggalkan komentar

Ditulis oleh pada Maret 21, 2014 in Basis Data II, Mata Kuliah Teknik

 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: