Anda di halaman 1dari 9

TUGAS PRAKTIKUM BASIS DATA

MODUL 3 DAN 4

Disusun oleh :
ADHYNDHA ALIFYAA
202111014
KELAS B (SORE)

FAKULTAS TEKNIK INFORMATIKA


STIMIK SEPULUH NOPEMBER JAYAPURA
Modul 4
Mengubah Struktur Tabel
Tugas Pendahuluan
1. Hafalkan macam-macam “[perubahan]” pada perintah “Alter” beserta
fungsinya.
Perintah ALTER digunakan untuk mengubah struktur table dalam sebuah database.
Perubahan struktur yang dapat dilakukan adalah merubah nama kolom , nama table,
merubah tipe data, menambah kunci, menghapus kolom yang ada.

Macam-macam [perubahan] pada perintah Alter beserta fungsinya :


1.) Mengubah nama kolom
Berfungsi mengubah nama (rename) kolom. Seperti, saya merubah nama kolom dari
tanggal_lahir menjadi tgl_lahir (supaya lebih pendek). Perlu diperhatikan
penggantian nama kolom lama dengan kolom baru hanya dipisahkan dengan spasi.
Setelah itu, kita sebutkan lagi tipe datanya.
2.) Mengubah nama tabel
Berfungsi mengubah nama (rename) table. Seperti, merubah tabel daftar_jurusan
menjadi tabel_jurusan
3.) Menambah kolom baru dalam tabel
Seperti, untuk menambahkan kolom tanggal_lahir. Tipe data yang saya gunakan adalah
date (tanggal) karena hanya akan diisi dengan tanggal saja.
4.) Menambah kolom baru setelah kolom lain
Seperti, tambahkan kolom tempat_lahir setelah kolom nama_belakang.
5.) Menambahkan kolom baru pada index pertama
Seperti,
MariaDB [sekolah]> ALTER TABLE siswa
-> ADD COLUMN
-> nis smallint(5)
-> FIRST;
Query OK, 0 rows affected (0.70 sec)

6.) Menghapus kolom dalam sebuah table


Berfungsi untuk menghapus kolom yang tidak kita inginkan. IF EXISTS digunakan
untuk menghindari error terjadi. Jadi, hanya hapus kolom jika memang ada (if exists).
Jika kolom yang ingin kita hapus ternyata tidak ada, maka hanya akan terdapat
peringatan bukannya error.
7.) Modifikasi kolom, Ubah tipe data/ definisi kolom
Seperti, saya ingin merubah tipe data untuk kolom tempat_lahir yang sebelumnya
memiliki tipe data char(10), misalkan saya ingin merubah ke tipe data varchar(15).
Selain itu juga, saya pindahkan posisinya setelah kolom tanggal_lahir (terakhir).

2. Buat Laporan mengenai cara penggunaan alter


1.) Cara Merubah Tipe Data Kolom MySQL
Sesaat setelah membuat tabel daftar_jurusan, saya berfikir untuk merubah tipe data pada
kolom jumlah_mahasiswa dari SMALLINT menjadi MEDIUMINT agar dapat
menampung lebih banyak nilai. Perubahan ini dapat dilakukan dengan mengunakan
query ALTER…MODIFY sebagai berikut:

ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data_baru;

Contoh query Alter…Modify:

1
2
3 mysql> ALTER TABLE daftar_jurusan MODIFY jumlah_mahasiswa MEDIUMINT;
4 Query OK, 0 rows affected (0.08 sec)
5 Records: 0  Duplicates: 0  Warnings: 0
6 mysql> DESC daftar_jurusan;
7 +------------------+--------------+------+-----+---------+-------+
| Field            | Type         | Null | Key | Default | Extra |
8
+------------------+--------------+------+-----+---------+-------+
9
| kode_jurusan     | char(5)      | YES  |     | NULL    |       |
1
0 | nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
1 | alamat           | varchar(100) | YES  |     | NULL    |       |
1 | jumlah_mahasiswa | mediumint(9) | YES  |     | NULL    |       |
1 +------------------+--------------+------+-----+---------+-------+
2 4 rows in set (0.01 sec)
1
3

Dari query DESC kita dapat melihat bahwa tipe data pada kolom jumlah_mahasiswa
telah berubah menjadi MEDIUMINT.

2.) Cara Merubah Nama Kolom Tabel MySQL

Untuk merubah nama kolom pada tabel yang sudah ada, dapat menggunakan perintah ALTER…
CHANGE, dengan format query sebagai berikut:
ALTER TABLE nama_tabel CHANGE nama_kolom nama_kolom_baru tipe_data;

Katakan kita ingin merubah nama kolom alamat menjadi alamat_jurusan agar menjadi lebih
spesifik, dapat dilakukan dengan query berikut:

Contoh query Alter…Change:

1 mysql> ALTER TABLE daftar_jurusan CHANGE alamat alamat_jurusan VARCHAR(100);


