Transcript Perintah Dasar MySQL (lanjutan)
Materi
Database Basics
SQL Scripts untuk DDL dan DML
Operasi CRUD
Operasi antar tabel
Tujuan Instruksional Khusus
Mahasiswa dapat merancang database sederhana sesuai kasus masing-masing kelompok
Database Basics
Database adalah suatu kumpulan data yang saling berhubungan yang diorganisasi sedemikian rupa sehingga kelak dapat dimanfaatkan dengan cepat dan mudah dan disimpan dalam media penyimpanan tertentu.
Database dapat dianggap sebagai suatu tempat untuk sekumpulan berkas data terkomputerisasi . Maksud dari database adalah untuk menyimpan semua data yang diinginkan dalam satu lokasi, sehingga pencarian data menjadi lebih mudah dan redundant dapat tereliminasi
Database Basics
Akses Data mencakup pemerolehan data maupun pemanipulasian seperti menambah , mengubah , dan menghapus data.
Dalam implementasinya, data berbentuk tabel. Tabel merupakan obyek database yang memuat record (row/baris) dimana masing-masing record tersebut merupakan gabungan dari beberapa sifat data yang identik. Nilai-nilai yang terkandung dalam sifat data tersebut disebut field.
Database Basics
Field/Column Record
SQL Scripts untuk DDL dan DML
Structured Query Language (SQL) merupakan standar dalam pengaksesan database relasional. Secara umum, SQL terbagi menjadi dua kategori pernyataan yaitu : 1.
2.
DDL (Data Definition Language) DML (Data Manipulation Language).
Data Definition Language
DDL adalah perintah-perintah yang biasa digunakan untuk mendefinisikan skema ke DBMS.
Skema adalah deskripsi lengkap tentang struktur field, record dan hubungan data pada basis data. Tugas utama skema adalah menjabarkan struktur basis data kepada DBMS Secara detail beberapa hal yang perlu dijabarkan pada DBMS adalah : nama database, nama record dan field field, nama field kunci, nama indeks dan field yang menjadi indeks
DDL (lanjutan)
Indeks merupakan suatu mekanisme digunakan pada basis data, yang yang lazim memungkinkan pengambilan data dapat dilakukan dengan cepat.
DDL juga dipakai untuk mendefinisikan subskema.
Subskema adalah view dari basis data.
Subskema merupakan himpunan bagian dari skema, dengan kata lain, subskema bisa mencakup sebagian atau seluruh skema.
Sebuah basis data hanya bisa mempunyai sebuah skema, tetapi bisa memiliki banyak subskema, tergantung oleh jumlah pengguna basis data.
Data Manipulation Language
DML adalah perintah-perintah yang digunakan untuk mengubah, memanipulasi data pada basis data.
Tindakan seperti menghapus, mengubah mengambil data menjadi bagian dari DML.
dan Secara khusus bagian DML ada yang disebut dengan DQL atau Query berarti pertanyaan atau permintaan.
Contoh Penggunaan DDL, DML dan DQL
DDL – Menciptakan Database bernama dbPenggajian
CREATE DATABASE dbPenggajian
DML – Memilih Database
Use dbPenggajian
DDL – Menciptakan tabel tLogin
CREATE TABLE tLogin ( UserID varchar(10) NOT NULL, Password varchar(32) NOT NULL, PRIMARY KEY (UserID) ) ENGINE=MyISAM;
Contoh Penggunaan DDL, DML dan DQL (lanjutan)
DML – Memasukan data ke tabel tLogin
INSERT INTO tlogin (`UserID`, `Password`) VALUES (‘moly', '1234'), (‘pegasus', ‘1235'), (‘mercury', ‘1236');
DQL – Menampilkan seluruh data dari tabel tLogin
SELECT * FROM tLogin ;
DDL – Menghapus tabel tLogin
DROP tLogin;
Operasi CRUD
CRUD merupakan singkatan dari Create Read Update Delete.
Operasi CRUD merupakan membutuhkan sebuah database.
operasi yang total
Perintah Dasar MySQL
Mengakses MySQL pertama kali Untuk menjalankan MySQL pertama kali cukup dengan mengetikkan perintah MySQL pada Command Prompt sebagai berikut :
C:\>mysql\bin>mysql –u root –h localhost
atau jika menggunakan XAMPP
C:\>XAMPP\mysql\bin>mysql –u root –h localhost
Perintah Dasar MySQL (lanjutan)
Lokasi MySQL berada pada direktori C:\mysql\bin.
Parameter mysql digunakan agar
System Prompt
berpindah ke MySQL Prompt, dan parameter -u (User) menunjuk kepada nama user yang akan login ke MySQL, parameter -h (Host) adalah menunjuk kepada mesin server yang menjalankan MySQL.
Biasanya juga ditambahkan parameter -p (Password) adalah menunjuk kepada password dari user yang akan login, jika menggunakan password.
Perintah Dasar MySQL (lanjutan)
Setelah memasukan Nama User, dan Host tekan enter sehingga hasilnya sebagai berikut :
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 27 Server version: 5.1.30-community MySQL Community Server (GPL Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
Perintah Dasar MySQL (lanjutan)
MySQL menampilkan selamat datang dilengkapi dengan nomor urut koneksi ke server MySQL (Connection id is 27) dan versi MySQL yang digunakan (version : 5.1.30- community).
Sebagai tanda bahwa MySQL server dalam keadaan siap menjalankan tugasnya akan tampil MySQL Prompt yang ditandai dengan mysql>
Perintah Dasar MySQL (lanjutan)
Menampilkan Database menggunakan perintah
Databases; SHOW Contoh : mysql> SHOW DATABASES; +-----------------------+ | Database | +-----------------------+ | information_schema | mysql | | | test +-----------------------+ 3 rows in set (0.00 sec) |
Perintah Dasar MySQL (lanjutan)
Perintah
Show Databases
akan menghasilkan atau menampilkan daftar database yang terdapat pada RDBMS MySQL Baris ‘
3 rows in set (0.00 sec)
’ menampilkan informasi tentang jumlah baris atau jumlah database yang dihasilkan oleh perintah MySQL (
Show Databases
), yang dilengkapi dengan jumlah waktu dalam satuan detik yang digunakan untuk memproses perintah MySQL tersebut.
Perintah Dasar MySQL (lanjutan)
Perintah untuk membuat database baru adalah :
Create Database Nama_Database; mysql> CREATE DATABASE dbMhs; Query OK, 1 row affected (0.02 sec)
Perintah Dasar MySQL (lanjutan)
Memilih atau menentukan database
Untuk menentukan atau memilih database yang akan digunakan (contoh dbMhs) adalah dengan cara memberi perintah USE/CONNECT Nama_Database;
mysql> USE dbMhs; Database changed Atau : mysql> CONNECT dbMhs; Connection id: 3 Current database: dbMhs
Perintah Dasar MySQL (lanjutan)
Perintah untuk membuat tabel baru adalah Create Table Nama_Table;
mysql> CREATE TABLE tMhs (
nim varChar(12) Not Null,
nama varChar(20) Not Null); Query OK, 0 rows affected (0.09 sec)
Perintah Dasar MySQL (lanjutan)
Pada tabel
tMhs
tersebut dibuat 2 field yang masing masing field diikuti oleh beberapa atribut, berikut penjelasan masing masing field :
1.
nim
adalah field yang menampung data-data nim mahasiswa dengan tipe data varchar dan lebar data sebanyak 12 digit maksimal.
2.
nama
adalah field yang menampung data-data nama mahasiswa dengan tipe data varchar dan lebar data sebanyak 20 digit.
Perintah Dasar MySQL (lanjutan)
Perintah untuk menampilkan struktur tabel ada dua macam yaitu :
mysql> SHOW COLUMNS FROM tMhs; atau mysql> DESCRIBE tMhs;
+------------+-------------+------+-----+---------+----------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------+ | nim | varchar(12) | | | | | | nama | varchar(20) | | | | | +------------+-------------+------+-----+---------+----------+ 2 rows in set (0.00 sec)
Perintah Dasar MySQL (lanjutan)
Perintah mengisi data
Pada MySQL terdapat beberapa cara mengisi data ke dalam table antara lain sebagai berikut :
INSERT INTO Nama_Tabel Set Kolom1 = ‘Data_Kolom1’, Kolom2 = ‘Data_Kolom2’; mysql> INSERT INTO tMhs
Set nim = ‘2005-12-001’,
nama = ‘Prasti’; Query OK, 1 row affected (0.00 sec)
Perintah Dasar MySQL (lanjutan)
Perintah mengisi data
Berikut adalah cara lain dalam memasukan data ke dalam suatu table :
mysql> INSERT INTO tMhs VALUES(‘2002-12-003’,’Jeniffer’); Query OK, 1 row affected (0.00 sec)
Perintah Dasar MySQL (lanjutan)
Menampilkan Data
Data yang kita masukan ke dalam tabel dapat di tampilkan menggunakan perintah sebagai berikut :
SELECT * FROM Nama_Tabel; mysql> SELECT * FROM tMhs;
+---------------+---------------+ | nim | nama | 2002-12-001 | Prasti | +---------------+---------------+ | | 2002-12-003 | Jeniffer +---------------+---------------+ 2 row in set (0.02 sec) |
Perintah Dasar MySQL (lanjutan)
Mengubah Struktur Tabel
Kadang-kadang dalam pembuatan suatu table ada field- field masih kurang sehingga perlu adanya penambahan satu atau lebih field dalam sebuah table. Untuk itu tidak perlu membuat table baru, karena MySQL telah menyedia-kan perintah untuk menambah atau menyisipkan field diantara field-field yang telah ada pada suatu table.
Perintah Dasar MySQL (lanjutan)
mysql> ALTER TABLE tMhs --> Add jurusan varChar(15) Not Null; Query OK, 1 row affected (0.06 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> DESCRIBE tMhs;
+------------+-------------+------+-----+---------+----------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------+ | nim | varchar(12) | | | | | | nama | varchar(20) | | | | | | jurusan | varchar(12) | | | | | +------------+-------------+------+-----+---------+----------+ 3 rows in set (0.02 sec)
Perintah Dasar MySQL (lanjutan)
Secara default setiap field yang baru ditambahkan akan menempati posisi terakhir seperti pada contoh di atas. Jika Anda ingin menempatkan diantara field yang ada misalnya field harus berada pada urutan ke 3 maka tambahkan perintah AFTER kemudian nama field sebelumnya .
mysql> ALTER TABLE tMhs
Add fakultas varChar(20) Not Null
AFTER nim; Query OK, 1 row affected (0.06 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> DESCRIBE tMhs;
Perintah Dasar MySQL (lanjutan)
Sebaliknya jika field-field yang Anda buat ternyata tidak berguna semuanya sehingga harus dihilangkan dari struktur table maka perintahnya adalah sebagai berikut :
mysql> ALTER TABLE tMhs DROP fakultas; Query OK, 1 row affected (0.05 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> DESCRIBE tMhs;
Perintah Dasar MySQL (lanjutan)
Mengubah Data
User bisa saja salah dalam menginputkan data ke dalam table, sehingga perlu adanya pengubahan data dalam field-field tertentu. Atau ada field baru ditambahkan ke dalam table sehingga datanya harus dimasukkan. Untuk keperluan ini MySQL telah menyediakan perintah sebagai berikut :
UPDATE Nama_Tabel SET Kolom = ‘Pengubahan_Data’ WHERE kriteria;
Perintah Dasar MySQL (lanjutan)
Mengubah Data
Contoh :
mysql> UPDATE tMhs Set nim = ‘2002-12-002’ WHERE nama = ‘Prasti’; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
Untuk melihat hasil pengubahan ketikan perintah berikut :
mysql> Select * FROM tMhs;
Perintah Dasar MySQL (lanjutan)
Menampilkan data dengan kriteria tertentu dapat dilakukan dengan menambahkan perintah WHERE.
mysql> SELECT * FROM tMhs WHERE nama = ’Prasti’;
Menampilkan data pada kolom tertentu. Kadang-kadang kita hanya membutuhkan data-data tertentu saja tanpa harus menampilkan semua isi data pada setiap kolom(field). Adapun perintahnya adalah Select Kolom1, Kolom2 From Nama_Tabel;
Perintah Dasar MySQL (lanjutan)
Adapun perintahnya adalah :
Select Kolom1, Kolom2 From Nama_Tabel;
Contoh :
mysql> SELECT nim, nama FROM tMhs; +---------------+--------------+ | nim | nama | +---------------+--------------+ | 2002-12-002 | Prasti | | 2002-12-003 | Jeniffer +---------------+--------------+ 2 rows in set (0.00 sec) |
Perintah Dasar MySQL (lanjutan)
Menampilkan data secara berurutan.
Bila kita ingin menampilkan data secara berurut cukup dengan menambahkan perintah ORDER BY sehinggga penulisan perintahnya adalah sebagai berikut :
SELECT * FROM Nama_Tabel ORDER BY Kolom_Yang_Akan_Diurut Jenis_Pengurutan
Perintah Dasar MySQL (lanjutan)
Jenis pengurutan ada dua yaitu Ascending (urut naik) dan Descending (urut turun). Contoh di bawah ini menggunakan jenis pengurutan Ascending, perhatikan nama berurut naik (alphabet) sedangkan pada kolom nim menjadi tidak berurutan karena yang diurutkan adalah kolom nama.
mysql> SELECT * FROM tMhs ORDER BY nama ASC; +-------------+------------+ | nim | nama | +-------------+------------+ | 2002-12-003 | Jeniffer | | 2002-12-002 | Prasti +-------------+------------+ 2 rows in set (0.00 sec) |
Perintah Dasar MySQL (lanjutan)
Perintah untuk menghapus data adalah :
DELETE FROM Nama_Tabel WHERE KRITERIA mysql> DELETE FROM tMhs WHERE nama = ‘Prasti’; Query OK, 1 row affected (0.03 sec)
Catatan :
MySQL tidak akan menanyakan konfirmasi ulang kepada Anda untuk menghapus atau membatalkan penghapusan data. Untuk itu pastikan bahwa data yang akan dihapus adalah data yang tepat. Sebab data yang telah dihapus tidak dapat dikembalikan dengan cara apapun (tidak ada perintah Undo atau Undelete seperti pada windows).
Perintah Dasar MySQL (lanjutan)
Menghapus tabel dan Database
Penghapusan tabel dan database dilakukan dengan perintah DROP Contoh Menghapus tabel :
mysql> DROP TABLE tMhs; Query OK, 0 row affected (0.00 sec)
Contoh Menghapus database :
mysql> DROP DATABASE dbMhs; Query OK, 0 row affected (0.01 sec)
Perintah Dasar MySQL (lanjutan)
Keluar dari MySQL
Untuk keluar dari MySQL kita dapat menggunakan salah satu dari perintah berikut ini :
1. mysql> Quit Bye 2. mysql> Exit Bye 3. mysql> \q Bye
Operasi antar tabel
Pada kenyataannya bahwa pembuatan sebuah system pasti tidak menggunakan satu table saja. Tentu ada operasi antar table disana. Hal ini memungkinkan untuk menampilkan data dari beberapa table dalam satu tampilan sekaligus. Penggabungan antar table ini disebut dengan JOIN, sedangkan hubungan antar table disebut dengan RELASI.
Dalam melakukan relasi antar table, maka perlu adanya join key yang nantinya akan menentukan record antar table dapat saling berhubungan.
Operasi antar tabel
Untuk memahami operasi antar tabel, maka siapkan database dengan 3 buah tabel sbb : Nama database : dbPegawai Nama Tabel : 1.
2.
3.
tInfoPrib tBagian tPekerjaan
Operasi antar tabel
Table tInfoPrib: CREATE TABLE tInfoPrib ( Nip VARCHAR( 5 ) NOT NULL , Nama VARCHAR( 25 ) NOT NULL , Kota VARCHAR( 15 ) NULL , TglLahir DATE NOT NULL , JK CHAR( 1 ) NOT NULL , PRIMARY KEY ( Nip ) );
Operasi antar tabel
Table tBagian : CREATE TABLE tBagian ( KodeBag CHAR( 1 ) NOT NULL , NamaBag CHAR( 15 ) NOT NULL , UNIQUE ( NamaBag ) );
Operasi antar tabel
Table tPekerjaan :
CREATE TABLE tPekerjaan ( Nip VARCHAR( 5 ) NOT NULL , KodeBag CHAR( 1 ) NOT NULL , Gaji INT NOT NULL , PRIMARY KEY ( Nip ) );
Operasi antar tabel
mysql> Select tInfoprib.nip, tInfoprib.nama, tpekerjaan.gaji
-> From tInfoprib, tpekerjaan -> WHERE tInfoPrib.nip=tpekerjaan.nip;
Hasil :
+-------+------------------+---------+ | nip | nama | gaji | +-------+------------------+---------+ | 12345 | Dian Permana | 1200000 | | 12346 | Tamara Febrianti | 1000000 | | 12347 | Dara Permatasari | 1200000 | | 12348 | Dita Nurafni | 1200000 | | 12349 | Dhani Akbar | 1000000 | | 12350 | Aan Setiawan | 1000000 | | 12351 | Raul Sitompul | 1400000 | | 12352 | Rahmanda | 1000000 | | 12353 | Niken | 1000000 | +-------+------------------+---------+ 9 rows in set (0.00 sec)
Operasi antar tabel
mysql> Select tPekerjaan.Nip, tBagian.NamaBag As Departemen -> From tPekerjaan, tBagian -> WHERE tpekerjaan.kodebag = tbagian.kodebag;
Hasil :
+-------+------------+ | Nip | Departemen | +-------+------------+ | 12345 | Produksi | | 12346 | Pemasaran | | 12347 | Akuntansi | | 12348 | SDM | | 12349 | Pemasaran | | 12350 | Produksi | | 12351 | Produksi | | 12352 | Pemasaran | | 12353 | Pemasaran | | 12354 | Pemasaran | +-------+------------+ 10 rows in set (0.05 sec)
Operasi antar tabel
mysql> SELECT i.Nip, i.Nama, p.Gaji
-> FROM tInfoprib i, tPekerjaan p -> WHERE i.nip=p.nip;
Hasil :
+-------+------------------+---------+ | Nip | Nama | Gaji | +-------+------------------+---------+ | 12345 | Dian Permana | 1200000 | | 12346 | Tamara Febrianti | 1000000 | | 12347 | Dara Permatasari | 1200000 | | 12348 | Dita Nurafni | 1200000 | | 12349 | Dhani Akbar | 1000000 | | 12350 | Aan Setiawan | 1000000 | | 12351 | Raul Sitompul | 1400000 | | 12352 | Rahmanda | 1000000 | | 12353 | Niken | 1000000 | +-------+------------------+---------+ 9 rows in set (0.00 sec)
Operasi antar tabel
mysql> SELECT i.Nip, i.Nama, p.Gaji
-> FROM tInfoprib i, tPekerjaan p -> WHERE i.nip=p.nip AND i.jk ='W';
Hasil :
+-------+------------------+---------+ | Nip | Nama | Gaji | +-------+------------------+---------+ | 12346 | Tamara Febrianti | 1000000 | | 12347 | Dara Permatasari | 1200000 | | 12348 | Dita Nurafni | 1200000 | | 12352 | Rahmanda | 1000000 | | 12353 | Niken | 1000000 | +-------+------------------+---------+ 5 rows in set (0.00 sec)