MySQL Tutorial
Pengenalan MySQL dan Tutorial MySQL

Fahri Firdausillah
Apa itu MySQL
 MySQL merupakan DBMS (Database Management
System) yang digunakan untuk menyimpan dan
memanipulasi data yang saling berelasi.
 MySQL merupakan salah satu produk database dari
Oracle (dulunya dimiliki oleh SUN Microsystem)
 MySQL sering di-bundle menjadi satu dengan Apache
dan PHP (AMP), sehingga merupakan free DBMS paling
banyak digunakan.
 Fitur dari MySQL antara lain: memiliki banyak pilihan
table engine, transaction support, clustering support,
extensible.
Fahri Firdausillah
Kenapa Tutorial MySQL
 By default penggunaan SQL sudah diajarkan pada
matkul basis data.
 Mata kuliah teori 3 SKS dan (biasanya) 2 pertemuan
untuk membahas SQL.
 Seperti pada universitas maju yang lain, mahasiswa
hanya diberikan teori SQL dan dipersilahkan
(seharusnya diwajibkan) untuk meng-eksplore keilmuan
praktik sendiri.
 HM hanya memfasilitasi mahasiswa yang mempunyai
antusiasme belajar lebih, untuk mengembangkan
kemampuan praktik.

Fahri Firdausillah
Konten Perkuliahan
 Pertemuan 1 (Basic)
 Pengenalan Tutorial MySQL
 Akses MySQL menggunakan Console & SQLYog
 Basic CRUD
 Where, order by, group by, min, max, average limit
 Pertemuan 2 (Deeper Select)

 Sub Query
 Inner Join, Outer Join, Left & Right join, Natural Join
 Pertemuan 3 (Database Design)
 Inno DB vs MyIsam

 Creating Table
 Table Constraint
 Keys and NULL
Fahri Firdausillah
Konten Perkuliahan (lanj)
 Pertemuan 4 (Advanced Select)
 Query Union

 MySQL Views
 Pertemuan 5 (Stored Procedure & Function)
 Pertemuan 6 (MySQL Cursor & Trigger)

 Pertemuan 7 (MySQL Administration)

Fahri Firdausillah
Referensi Tambahan
http://www.mysqltutorial.org/
http://www.tutorialspoint.com/mysql/
http://www.w3schools.com/sql/
http://education.oracle.com/
 Introduction to MySQL 5.5
 MySQL for Beginners
 MySQL for Database Administrators
 MySQL for Developers
 MySQL Performance Tuning
 MySQL High Availability
 MySQL Cluster
 MySQL Developer Techniques
 MySQL and PHP - Developing Dynamic Web Applications
 MySQL Advanced Stored Procedures
 MySQL for Developers with Developer Techniques Accelerated
 MySQL Developer Techniques with Advanced Stored Procedures
Fahri Firdausillah




Akses MySQL dengan Console dan SQLYog
 DBMS berupa sebuah database server yang menyediakan
layanan manipulasi basis data.
 Layanan ini dapat diakses menggunakan beberapa cara:
 Console Client
 Desktop Client
 Web Client

Port yang biasa digunakan
untuk MySQL : 3306
Fahri Firdausillah
Akses MySQL dengan Console
 Untuk dapat mengakses mysql kita memerlukan alamat
host, username, dan password.
 Jika alamat host adalah localhost, maka kita cuma
perlu username dan password
> mysql -u root -h 192.168.10.253 -p
Enter password:******

 Setelah berhasil koneksi MySQL kita akan masuk pada
console mysql yang ditandai dengan mysql> pada sebelah
kiri. Untuk memastikan, coba ketikkan perintah berikut:
mysql> show databases;

Fahri Firdausillah
Akses MySQL dengan SQLYog

Fahri Firdausillah
Akses MySQL dengan SQLYog (lanj)

Fahri Firdausillah
Basic CRUD (Persiapan)
 Sebelum dapat memanipulasi database create, read,
update, delete (CRUD), kita harus membuat database
dan tabel terlebih dahulu:
CREATE DATABASE ujicoba;
USE ujicoba;

CREATE TABLE IF NOT EXISTS mahasiswa (
nim char(15) NOT NULL,
nama varchar(45) NULL,
alamat varchar(200) NULL,
tgl_lahir date NULL,
ipk float NOT NULL,
primary key (nim)
);

Fahri Firdausillah
Basic CRUD (Create)
 [Create] Memasukkan data ke dalam tabel mahasiswa
