Modul Mysql

download Modul Mysql

of 50

description

Modul Mysql

Transcript of Modul Mysql

  • Sistem Basis Data

    Prepared by LittleRaditaSTMIK- AUB Surakarta

  • MySQL termasuk ke dalam Relational Database Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensiGPL (General Public License)

    MySQL merupakan turunan dari konsepdatabase SQL (Structured Query Languange) untuk pemilihan /seleksi dan pemasukan data yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

  • MySQL merupakan Database Server yang bersifat :

    Open SourceMultiplatformBerbasis database relasional

    Bisa dipakai untuk database pribadi atau pada level korporat berskala kecil hingga besarSelain bersifat free, ada juga yang bersifat komersial

  • Overview MySQL(Lanjutan )

    Menggunakan SQL untuk mendukung pengaksesan data (query)

    Hasil dari permintaan

    Klien

    Server

    Permintaan berupa pernyataan seperti: SELECT * FROM bintang;

  • Keistimewaan MySQL

    Portability : berjalan stabil pada berbagai sistem operasi(Windows,Linux, Mac OS, Solaris dsb)Open Source : didistribusikan secara open source (gratis)Multiuser : dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflikPerformance Tuning : memiliki kecepatan yang baik dalammenangani query sederhana.Column Types : memiliki tipe kolom yang kompleks, seperti : signed/unsigned integer, float, double, char, varchar, blob, time, datetime, timestamp, year, set serta enumCommand dan Functions : memiliki olpertor dan fungsi secarapenuh yang mendukkung perintah SELECT dan WHERE dalamquery

  • Keistimewaan MySQLSecurity : memiliki lapisan sekuritas, seperti level subnetmask, nama host dan izin akses user disertai dengan password enkripsi.Scalability dan Limits : mampu menangani database dalam skalabesar dengan jumlah records lebih dari 50 juta dan 60 ribu tabelserta 5 miliar baris.Connectivity : dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket atau Named Pipes.Localisation : dapat mendeteksi pesan kesalah (error code) padaclient dengan menggunakan lebih dari dua puluh bahasa.Interface : memiliki interface terhadap berbagai aplikasi dan bahasapemrograman dengan fungsi API (Application Programming Interface).Clients dan Tools : dilengkapi dengan berbagai tool yang dapatdigunakan untuk administrasi databaseStruktur Tabel : memiliki struktur tabel yang lebih fleksibeldalammenangani ALTER TABLE dibandingkan Oracle atau PostgreSQL

  • SQL = Structured Query LanguageDigunakan untuk mengakses basis data relasionalBersifat standar; bisa dipakai untuk basis data relasional lainnyaPerintah SQL yang biasa digunakan dapatdibagi menjadi DDL dan DML

  • DDLbahasa yg digunakan untuk mendefinisikan data.ex : create, dropDMLbahasa yg digunakan untu memanipulasi data. ex : insert, update, delete Retrieving Data perintah untuk menampilkan data dari database.ex : selectDCL bahasa untuk kontrol pengendalian akses data ke database.ex : grant, revokeDTLbahasa untuk mengelola transaksi di database.ex : commit transaction, rollback transaction

  • DDL = Definition Data LanguageDigunakan untuk kepentingan penciptaan database, tabel, hingga penghapusan database atau tabelContoh:

    CREATE DATABASECREATE TABLEDROP TABLEALTER TABLE

  • DML = Data Manipulation LanguageDigunakan untuk memanipulasi dataContoh:

    SELECT mengambil dataDELETE menghapus dataINSERT menyisipkan dataUPDATE mengubah data

  • Lakukan instalasi MySQL terlebih duluMySQL memiliki sejumlah tool; salah satu di antaranya adalah:

    program mysql, yang dipakai untuk mengakses database dari sisi klienProgram mysqladmin, untuk mengelola MySQL dari sisi administrator sistem

  • Masuk ke prompt DOSKetik perintah:cd c:\ Program Files \MysQL\ MySQL Server 5.0

    Berikan perintah cd bin

  • root adalah pemakai dengan wewenang paling tinggi dan digunakan untuk admin sistemPerintah untuk mengubah password root:mysqladmin uroot password rahasia

  • Berikan perintah:mysql uroot p

    Ketikkan password dan tekan Enter

    C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -uroot -prahasiaWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 8 to server version: 5.0.15-nt

    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

    mysql>

  • untuk memulai MySQL pastikan terlebih dahulu daemon MySQL(mysqld) sudah di start.

    Steps:Dari folder mysql browse folder bin.Double-click file mysqlddouble-click file mysql

  • Tampilan prompt MySQL setelah authentikasi berhasil

    Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 459 to server version: 3.22.20a-log

    Type 'help' for help.

    mysql>_

    keluar dari MySQL

    mysql> QUITBye

  • Pembuatan Database dan Tabel

    Database: Pegawai

    Tabel: PribadiField:-NIP

    -Nama

    -Tgl_Lahir-Sex-Alamat

    -Kota

    Tabel: PekerjaanField:-NIP

    -Tgl_Masuk-Kode_Bag-Gaji

    Tabel: BagianField:-Kode_Bag-Nama_Bag

  • Berikan perintahshow databases;

  • Berikan perintah pada prompt mysql:CREATE DATABASE Pegawai;

    mysql> CREATE DATABASE Pegawai;Query OK, 1 row affected (0.09 sec)

    mysql>

  • Berikan perintah:USE Pegawai;

    Nama Database

  • Berikan perintahDrop database nama_database;

  • Isi dari database = tabelBerikan perintahshow tables;

  • Berikan perintahCreate table nama_tabel (nama_kolomtipe_data(panjang_data tambahan key) Menampilkan struktur tabeldescribe nama_tabel;Menghapus tabeldrop nama_tabel;

  • Berikan perintah:CREATE TABLE Pribadi (Nip CHAR(5) NOT NULL PRIMARY KEY,Nama VARCHAR(35) NOT NULL,Tgl_lahir DATE,Sex ENUM('P','W'),Alamat VARCHAR(35),Kota VARCHAR(15));

  • KARAKTERCHAR: Teks dengan maksimal 255 karakterVARCHAR: Teks maksimal 255 karakter dan bersifat variabelTEXT: Teks dengan panjang maksimal 65535

  • BILANGAN

    TINYINT: Bilangan 1 byteSMALLINT: Bilangan 2 byteINT atau INTEGER Bilangan 4 byteBIGINT: Bilangan 8 byteFLOAT: Bilangan pecahan (4 byte)DOUBLE atau REAL: Bilangan pecahan (8 byte)DECIMAL(M, D) atau NUMERIC(M, D): Bilangan pecahan

  • LAIN-LAIN

    DATE: TanggalDATETIME: Waktu (tanggal dan jam)TIME : JamENUM( nilai1 , nilai2 , ): Nilai enumerasiBOOLEAN: tipe benar atau salah

  • NOT NULL : Tidak boleh kosongPRIMARY KEY: Kunci primerAUTO_INCREMENT: Nilai naik secara otomatis tanpa diisi

  • Penambahan data dilakukan dengan menggunakan pernyataan INSERTBentuk dasar :INSERT INTO nama_tabel (nama_field, nama_field,

    ) VALUES (nilai, nilai, );Contoh:INSERT INTO Pribadi(Nip, Nama, Tgl_lahir, Sex, Alamat, Kota)VALUES ('12345', 'A. Hamzah Sianturi', '1965/12/23','P', 'Jl. Kudus 1', 'Yogya');

  • Perintah SELECT

    Bentuk Umum:SELECT * FROM Nama_Tabel

    Contoh:SELECT * FROM Pribadi

  • Penambahan Data (Lanjutan )Tambahkan data berikut:

    Untuk data yang kosong, tuliskan NULLInsert into pribadi values ( 12346 , Udin , 1978/01/12 , P , Jl.Masjid 47 , Sleman );

    PriaYogyaJl. Karyacita 9Joned05/05/197812354

    PriaYogyaJl. Astina 4ASueb04/07/197112353

    WanitaKlatenJl. Kertosono 87Sinta29/04/196912352

    PriaSlemanNgampilan 2AEdi Damhudi05/04/197112351

    WanitaYogyaJl. Sawo 108Intan01/02/197512350

    PriaMagelangKarangwaru I/3Bagus13/05/196612349

    WanitaBantulJl. Arumdalu 23Dian Arum14/03/196912348

    WanitaSiti Umayani12347

    PriaSlemanJl. Masjid 47Udin12/01/197812346

    JenisKelamin

    KotaAlamatNamaTanggal lahirNIP

  • Penambahan Data dengan Field Tertentu

    Contoh tanpa mengisi Tanggal lahir, alamat dan kota

    INSERT INTO Pribadi(Nip, Nama, Sex)VALUES ('12355', 'Andini', 'W');

  • Cobalah berikan pernyataan berikut:

    INSERT INTO Pribadi(Nip, Nama, Tgl_lahir, Sex, Alamat, Kota)VALUES ('12345', Dona Harun', '1978/01/01',W', 'Jl. Kreasi 77', 'Yogya');

    Apa yang terjadi? Kenapa?

  • Cobalah berikan pernyataan berikut:

    INSERT INTO Pribadi(Nip, Sex)VALUES ('12360', W');

    Apa yang terjadi? Kenapa?

  • Cobalah perintah berikut:

    INSERT INTO Pribadi(Nip, Nama, sex)VALUES ('12361', 'Edi harahap', 'L');

    Apa yang terjadi? Kenapa?Cek dengan SELECT; apakah data tersimpan?

  • Gunakan perintah:DESC nama_tabelContoh:DESC Pribadi;+-----------+---------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |+-----------+---------------+------+-----+---------+-------+

    | Nip | char(5) | NO | PRI | | || Nama | varchar(35) | NO | | | || Tgl_lahir | date | YES | | NULL | || Sex | enum('P','W') | YES | | NULL | || Alamat | varchar(35) | YES | | NULL | || kota | varchar(20) | YES | | NULL | |+-----------+---------------+------+-----+---------+-------+

    6 rows in set (0.16 sec)

  • Perintah yang digunakan adalah ALTER TABLEContoh:ALTER TABLE Pribadi CHANGE sex kelamin ENUM('P','W');

    Cek struktur tabel setelah Anda melakukan perintah di atas

  • Perintah yang digunakan adalah ALTER TABLEContoh:ALTER TABLE Pribadi CHANGE kota kota VARCHAR(20);

    Cek struktur tabel setelah Anda melakukan perintah di atas

  • DEFAULT pada struktur tabel digunakan untuk memberikan nilai bawaan pada suatu field kalau nilai bersangkutan tidak dimasukkanContoh:ALTER TABLE Pribadi CHANGE kelamin kelamin ENUM('P','W') DEFAULT 'P';

  • Menambahkan DEFAULT(Lanjutan )

    Sekarang cobalah berikan perintah:INSERT INTO Pribadi(Nip, Nama)VALUES ( 12370 , Fahmi Idris );

    PERHATIKAN, apa isi field Kelamin untuk NIP 12370 ?

  • Perintah yang digunakan adalah UPDATEBentuk dasar:

    UPDATE nama_tabel SET nama_field = nilai, nama_field = nilai, WHERE nama_field = nilai

    Contoh mengubah Udin menjadi Udinsah:

    UPDATE Pribadi SET Nama= 'Udinsah' WHERE NIP = '12346';

    Ujilah dengan SELECT untuk melihat hasil perubahan

  • Perintah DELETEBentuk dasar:DELETE FROM nama_tabel WHERE nama_field = nilai

    Contoh:DELETE FROM Pribadi WHERE Nip = '12355';

    Ujilah dengan SELECT untuk melihat efek perintah di atas

  • Gunakan DROP TABLEUntuk mempraktekkan, buatlah sebuah table bernama RIWAYAT, dengan isi berupa sebuah field (misalnya Nip bertipe CHAR(5))Kemudian, lihatlah daftar tabel dengan memberikan perintah:SHOW TABLES;

  • Penghapusan Tabel(Lanjutan )

    Berikan perintah:DROP TABLE Riwayat;Kemudian, lihatlah daftar tabel dengan memberikan perintah:SHOW TABLES;Apa sudah terhapus?

  • Buatlah tabel Bagian dengan struktur seperti berikut:

    Kode_Bag, CHAR, 1 karakter, primary keyNama_Bag, VARCHAR, 20 karakter, harus diisi

    Isikan data sebagai berikut:1 untuk EDP2 untuk Pemasaran3 untuk Produksi4 untuk SDM5 untuk Akunting

  • Latihan Membuat Tabel PekerjaanBuatlah tabel Pekerjaan dengan struktur seperti berikut:

    NIP, CHAR, 5 karakter, primary keyTgl_Masuk, DATEKode_Bag, 1 karakter, harus diisiGaji, bilangan

    Isikan data sebagai berikut:12345, 02/02/1992, 3, 2juta12346, 02/02/1992, 1, 1,5juta12347, 02/02/1992, 2, 1,2juta12348, 02/02/1992, 4, 1,5juta12349, 02/02/1992, 5, 1,2jutaLengkapi sendiri sampai NIP 12354

  • Latihan Penggunaan Tipe MemoBuatlah tabel bernama RiwayatIsi Field:

    NIPKeterangan (bertipe Memo)

    Isikan data untuk NIP yang tersedia pada tabel Pribadi (12345 sampai dengan 12354)Isikan Keterangan dengan daftar riwayat pendidikan, misalnya sbb:

    SD Muhammadiyah I, YogyaSMP Negeri I, YogyaSMA Negeri III, Semarang

  • Masukkan data berikut ke Tabel Pribadi:NIP: 12390Nama: Asti DamayantiTanggal Lahir: 2 Februari 1983Jenis kelamin: Wanita

    Ubahlah Tanggal lahir Asti Damayanti menjadi 23 Pebruari 1973Cek hasilnya

  • Latihan Gabungan(Lanjutan )

    Hapuslah record yang berisi data Asti Damayanti dengan menyebutkan namanya (bukan NIP)Ubahlah nama field Keterangan pada tabel Riwayat menjadi Ket

  • Menambahkan Field:ALTER TABLE Pribadi ADD Bisa_Bhs_Asing BOOLEAN DEFAULT FALSE;Buatlah agar field baru tersebut bernilai TRUE untuk NIP=12345, 12347, dan 12350