260 likes | 448 Vues
agung.abl@bsi.ac.id. PEMROGRAMAN PPBD (UAS). SEBELUM MELANGKAH KE TAHAP SELANJUTNYA BERDOA DULU BIAR LANCAR DAN GA EROR. agung.abl@bsi.ac.id. MySQL. Instalasi mysql-5045-win32 Download http://ablgoblog.blogspot.com/p/download.html. agung.abl@bsi.ac.id. MySQL (Cont ..). Buka MySQL.
E N D
agung.abl@bsi.ac.id PEMROGRAMAN PPBD (UAS) SEBELUM MELANGKAH KE TAHAP SELANJUTNYA BERDOA DULU BIAR LANCAR DAN GA EROR
agung.abl@bsi.ac.id MySQL Instalasimysql-5045-win32 Download http://ablgoblog.blogspot.com/p/download.html
agung.abl@bsi.ac.id MySQL (Cont ..) BukaMySQL
agung.abl@bsi.ac.id MySQL (Cont ..) Tampilan prompt MySQLsetelahauthentikasiberhasil
MySQL (Cont ..) MySQL (Cont ..) agung.abl@bsi.ac.id Cobamasukkan query berikutini mysql> SELECT VERSION(), CURRENT_DATE; +--------------+--------------+ | version() | CURRENT_DATE | +--------------+--------------+ | 5.0.45-community-nt | 2009-01-05 | +--------------+--------------+ 1 row in set (0.02 sec) mysql> 5
MySQL (Cont ..) agung.abl@bsi.ac.id 6
MySQL (Cont ..) agung.abl@bsi.ac.id • membuat basis data CREATE DATABASEnama_basis_data; • menghapus basis data besertatabel yang adadidalamnya DROP DATABASEnama_basis_data; 7
MySQL (Cont ..) agung.abl@bsi.ac.id • melihat basis data yang saat ini ada SHOW DATABASES; • menggunakansalah satu basis data yang ada USE nama_basis_data; • melihat tabel yang ada di basis data yang aktif saat ini SHOW TABLES; 8
MySQL (Cont ..) agung.abl@bsi.ac.id Mulaiversi 5 MySQLmendukungfiturtransaksi, foreign key dlldenganmenggunakantabel engine innodb. Tabel engine default adalahMyISAM. MyISAM Jenis tabel MyISAM adalah default ketika Anda membuat tabel. MyISAM kinerjayang sangat cepat tetapi tidak amandalamtransaksinya. Ukuran tabel MyISAM tergantung pada sistem operasi dan file data portabel dari sistem ke sistem. InnoDB Berbeda dari jenis tabel MyISAM, tabel InnoDB adalah transaksi yang aman. Kunci asing yang didukung dalam tabel InnoDB. File data tabel InnoDB dapat disimpan di lebih dari satu file sehingga ukuran meja tergantung pada ruang disk. Seperti jenis tabel MyISAM, file data dari InnoDB portabel dari sistem ke sistem. Kerugian dari InnoDB dibandingkan dengan MyISAM itu mengambil ruang disk lebih banyak. 9
MySQL (Cont ..) agung.abl@bsi.ac.id • membuat tabel dalam basis data (akses dulu basis data yang akan digunakan) CREATE TABLEnama_tabel(nama_field1tipe_data1modifier,nama_field2tipe_data2modifier,...nama_fieldxtipe_datax) engine = innodb; 10
MySQL (Cont ..) agung.abl@bsi.ac.id CREATE TABLEdata_mhs( nimchar(20)NOT NULL, nama_lengkapvarchar(30)NOT NULL ); 11
MySQL (Cont ..) agung.abl@bsi.ac.id • melihat tabel SHOW TABLES; • melihat struktur tabel DESCRIBE nama_tabel; • menghapus tabel DROP TABLE nama_tabel; • mengubah nama tabel ALTER TABLEnama_tabel_lamaRENAME [TO] nama_tabel_baru; 12
MySQL (Cont ..) agung.abl@bsi.ac.id • mengubah suatu kolom ALTER TABLEnama_tabelCHANGEfield_lama field_barutipe_data; • menambah kolom (mis: thn_angkatan) ALTER TABLEnama_tabelADDnama_fieldtipe_data[FIRST|AFTER nama_field]; • menghapus kolom ALTER TABLEnama_tabelDROPnama_field; 13
MySQL (Cont ..) agung.abl@bsi.ac.id SHOW TABLES; DESCRIBEdata_mhs; ALTER TABLEdata_mhsRENAME tomhs; SHOW TABLES; ALTER TABLEmhsCHANGEnama_lengkapnama_mhsvarchar(30) NOT NULL; DESCRIBEmhs; ALTER TABLEmhsADDthn_angkatanvarchar(30); ALTER TABLEmhsDROPthn_angkatan; 14
MySQL (Cont ..) agung.abl@bsi.ac.id • membuat index / primary key ALTER TABLEnama_tabelADD INDEX (nama_field);ALTER TABLEnama_tabelADD PRIMARY KEY (nama_field); • menghapus index / primary key ALTER TABLEnama_tabelDROP INDEX (nama_field);ALTER TABLEnama_tabelDROP PRIMARY KEY; 15
MySQL (Cont ..) agung.abl@bsi.ac.id DESCRIBEmhs; ALTER TABLEmhsADD PRIMARY KEY (nim); DESCRIBEmhs; ALTER TABLEmhsCHANGEnimnimintNOT NULL auto_increment; DESCRIBEmhs; 16
MySQL (Cont ..) agung.abl@bsi.ac.id INSERT INTOnama_tabel(nama_nama_field) VALUES (nilai_yang_sesuai_field); Latihan: INSERT INTOmhs (nim, nama_mhs) VALUES ("01/100001/MTI/00001","Ami"); SELECT * FROM mhs; INSERT INTOmhs VALUES ("01/100002/MTI/00002","Haris"); INSERT INTOmhs (nama_mhs, nim) VALUES ("Ami","01/100003/MTI/00003"); 17
MySQL (Cont ..) agung.abl@bsi.ac.id UPDATEnama_tabelSETnama_field ='data'WHEREkondisi; Latihan: UPDATEmhsSETnama_mhs="Aris"WHEREnim ="01/100002/MTI/00002"; SELECT * FROM mhs; 18
MySQL (Cont ..) agung.abl@bsi.ac.id DELETE FROMnama_tabelWHEREkondisi; Latihan: DELETE FROMmhsWHEREnim = "01/100002/MTI/00002"; SELECT * FROM mhs; DELETE FROMmhs; (hati-hati menggunakan perintah ini) 19
MySQL (Cont ..) agung.abl@bsi.ac.id SELECT[DISTINCT]nama_nama_field FROMnama_nama_tabel [WHEREkondisi] [GROUP BYnama_field] [HAVINGkondisi] [ORDER BYnama_field [ASC|DESC],...] [LIMIT[offset,] rows]; 20
MySQL (Cont ..) agung.abl@bsi.ac.id SELECT* FROMmhs; SELECTnim,nama_mhs FROMmhs; SELECTDISTINCTnama_mhs FROMmhs; SELECT* FROMmhs WHEREnim = ‘001’; SELECT* FROMmhs WHEREnama_mhs LIKE ‘Ar%’; SELECT* FROMmhs WHEREthn_angkatan < 2007; SELECT* FROMmhs ORDER BYnama_mhs; SELECT* FROMmhs ORDER BYnama_mhs DESC; 21
MySQL (Cont ..) agung.abl@bsi.ac.id SELECT* FROMmhs LIMIT5; SELECT* FROMmhs LIMIT2,4; SELECT COUNT(*) FROMmhs; SELECTthn_angkatan, COUNT(nim) FROMmhs GROUP BYthn_angkatan; note: for the 2nd line, 4 is offset, 2 means 2 data from the offset => the 5th and 6th data will appear 22
MySQL (Cont ..) agung.abl@bsi.ac.id RELATIONSHIP Buattabelbarudengannamamk kode_mkvarchar(10) not null nama_mkvarchar(40) not null Buattabelbarudengannamapengambilan nim char(20) not null kode_mkvarchar(10) not null Berikanisipadatabelmkdanpengambilantsb 23
MySQL (Cont ..) agung.abl@bsi.ac.id 24
MySQL (Cont ..) agung.abl@bsi.ac.id QUERY 2 Tabel SELECTnim, kode_mk FROMpengambilan; SELECTnim, kode_mk, nama_mk FROMpengambilan; caripenyelesaian !!! SELECTnim, mk.kode_mk, nama_mk FROMpengambilan, mk WHERE pengambilan.kode_mk = mk.kode_mk; 25
MySQL (Cont ..) agung.abl@bsi.ac.id Query 3 Tabel SELECTkode_mk,mhs.nim, nama_mhs FROMpengambilan,mhs WHERE mhs.nim = pengambilan.nim; SELECTmhs.nama_mhs,mk.nama_mk FROMmhs,mk,pengambilan WHERE mhs.nim = pengambilan.nim andpengambilan.kode_mk = mk.kode_mk; 26