yang telah dibuat:
INSERT INTO nama_tabel (kolom1, ...) VALUES (isian1, ...)
INSERT INTO mahasiswa (nim, nama, alamat, tgl_lahir, ipk)
VALUES ('A11.01234', 'Budi', 'Jepang', '1989/09/03', 3.7);
INSERT INTO mahasiswa (nama, nim, tgl_lahir, ipk, alamat)
VALUES ('Anik', 'A12.00123', '1990/07/12', 3.7, 'Kudus');

INSERT INTO mahasiswa
VALUES ('A11.02345', 'Rico', 'Semarang', '1990/12/11', 3.5);
INSERT INTO mahasiswa
VALUES ('A11.02222', 'Leny', 'Tegal', '1991/08/15', 3.2),
('A11.03333', 'Novi', 'Demak', '1990/02/20', 3.4),
('A11.04444', 'Rida', 'Jepara', '1992/09/16', 3.31);

Fahri Firdausillah
Basic CRUD (more Insert)

 Inputkan data lain sebanyak 10 mahasiswa.
 Ingat NIM merupakan kolom yang menjadi
primary key, kita tidak bisa memasukkan data
mahasiswa dengan NIM yang sama lebih dari 1.

Fahri Firdausillah
Basic CRUD (Update)
 [update] mengubah data yang sudah dimasukkan ke
dalam basis data berdasarkan kondisi yang diberikan:
UPDATE table_name [, table_name...] SET column_name1 = expr1
[, column_name2=expr2 ...] [WHERE condition]

UPDATE mahasiswa SET ipk = 3;
UPDATE mahasiswa SET ipk = 3.9 WHERE nim = 'A11.02222';

UPDATE mahasiswa SET ipk = 3.4, alamat = 'Rembang'
where nim = 'A11.03333';
UPDATE mahasiswa SET tgl_lahir = '1987/10/12'
WHERE nama = 'Rida' and alamat = 'Jepara';

Fahri Firdausillah
Basic CRUD (Delete)
 [delete] menghapus data yang sudah diinputkan ke
dalam basis data sesuai dengan kondisi yang diberikan:
DELETE FROM table [WHERE conditions] [ORDER BY ...] [LIMIT rows]

DELETE FROM mahasiswa WHERE alamat = 'Semarang';
DELETE FROM mahasiswa WHERE ipk > 4.0;
DELETE FROM mahasiswa WHERE nim = 'A12.00123';

Fahri Firdausillah
Basic CRUD (Read)
 [Read] menampilkan data yang telah disimpan di dalam
basis data dengan menggunakan perintah SELECT:
SELECT column_1,column_2...
FROM table_1
WHERE conditions
GROUP BY group
HAVING group_conditions
ORDER BY column_1 [ASC | DESC]
LIMIT offset, row_count

SELECT * FROM mahasiswa;
SELECT * FROM mahasiswa
where ipk > 3.0;
SELECT nim, nama, ipk
FROM mahasiswa
WHERE alamat = 'Jepara';
SELECT alamat FROM mahasiswa
GROUP BY alamat;
SELECT * FROM mahasiswa
ORDER BY ipk;

Fahri Firdausillah
Basic CRUD (Read)

SELECT * FROM mahasiswa ORDER BY ipk LIMIT 5;
SELECT max(ipk) FROM mahasiswa;
SELECT nim, nama, ipk FROM mahasiswa WHERE ipk > avg(ipk);
SELECT nim, nama, ipk FROM mahasiswa WHERE ipk between 3.2 AND 3.5;

SELECT nama, alamat FROM mahasiswa WHERE nama like "A%";
SELECT nama, alamat FROM mahasiswa WHERE nama like "%i";

Fahri Firdausillah
Exercise / Latihan
1. Tambahkan 5 data baru untuk tabel mahasiswa
2. Tampilkan data semua mahasiswa yang IPK-nya kurang
dari 3.5
3. Tampilkan data mahasiswa yang tinggal di kota
Semarang atau Jepara
4. Hapus data mahasiswa yang memiliki IPK kurang dari
2.7 dan bertempat tinggal di Semarang
5. Update kolom alamat menjadi "Nomaden" untuk
mahasiswa yang namanya diakhiri huruf "u"
6. Tampilkan mahasiswa yang memiliki umur antara 18
hingga 20 tahun
Fahri Firdausillah
Fahri Firdausillah