2 Query OK, 0 rows affected (0.06 sec)
3 Records: 0  Duplicates: 0  Warnings: 0
4  
5 mysql> DESC daftar_jurusan;
+------------------+--------------+------+-----+---------+-------+
6 | Field            | Type         | Null | Key | Default | Extra |
7 +------------------+--------------+------+-----+---------+-------+
8 | kode_jurusan     | char(5)      | YES  |     | NULL    |       |
9
| nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
10
11| alamat_jurusan   | varchar(100) | YES  |     | NULL    |       |
12| jumlah_mahasiswa | mediumint(9) | YES  |     | NULL    |       |
13+------------------+--------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
14

3.) Cara Merubah Nama Tabel MySQL


Untuk beberapa kasus tertentu, mungkin saja kita memutuskan untuk merubah nama
tabel MySQL. Untuk hal ini MySQL menyediakan query ALTER…RENAME TO
dengan format query:

ALTER TABLE nama_tabel_lama RENAME TO nama_tabel_baru;

Kita contohkan merubah tabel daftar_jurusan menjadi tabel_jurusan, maka


querynya:
Contoh query Alter…Rename To:

1
2
3
4
mysql> ALTER TABLE daftar_jurusan RENAME TO tabel_jurusan;
5 Query OK, 0 rows affected (0.06 sec)
6
7
 
mysql> DESC daftar_jurusan;
8 ERROR 1146 (42S02): Table 'mahasiswa.daftar_jurusan' doesn't exist
9  
1 mysql> DESC tabel_jurusan;
0 +------------------+--------------+------+-----+---------+-------+
1 | Field            | Type         | Null | Key | Default | Extra |
1 +------------------+--------------+------+-----+---------+-------+
1 | kode_jurusan     | char(5)      | YES  |     | NULL    |       |
2 | nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
1 | alamat_jurusan   | varchar(100) | YES  |     | NULL    |       |
3
| jumlah_mahasiswa | mediumint(9) | YES  |     | NULL    |       |
1 +------------------+--------------+------+-----+---------+-------+
4 4 rows in set (0.00 sec)
1
5
1
6

Dapat kita lihat bahwa setelah merubah nama tabel menjadi tabel_jurusan, tabel
daftar_jurusan sudah tidak terdapat lagi di dalam database mahasiswa.
Selain query ALTER…RENAME TO, terdapat juga perintah RENAME untuk
merubah nama tabel,format querynya:

RENAME TABLE nama_tabel_lama TO nama_tabel_baru;

Mari kita rubah kembali nama tabel tabel_jurusan menjadi daftar_jurusan:


Contoh query Alter…Rename To:

1
2
3
4
mysql> RENAME TABLE tabel_jurusan TO daftar_jurusan;
5 Query OK, 0 rows affected (0.07 sec)
6
7
 
mysql> DESC tabel_jurusan;
8 ERROR 1146 (42S02): Table 'mahasiswa.tabel_jurusan' doesn't exist
9  
1 mysql> DESC daftar_jurusan;
0 +------------------+--------------+------+-----+---------+-------+
1 | Field            | Type         | Null | Key | Default | Extra |
1 +------------------+--------------+------+-----+---------+-------+
1 | kode_jurusan     | char(5)      | YES  |     | NULL    |       |
2 | nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
1 | alamat_jurusan   | varchar(100) | YES  |     | NULL    |       |
3
| jumlah_mahasiswa | mediumint(9) | YES  |     | NULL    |       |
1 +------------------+--------------+------+-----+---------+-------+
4 4 rows in set (0.01 sec)
1
5
1
6

4.) Cara Menambahkan Kolom Baru pada Tabel MySQL


Andaikan beberapa saat kemudian kita berfikir untuk menambahkan kolom yang
berisi nama ketua jurusan ke dalam tabel daftar_jurusan, kita dapat saja menghapus
tabel dan membuat ulang, namun dengan menggunakan query ALTER…ADD,
menambahkan kolom baru dapat dilakukan dengan lebih mudah.

ALTER TABLE nama_tabel ADD nama_kolom_baru tipe_data;

Contoh query menambahkan kolom ketua_jurusan ke dalam tabel daftar_jurusan


adalah:
Contoh query Alter…Add:

1 mysql> ALTER TABLE daftar_jurusan ADD ketua_jurusan VARCHAR(50);


2 Query OK, 0 rows affected (0.02 sec)
3 Records: 0  Duplicates: 0  Warnings: 0
4  
5 mysql> DESC daftar_jurusan;
6
7
8
9 +------------------+--------------+------+-----+---------+-------+
1 | Field            | Type         | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
0
1 | kode_jurusan     | char(5)      | YES  |     | NULL    |       |
1 | nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
1 | alamat_jurusan   | varchar(100) | YES  |     | NULL    |       |
2 | jumlah_mahasiswa | mediumint(9) | YES  |     | NULL    |       |
1 | ketua_jurusan    | varchar(50)  | YES  |     | NULL    |       |
3 +------------------+--------------+------+-----+---------+-------+
1 5 rows in set (0.01 sec)
4
1
5

