Perintah Dasar MySQL (lanjutan)

Download Report

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)