PEMBUATAN DAN MANAJEMEN TABEL
A. MATERI
Pada kesempatan kedua ini saya akan berbagi pengetahuan kepada teman-teman tentan pembuatan dan manajemen table. SQL (Structured Query Language) atau Struktur Bahasa Query merupakan suatu perintah bahasa (Language) yang digunakan untuk mengakses dan mengolah suatu data dalam database. SQL dikenalkan pertama kali oleh IBM pada tahun 1970 yang pada akhirnya digunakan sebagai standar internasional ISO dan ANSI untuk pengelolaan database. Pada dasarnya terdapat 2 jenis perintah SQL, yaitu :
- DDL atau Data Definition Language
DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini adalah database dan table. Ada beberapa macam perintah DDL pada SQL ini, yaitu :
- CREATE
- ALTER
- RENAME
- TRUNCATE (untuk MySQL)
- DROP
- DML atau Data Manipulation Language
DML merupakan suatu perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record yang terdapat dalam table database. Beberapa macam perintah DML SQL, yaitu :
- INSERT
- UPDATE
- SELECT
- DELETE
Software DBMS (DataBase Management System) yang menggunakan perintah SQL sekarang ini sudah semakin banyak, seperti MySQL, PostgreSQL, SQLite3, Firebird, Oracle, Microsoft SQL Server, dan lain sebagainya
PERINTAH DDL (DATA DEFINNITION LANGUAGE) SQL
- Menciptakan Database dan Tabel Baru (CREATE)
Pada dasarnya perintah yang digunakan di SQL tergolong lebih mudah dipahami, karena perintah yang digunakan lebih spesifik ke bahasa inggris tidak seperti bahasa pemrograman lainnya. Pada kasus ini software DBMS yang digunakan untuk menjelaskan dan menerapkan perintah SQL adalah software MySQL karena free. Perintah untuk menciptakan suatu database baru yaitu :
Mysql> CREATE DATABASE siswa;
- Mengubah Struktur Tabel Database (ALTER TABLE)
Perintah SQL dalam pengolahan database memang sudah tidak diragukan lagi, baik pengolahan melalui grafikal atau wizard sampai dalam perintah under text. Tanpa terkecuali perintah untuk mengubah struktur tabel melalui perintah command line, berikut perintah untuk mengubah struktur tabel :
- Menambah struktur kolom pada tabel
- Untuk menambah struktur kolom pada tabel, perintah SQL nya seperti berikut :
ALTER TABEL namatabel ADD kolombaru tipedata(nilai_value);
Contoh :
- Menghapus struktur kolom pada tabel
- Untuk menghapus struktur kolom pada tabel, syntax atau perintah SQL nya seperti berikut :
ALTER TABLE namatabel DROP kolomtabel tipedata;
- Mengganti Nama Tabel (RENAME)
Pada tabel database, biasanya admin mempunyai kesalahan dalam penamaan sebuah tabel semisal harusnya nama tabelnya adalah tbl_user namun dalam pembuatan nama tabelnya adalah user, untuk mengatasi masalah kekeliruan dalam penamaan tabel, SQL memberi bantuan dalam proses penggantian nama dengan perintah SQL seperti berikut :
RENAME TABLE namatabel TO namatabelbaru;
- Mengosongkan Data Dari Tabel (TRUNCATE)
Untuk mengosongkan data dari tabel yang sudah tidak terpakai, tidak perlu menghapus datanya satu persatu, namun bisa sekali perintah data dari tabel tersebut akan terhapus semua. Perintah ini khusus hanya untuk software DBMS MySQL dan sejenisnya. Perintahnya seperti berikut :
TRUNCATE namatabel;
- Menghapus Database dan Tabel (DROP)
Untuk menghapus database atau tabel yang tidak terpakai, perintah SQL untuk menghapus database adalah sebagai berikut :
DROP DATABASE nama_database;
Sedangkan perintah SQL untuk menghapus tabel database adalah sebagai berikut :
DROP TABLE namatabel;
- PERINTAH DML (DATA MANIPULATION LANGUAGE) SQL
- Memasukkan Data Ke Dalam Tabel (INSERT)
Di dalam perintah SQL, pengolahan data tabel sangat penting bagi pengguna komputer yang menggunakan database dengan perintah SQL. Perintah SQL untuk memasukkan data ke dalam tabel adalah sebagai berikut :
INSERT INTO namatabel (kolom1,kolom2,kolom3)VALUES(‘isidata1’,’isidata2’,’isidata3’);
- Memperbarui Data dalam Tabel (UPDATE)
Terkadang admin atau user dalam memasukkan data ke dalam tabel pernah melakukan kesalahan, karena itu perintah memperbarui atau mengupdate sangat diperlukan dalam pengolahan database. Perintah SQL untuk memperbarui data ada beberapa macam, seperti mengupdate salah satu atau beberapa data saja, atau bahkan mengganti semua data dalam satu perintah.
- Memperbarui data berdasarkan salah satu atau beberapa data yang dipilih dari kolom yang sama.
- Untuk memperbarui data berdasarkan salah satu atau beberapa data yang dipilih, perintah SQL nya adalah sebagai berikut :
UPDATE namatabel SET namakolom=’isi record baru’ WHERE namakolom=’isi record lama’;
Perintah untuk memperbarui isi data atau record sesuai dari kolom yang berbeda yang dicari adalah sebagai berikut :
UPDATE namatabel SET namakolom1=’isi data pengganti’ WHERE namakolom2=’isi data’;
- Memilih dan Menampilkan Data Dari Tabel (SELECT)
Untuk menampilkan data dari tabel database ada berbagai macam cara.
- Menampilkan semua data dari tabel database.
- Perintah untuk menampilkan semua data dari tabel adalah sebagai berikut :
SELECT * FROM namatabel; atau
SELECT namakolom1,namakolom2,namakolom3,namakolom4 FROM namatabel;
- Menghapus Data dari Tabel (DELETE)
Menghapus data dari tabel terdapat beberapa macam, seperti menghapus hanya salah satu atau beberapa data saja, atau menghapus semua data yang ada dalam tabel.
- Menghapus Semua Data dalam Tabel.
- Untuk menghapus semua data dari dalam tabel, perintah SQL nya seperti berikut :
DELETE FROM namatabel;
- Menghapus sebagian data dalam tabel.
Untuk menghapus sebagian data dari dalam tabel, perintah SQL nya adalah sebagai berikut :
DELETE FROM namatabel WHERE namakolom=’isi data’;
Kemudian untuk query yang digunakan pada SQLShell, sebagai berikut:
- Pembuatan table dan fieldnya dengan menggunakan SQL Shell.
– Log out dengan perintah \q,
– Log in kembali dengan menggunakan username dan database yang telah anda buat,
– Ketik :
CREATE(spasi)TABLE(spasi)namatabel(spasi)([namafield](spasi)[tipedata](spasi)[keterangan], [namafield](spasi)[tipedata], [namafield](spasi)[tipedata]);
– Tunggu, sampai muncul tulisan CREATE TABLE di baris selanjutnya.
– Cek keberadaannya. Caranya gampang kok, ketik :
\d : untuk lihat keberadaan tabel.
\d(spasi)namatabel : untuk melihat struktur (field) tabel.
- Hapus kolom dengan menggunakan SQLShell.
Ada kolom yang gak terpakai ternyata, tenaaang jangan khawatir. Bisa dihapus kok. Nich caranya :
– Liat struktur tabelnya dulu, biar gak salah hapus. \d(spasi)namatabel. Setelah muncul baru dech ditentukan mana yang mau dihapus.
– Ketik :
ALTER(spasi)TABLE(spasi)namatabel(spasi)DROP(spasi)COLUMN(spasi)”namafield”;
- Tambah kolom dengan menggunakan SQLShell.
Tenang… tenang gak usah heboh sendiri kalo ternyata tabelnya kurang. Tambahkan aja, hehehe. Gini caranya :
– Ketik :
ALTER(spasi)TABLE(spasi)namatabel(spasi)ADD(spasi)COLUMN(spasi)([namafield](spasi)[tipedata], [namafield](spasi)[tipedata]);
- Ubah nama tabel dengan menggunakan SQLShell.
Uups, ada yang salah ternyata. Nama tabelnya bukan ”pegawai” tapi “pekerja”. Santai masbroow/mbakbroow. Itu masalah mudah, ane kasih tau caranya yaaaa. . .
– Ketik :
ALTER(spasi)TABLE(spasi)namatabelawal(spasi)RENAME(spasi)TO(spasi)namatabelbaru;
- Ubah nama kolom dengan menggunakan SQLShell :
– Ketik :
ALTER(spasi)TABLE(spasi)namatabel(spasi)”namafieldawal”(spasi)RENAME(spasi)TO(spasi)”namafieldbaru”;
- Menambahkan primary key dengan SQLShell
– Ketik :
ALTER(spasi)TABLE(spasi)nama_tabel(spasi)ADD PRIMARY KEY(spasi)(nama_kolom);
- Hapus tabel dengan menggunakan SQLShell.
– Ketik :
DROP(spasi)TABLE(spasi)nama_tabel;
- Membuat table temporary (sementara) dengan SQLShell.
– Ketik :
CREATE(spasi)TEMPORARY(spasi)TABLE(spasi)nama_tabel(spasi)(nama_kolom(spasi)tipedata(spasi)keterangan, nama_kolom(spasi)tipedata(spasi)keterangan);
- Membuat Turunan (Inheritance) dengan SQLShell.
– Ketik :
CREATE(spasi)TABLE(spasi)nama_tabel(spasi)(nama_kolom(spasi)tipedata(spasi)keterangan,nama_kolom(spasi)tipedata(spasi)keterangan)(spasi)INHERITS(spasi)(nama_tabel_induk);
10. Memberi hak akses dan menghapus hak akses dengan mengguanakan SQLShell.
– Ketik :
GRANT(spasi)ALL(spasi)ON(spasi)TABLE(spasi)nama_table(spasi)TO(spasi)nama_user;
– Ketik :
REVOKE(spasi)ALL(spasi)ON(spasi)TABLE(spasi)nama_tabel(spasi)FROM(spasi)nama_user;
11. Menghapus hak akses “SELECT” dengan SQLShell.
– Ketik :
REVOKE(spasi)SELECT(spasi)ON(spasi)TABLE(spasi)nama_tabel(spasi)FROM(spasi)nama_user;
- HASIL PRAKTIKUM
Menggunakan SQLShell:
- Pertama pembuatan table dengan nama identitasNIM
Gambar 1 Query Membuat Tabel IdentitasNIM dan Struktur Tampilannya
Untuk menampilkan strukturnya:
\d identitasNIM
- Membuat tabel lagi dengan nama pegawai.
Gambar 2 Query Membuat Tabel Pegawai dan Struktur Tampilannya
- Kemudian menghapus kolom alamat_idn dan menampilkan struktur tampilannya
Gambar 3 Query untuk Drop Kolom alamat_idn dan Struktur Tampilannya
- Menambahkan kolom baru dengan nama pekerjaan_idn dan type data varchar
Gambar 4 Query untuk Menambahkan Kolom pekerjaan_idn dan Struktur Tampilannya
- Langkah selanjutnya kita merubah nama tabel pegawai menjadi pekerja13650073. Kemudian merubah nama kolom pekerjaan_idn menjadi alamat_idn.
Kita lakukan pengecekan dengan:
\d pekerja13650073
Gambar 5 Query Merubah Nama Tabel dan Kolom
- Memberi Primary Key pada tabel pekerja13650073 dan mengubah tipe data pada kolom alamat_idn menjadi Text.
Gambar 6 Query untuk Memberi Primary Key dan Mengubah Type Data
- Menghapus tabel pekerja13650073
Gambar 7 Query Drop Table PekerjaNIM
Kemudian kita cek dengan mengetik \d
- Membuat temporary table dengan nama mahasiswa_sementara yang memiliki kolom id, nama, tanggal lahir.
Kita tampilkan struktur tampilannya dengan:
\d mahasiswa_sementara
Gambar 8 Query Temporay Table dan Struktur Tampilannya
- Sekarang kita memasuki tahap Revoke dan Grant.
Pertama, untuk menghapus semua hak akses user tertentu
Gambar 9 Query Revoke All Tabel untuk User Ratih
Kemudian kita lakukan pengecekan dengan cara membuka jendela baru sqlshell dan hasilnya Permission Denied. Berhasil.
Gambar 10 Akses User Ratih Ditolak
Kedua, kita pulihkan hak akses user ratih dengan Grant.
Gambar 11 Query Grant Akses untuk User Ratih
Kita lakukan pengecekan setelah perintah Grant dan hasilnya. Akses diterima. Berhasil.
Gambar 12.1 Pengecekan Akses Setelah Perintah Grant
Ketiga, kita mencoba untuk menghapus hak akses SELECT tabel tertentu kepada salah satu user.
Gambar 12.2 Query Revoke Select untuk User Ratih
Gambar 12.3 Struktur Tampilan Akses Select Ditolak
- Membuat tabel dengan nama gaji dengan catatan pembuatan tabel berasal dari turunan tabel nomor 1. Kemudian kita tambahkan kolom gaji kotor, pajak, dan gaji_bersih.
Gambar 13 Query Inheritance dan Struktur Tampilannya
Copyright@ ratih mayllia dewi 13650073
Versi kedua menggunakan MySQL:
- Berikut tampilan query untuk membuat tabel identitasNIM.
Gambar 14 Query Create Table IdentitasNIM
- Membuat tabel pegawai
Gambar 15 Query Create Table Pegawai
- Menghapus field alamat_idn pada tabel pegawai.
Gambar 16 Query Drop Kolom Tertentu
Dan hasilnya…
Gambar 17 Struktur Tampilan Tabel Pegawai
Field alamat_idn terhapus.
- Menambahkan field pekerjaan_idn pada tabel pegawai.
Gambar 18 Query Menambahkan Field Baru
Berikut struktur tampilan setelah penambahan field baru.
Gambar 19 Struktur Tampilan Tabel Pegawai
- Merubah nama tabel pegawai menjadi pekerja13650073. Dan mengganti nama field pekerjaan_idn menjadi alamat_idn
Gambar 20 Query Mengganti Nama Tabel
Gambar 21 Struktur Tampilan Seluruh Tabel
Gambar 22 Query Mengganti Nama Field
Gambar 23 Struktur Tampilan Tabel Pekerja13650073
- Memberikan primary key pada tabel pekerja13650073 dan ubah type data pada field alamat_idn menjadi Text.
Gambar 24 Query untuk Memberi Primary Key
Gambar 25 Struktur Tampilan Field sebagai Primary Key
Gambar 26 Query Mengubah Type Data
Gambar 27 Struktur Tampilan Tabel Pegawai
- Menghapus tabel pekerja13650073.
Gambar 28 Query Menghapus Tabel
- Membuat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir.
Gambar 29 Query dan Struktur Tampilan Temporary Tabel dengan CMD
Kita bisa membuat temporary tabel pada phpmyadmin akan tetapi struktur tampilan tidak dapat diperlihatkan untuk itu saya menggunakan alternatif lain yaitu menggunakan Command Prompt atau CMD. Pertama kita harus mengetikan query untuk user root dan use postgres untuk databasenya. Setelah itu kita bisa bermain query pada CMD. CMD ini terhubung dengan phpmyadmin. Jadi temen-temen tidak ada hal yang perlu dikhawatirkan.
- Menghapus semua hak akses tabel tertentu kepada salah satu user yang telah dibuat dan.
Gambar 30 Mencabut Semua Hak Akses User Tertentu
Kemudian berikan semua hak akses kembali dan lakukan pengecekan kembali.
Gambar 31 Memberi Kembali Semua Hak Akses
Selanjutnya kita masuk sebagai user Ratih dan mencoba akses tabel. Dan hasilnya, berhasil.
Gambar 32 Pengecekan Menggunakan User Ratih
Perintah selanjutnya menghapus hak akses SELECT tabel tertentu kepada salah satu user dan lakukan pengecekan.
Gambar 33 Mencabut Hak Akses Select
10. Membuat tabel baru dengan nama gaji dan isi tabel sama dengan nomor satu ditambah gaji kotor, pajak, dan gaji bersih.
Gambar 34 Query Tabel Gaji dan Struktur Tampilannya
Copyright@ ratih mayllia dewi 13650073
C. EVALUASI PERBANDINGAN DBMS POSTGRES DAN MYSQL
Terdapat perbedaan query antar DBMS Postgres dan MySQL, yaitu:
Untuk menghapus kolom:
Postgres: Alter table namatabel DROP COLUMN “namakolom”;
MySQL: Alter table namatable DROP ‘namakolom’;
Menambahkan kolom:
Postgres: Alter table namatabel ADD COLUMN “namakolombaru” tipedata;
MySQL: Alter table namatabel ADD namakolombaru tipedata;
Merubah nama kolom:
Postgres: Alter tabel nama tabel RENAME COLUMN “namakolomlama” to namakolombaru;
MySQL: Alter table ‘namatabel’ CHANGE ‘namakolomlama’ ‘namakolombaru’ tipedata;
Mengubah type data:
Postgres: Alter table namatabel ALTER COLUMN namakolom TYPE typedatabaru;
MySQL: Alter table ‘namatabel’ CHANGE ‘namakolom’ ‘namakolom’ tipedatabaru;
Revoke dan Grant:
Postgres: Revoke all on table namatabel FROM namauser;
Grant all on table namatabel TO namauser;
MySQL: Revoke all on namadatabes.namatabel FROM ‘namauser’@’localhost’;
Grant all on namadatabes.namatabel TO ‘namauser’@’localhost’;
D. KESIMPULAN
Dalam pembuatan tabel terdapat beberapa perintah query dasar seperti alter, create, grant, revoke dan drop. Sub-sub query untuk menyempurnakan perintah query dasar yakni add, rename to, change dan lain sebagainya. Kita harus teliti dan paham betul kegunaan setiap kata query setelah itu kita dapat memanajemen tabel dengan baik. Untuk mempermudah mengikuti langkah teman-teman bisa menggunakan SQLShell dan MySQL CMD untuk evaluasi perbandingannya. Karena beberapa fitur phpmyadmin terkadang tidak mendukung dalam hal compare dengan SQLShell. Masukan-masukan yang membangun sangat saya apresiasi dan terima demi kesempurnaan project berikutnya. Pembuatan dan manajemen tabel sangat bermanfaat untuk kita apabila ingin membangun sebuah database yang sempurana. Sekian dan selamat belajar.
DAFTAR PUSTAKA
http://www.slideshare.net/RatihMaylliaDewi/savedfiles?s_title=perintah-bahasa-sql&user_login=dekabhinus
PEMBUATAN dan MANAJEMEN TABEL
http://beginner-sql-tutorial.com
http://firmanhidayah.blogspot.com/2012/04/mysql-temporary-tables.html