5.) Cara Menghapus Kolom Tabel MySQL


Kebalikan dari menambahkan kolom baru, query ALTER…DROP dapat digunakan
untuk menghapus sebuah kolom dari tabel MySQL.

ALTER TABLE nama_tabel DROP nama_kolom;

Mari kita contohkan dengan menghapus kolom ketua_jurusan dari tabel


daftar_jurusan:
Contoh query Alter…Drop:

1
2
3
mysql> ALTER TABLE daftar_jurusan DROP ketua_jurusan;
4 Query OK, 0 rows affected (0.04 sec)
5 Records: 0  Duplicates: 0  Warnings: 0
6
 
7 mysql> DESC daftar_jurusan;
8 +------------------+--------------+------+-----+---------+-------+
9 | Field            | Type         | Null | Key | Default | Extra |
1 +------------------+--------------+------+-----+---------+-------+
0 | kode_jurusan     | char(5)      | YES  |     | NULL    |       |
1 | nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
1 | alamat_jurusan   | varchar(100) | YES  |     | NULL    |       |
1
| jumlah_mahasiswa | mediumint(9) | YES  |     | NULL    |       |
2 +------------------+--------------+------+-----+---------+-------+
1 4 rows in set (0.01 sec)
3
1
4

6.) Cara Merubah Tipe Data Table (Table Engine) MySQL


MySQL menyediakan beberapa tipe data untuk beberapa keperluan, seperti tipe data
(disebut juga dengan engine tabel) MyISAM untuk tabel yang dioptimalisasikan
untuk keperluan pembacaan yang lebih sering, atau tipe data InnoDB untuk tabel
yang memerlukan transaksi.
Perubahan tipe data dari MyISAM ke InnoDB atau sebaliknya dapat menggunakan
perintah ALTER…ENGINE:

ALTER TABLE nama_tabel ENGINE = tipe_tabel;

Dalam MySQL versi 5.5 yang saya gunakan pada tutorial ini, default enginenya
adalah InnoDB, hal ini berbeda jika dibandingkan dengan versi MySQL sebelumnya
yang menggunakan tipe tabel MyISAM sebagai default.
Pada contoh query dibawah ini kita akan merubah tipe data tabel daftar_jurusan dari
InnoDB menjadi MyISAM.
Contoh query Alter…Engine:

1 mysql> SHOW TABLE STATUS WHERE NAME='daftar_jurusan' \G;


2  
3 ***************************1.row***************************
4 Name: daftar_jurusan
5 Engine: InnoDB
6 Version: 10
7 Row_format: Compact
8 Rows: 0
9 Avg_row_length: 0
10 Data_length: 16384
11 Max_data_length: 0
12 Index_length: 0
13 Data_free: 9437184
14 Auto_increment: NULL
15 Create_time: 2013-04-14 21:20:02
16 Update_time: NULL
17 Check_time: NULL
18 Collation: latin1_swedish_ci
19 Checksum: NULL
20 Create_options:
21 Comment:
22 1 row in set (0.00 sec)
23 ERROR:
24 No query specified
25  
26 mysql> ALTER TABLE daftar_jurusan ENGINE = MyISAM;
27 Query OK, 0 rows affected (0.06 sec)
28 Records: 0  Duplicates: 0  Warnings: 0
29  
30 mysql> SHOW TABLE STATUS WHERE NAME='daftar_jurusan' \G;
31  
32 ***************************1.row***************************
33 Name: daftar_jurusan
34 Engine: MyISAM
35 Version: 10
36 Row_format: Dynamic
37
38 Rows: 0
Avg_row_length: 0
39
Data_length: 0
40
Max_data_length: 281474976710655
41
Index_length: 1024
42
Data_free: 0
43
Auto_increment: NULL
44
Create_time: 2013-04-14 22:43:29
45 Update_time: 2013-04-14 22:43:29
46 Check_time: NULL
47 Collation: latin1_swedish_ci
48 Checksum: NULL
49 Create_options:
50 Comment:
51 1 row in set (0.00 sec)
52 ERROR:
53 No query specified
54 mysql>

Query SHOW TABLE STATUS digunakan untuk melihat engine apa yang
digunakan dalam sebuah tabel.

Kesimpulan Praktikum Modul 3

Type Data Field

Dapat mengetahui sebelum meng-create database, harus use krs terlebih dahulu,
kemudian meng-create table mahasiswa, lalu memasukkan data-data table mahasiswa.
Dan sesudah itu kita men-desc mahasiswa. Kemudian muncullah table mahasiswa sesuai
yang kita masukkan data-datanya tadi. Begitu juga dengan tabel matakuliah, tabel krs,
tabel Dosen, dan tabel mengajar. Tetapi ada sedikit perbedaan pada tabel krs dan tabel
mengajar, dalam kedua tabel tersebut menggunakan foreign. Dalam modul ini kita dapat
lebih memahami sintaks sql, dapat mengetahui , memahami dan menggunakan type-type
data padaMysql

Anda mungkin juga menyukai