PRAKTIKUM BASIS DATA MODUL 1
MEMBUAT DATABASE/TABEL DAN MEMODIFIKASI STRUKTUR TABEL
PENGANTAR
MySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau
RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya
Data yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai dari data tersebut. Nilai
data dalam field memiliki tipe sendiri-sendiri. MYSQL mengenal beberapa tipe data field yaitu :
1. Numerik, untuk data dengan nilai berupa nomor atau angka. Contoh tipe data ini adalah integer
(INT), floating-point (FLOAT,DOUBLE), fixed-point(DECIMAL)
2. String, untuk data dengan nilai berupa rangkaian karakter. Contoh : CHAR, VARCHAR
3. Tanggal dan waktu, digunakan untuk data yang berupa tanggal dan waktu. Daftar tipe data
untuk tanggal dan waktu yang dapat digunakan diperlihatkan pada tabel 1.
Tabel 1. Tipe data tanggal dan waktu
MySQL syntax:
1. SHOW
Berfungsi untuk melihat list/daftar dari database atau tabel yang sudah dibuat.
Melihat daftar database yang sudah dibuat
SHOW databases;
Melihat daftar tabel yang sudah dibuat
SHOW tables;
2. USE
Digunakan untuk memilih database yang ingin digunakan. Data Type Format
DATE 'YYYY-MM-DD'
TIME 'hh:mm:ss'
DATETIME 'YYYY-MM-DD hh:mm:ss'
TIMESTAMP 'YYYY-MM-DD hh:mm:ss'
USE nama_database;
3. CREATE
Digunakan untuk membuat database atau tabel baru
Membuat database baru
CREATE DATABASE nama_database;
Membuat tabel baru
CREATE TABLE nama_tabel (
nama_kolom_1 tipe_data_kolom_1, nama_kolom_2 tipe_data_kolom_2,
………
nama_kolom_N tipe_data_kolom_N,
PRIMARY KEY (kolom_primary_key))
ENGINE=tipe_storage_engine;
Tipe storage engine dapat dipilih dari beberapa tipe engine yang didukung oleh MySQL
diantaranya InnoDB, MyISAM, dan MEMORY.
4. DESC
Digunakan untuk melihat struktur dari sebuah tabel
DESC nama_tabel;
Atau
SHOW COLUMNS FROM nama_tabel;
5. DROP
Digunakan untuk menghapus database atau tabel
Menghapus database
DROP DATABASE nama_database;
Menghapus tabel
DROP Table nama_tabel;
6. ALTER TABLE
Digunakan untuk mengganti struktur tabel misalnya menambahkan atau menghapus kolom dari
tabel dan mengganti nama table atau kolom.
Menambahkan kolom pada tabel
Menghapus kolom dari tabel
ALTER TABLE nama_tabel DROP nama_kolom;
Merubah tipe data
ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data_baru;
Mengganti nama kolom
ALTER TABLE nama_tabel CHANGE nama_kolom nama_kolom_baru tipe_data;
Mengganti definisi kolom dari NULL ke NOT NULL dan sebaliknya
Dengan menggunakan perintah MODIFY atau CHANGE, dapat dilakukan penetapan apakah
kolom bisa atau tidak memiliki nilai NULL. Berikut ini adalah contoh untuk merubah kolom yang
dapat bernilai NULL menjadi NOT NULL
ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data NOT NULL;
ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data NOT NULL DEFAULT
nilai_default
Mengganti nama tabel
ALTER TABLE nama_tabel RENAME TO nama_tabel_baru;
Mengganti tipe tabel/storage engine
ALTER TABLE nama_tabel TYPE tipe_storage_engine_baru;
LATIHAN:
1. Buatlah database TUTORIALS
CREATE DATABASETUTORIALS;
2. Gunakan database TUTORIALS dan buat tabel dengan nama tutorial_tbl
USE TUTORIALS;
CREATE TABLE tutorials_tbl(
tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author VARCHAR(40) NOT NULL, submission_date DATE,
PRIMARY KEY ( tutorial_id )
3. Periksa struktur tabel tutorial_tbl
DESC tutorials_tbl
4. Ganti nama kolom tutorial_author menjadi author
ALTER TABLE tutorials_tbl CHANGE tutorial_author author VARCHAR(40);
5. Ganti ukuran tipe data kolom tutorial_title dari 100 menjadi 200
ALTER TABLE tutorials_tbl MODIFY tutorial_title VARCHAR(200);
6. Periksa kembali struktur tabelnya
7. Ganti tipe tabel dari InnoDB menjadi MyISAM
ALTER TABLE tutorials_tbl TYPE MyISAM;
8. Periksa apakah tipe tabel/storage engine telah berubah atau tidak dengan perintah berikut:
SHOW TABLE STATUS LIKE 'tutorials_tbl'\G
TUGAS
1. Buatlah database baru dengan nama perpustakaan
2. Buatlah tabel dalam database perpustakaan dengan struktur sebagai berikut
Struktur tabel daftar_buku
Kolom Tipe Data Auto Increment NULL/NOT NULL Key
id_buku INT Yes NOT NULL Primary Key
Judul VARCHAR(300) NOT NULL
penulis VARCHAR(40) NOT NULL
id_penerbit INT NULL
thn_terbit YEAR NULL
tgl_masuk DATE NOT NULL
Struktur tabel daftar_penerbit
Kolom Tipe Data Auto Increment NULL/NOT NULL Key
id_penerbit INT Yes NOT NULL Primary Key
alamat VARCHAR(200) NULL
kota INT NULL