MySQL 1, introduction

  • 1.
    MySQL Tutorial Pengenalan MySQLdan Tutorial MySQL Fahri Firdausillah
  • 2.
    Apa itu MySQL MySQL merupakan DBMS (Database Management System) yang digunakan untuk menyimpan dan memanipulasi data yang saling berelasi.  MySQL merupakan salah satu produk database dari Oracle (dulunya dimiliki oleh SUN Microsystem)  MySQL sering di-bundle menjadi satu dengan Apache dan PHP (AMP), sehingga merupakan free DBMS paling banyak digunakan.  Fitur dari MySQL antara lain: memiliki banyak pilihan table engine, transaction support, clustering support, extensible. Fahri Firdausillah
  • 3.
    Kenapa Tutorial MySQL By default penggunaan SQL sudah diajarkan pada matkul basis data.  Mata kuliah teori 3 SKS dan (biasanya) 2 pertemuan untuk membahas SQL.  Seperti pada universitas maju yang lain, mahasiswa hanya diberikan teori SQL dan dipersilahkan (seharusnya diwajibkan) untuk meng-eksplore keilmuan praktik sendiri.  HM hanya memfasilitasi mahasiswa yang mempunyai antusiasme belajar lebih, untuk mengembangkan kemampuan praktik. Fahri Firdausillah
  • 4.
    Konten Perkuliahan  Pertemuan1 (Basic)  Pengenalan Tutorial MySQL  Akses MySQL menggunakan Console & SQLYog  Basic CRUD  Where, order by, group by, min, max, average limit  Pertemuan 2 (Deeper Select)  Sub Query  Inner Join, Outer Join, Left & Right join, Natural Join  Pertemuan 3 (Database Design)  Inno DB vs MyIsam  Creating Table  Table Constraint  Keys and NULL Fahri Firdausillah
  • 5.
    Konten Perkuliahan (lanj) Pertemuan 4 (Advanced Select)  Query Union  MySQL Views  Pertemuan 5 (Stored Procedure & Function)  Pertemuan 6 (MySQL Cursor & Trigger)  Pertemuan 7 (MySQL Administration) Fahri Firdausillah
  • 6.
    Referensi Tambahan http://www.mysqltutorial.org/ http://www.tutorialspoint.com/mysql/ http://www.w3schools.com/sql/ http://education.oracle.com/  Introductionto MySQL 5.5  MySQL for Beginners  MySQL for Database Administrators  MySQL for Developers  MySQL Performance Tuning  MySQL High Availability  MySQL Cluster  MySQL Developer Techniques  MySQL and PHP - Developing Dynamic Web Applications  MySQL Advanced Stored Procedures  MySQL for Developers with Developer Techniques Accelerated  MySQL Developer Techniques with Advanced Stored Procedures Fahri Firdausillah    
  • 7.
    Akses MySQL denganConsole dan SQLYog  DBMS berupa sebuah database server yang menyediakan layanan manipulasi basis data.  Layanan ini dapat diakses menggunakan beberapa cara:  Console Client  Desktop Client  Web Client Port yang biasa digunakan untuk MySQL : 3306 Fahri Firdausillah
  • 8.
    Akses MySQL denganConsole  Untuk dapat mengakses mysql kita memerlukan alamat host, username, dan password.  Jika alamat host adalah localhost, maka kita cuma perlu username dan password > mysql -u root -h 192.168.10.253 -p Enter password:******  Setelah berhasil koneksi MySQL kita akan masuk pada console mysql yang ditandai dengan mysql> pada sebelah kiri. Untuk memastikan, coba ketikkan perintah berikut: mysql> show databases; Fahri Firdausillah
  • 9.
    Akses MySQL denganSQLYog Fahri Firdausillah
  • 10.
    Akses MySQL denganSQLYog (lanj) Fahri Firdausillah
  • 11.
    Basic CRUD (Persiapan) Sebelum dapat memanipulasi database create, read, update, delete (CRUD), kita harus membuat database dan tabel terlebih dahulu: CREATE DATABASE ujicoba; USE ujicoba; CREATE TABLE IF NOT EXISTS mahasiswa ( nim char(15) NOT NULL, nama varchar(45) NULL, alamat varchar(200) NULL, tgl_lahir date NULL, ipk float NOT NULL, primary key (nim) ); Fahri Firdausillah
  • 12.
    Basic CRUD (Create) [Create] Memasukkan data ke dalam tabel mahasiswa yang telah dibuat: INSERT INTO nama_tabel (kolom1, ...) VALUES (isian1, ...) INSERT INTO mahasiswa (nim, nama, alamat, tgl_lahir, ipk) VALUES ('A11.01234', 'Budi', 'Jepang', '1989/09/03', 3.7); INSERT INTO mahasiswa (nama, nim, tgl_lahir, ipk, alamat) VALUES ('Anik', 'A12.00123', '1990/07/12', 3.7, 'Kudus'); INSERT INTO mahasiswa VALUES ('A11.02345', 'Rico', 'Semarang', '1990/12/11', 3.5); INSERT INTO mahasiswa VALUES ('A11.02222', 'Leny', 'Tegal', '1991/08/15', 3.2), ('A11.03333', 'Novi', 'Demak', '1990/02/20', 3.4), ('A11.04444', 'Rida', 'Jepara', '1992/09/16', 3.31); Fahri Firdausillah
  • 13.
    Basic CRUD (moreInsert)  Inputkan data lain sebanyak 10 mahasiswa.  Ingat NIM merupakan kolom yang menjadi primary key, kita tidak bisa memasukkan data mahasiswa dengan NIM yang sama lebih dari 1. Fahri Firdausillah
  • 14.
    Basic CRUD (Update) [update] mengubah data yang sudah dimasukkan ke dalam basis data berdasarkan kondisi yang diberikan: UPDATE table_name [, table_name...] SET column_name1 = expr1 [, column_name2=expr2 ...] [WHERE condition] UPDATE mahasiswa SET ipk = 3; UPDATE mahasiswa SET ipk = 3.9 WHERE nim = 'A11.02222'; UPDATE mahasiswa SET ipk = 3.4, alamat = 'Rembang' where nim = 'A11.03333'; UPDATE mahasiswa SET tgl_lahir = '1987/10/12' WHERE nama = 'Rida' and alamat = 'Jepara'; Fahri Firdausillah
  • 15.
    Basic CRUD (Delete) [delete] menghapus data yang sudah diinputkan ke dalam basis data sesuai dengan kondisi yang diberikan: DELETE FROM table [WHERE conditions] [ORDER BY ...] [LIMIT rows] DELETE FROM mahasiswa WHERE alamat = 'Semarang'; DELETE FROM mahasiswa WHERE ipk > 4.0; DELETE FROM mahasiswa WHERE nim = 'A12.00123'; Fahri Firdausillah
  • 16.
    Basic CRUD (Read) [Read] menampilkan data yang telah disimpan di dalam basis data dengan menggunakan perintah SELECT: SELECT column_1,column_2... FROM table_1 WHERE conditions GROUP BY group HAVING group_conditions ORDER BY column_1 [ASC | DESC] LIMIT offset, row_count SELECT * FROM mahasiswa; SELECT * FROM mahasiswa where ipk > 3.0; SELECT nim, nama, ipk FROM mahasiswa WHERE alamat = 'Jepara'; SELECT alamat FROM mahasiswa GROUP BY alamat; SELECT * FROM mahasiswa ORDER BY ipk; Fahri Firdausillah
  • 17.
    Basic CRUD (Read) SELECT* FROM mahasiswa ORDER BY ipk LIMIT 5; SELECT max(ipk) FROM mahasiswa; SELECT nim, nama, ipk FROM mahasiswa WHERE ipk > avg(ipk); SELECT nim, nama, ipk FROM mahasiswa WHERE ipk between 3.2 AND 3.5; SELECT nama, alamat FROM mahasiswa WHERE nama like "A%"; SELECT nama, alamat FROM mahasiswa WHERE nama like "%i"; Fahri Firdausillah
  • 18.
    Exercise / Latihan 1.Tambahkan 5 data baru untuk tabel mahasiswa 2. Tampilkan data semua mahasiswa yang IPK-nya kurang dari 3.5 3. Tampilkan data mahasiswa yang tinggal di kota Semarang atau Jepara 4. Hapus data mahasiswa yang memiliki IPK kurang dari 2.7 dan bertempat tinggal di Semarang 5. Update kolom alamat menjadi "Nomaden" untuk mahasiswa yang namanya diakhiri huruf "u" 6. Tampilkan mahasiswa yang memiliki umur antara 18 hingga 20 tahun Fahri Firdausillah
  • 19.