Anda di halaman 1dari 23

BAB VI MYSQL

6.1. PhpMyadmin

Pada awalnya para programmer web dalam membuat atau mengelola suatu database dilakukan pada console (pada sistem operasi Linux) atau dos-prompt (pada sistem operasi Windows). Semenjak adanya paket yang menyatukan antara Apache-MySQL-PHP, yaitu salah satunya PHPTriad, sehingga untuk melakukan pembuatan dan pengelolaan database dapat dilakukan pada browser, yaitu yang dikenal dengan phpmyadmin. Xampp pun menyediakan folder phpmyadmin yang berfungsi dalam pembentukan dan pengelolaan database pada browser Adapun alamat url phpmyadmin pada xampp dioperating sistem Linux ataupun Windows, adalah sebagai berikut: http//localhost/phpmyadmin/ Tampilan phpmyadmin pada browser:

Gambar 6.1 phpMyadmin 6.2. PROSES KERJA Untuk menampilkan phpmyadmin, Anda harus mengaktifkan MySQL pada kotak dialog Xampp Control Panel Application, yang tampilannya seperti berikut:

Pemrograman PHP

Gambar 6.2 Xampp Control Panel Application


Setelah mengaktifkan MySQL, maka langkah berikutnya yaitu membuka alamat url http://localhost/phpmyadmin/ pada browser. Di dalam phpmyadmin dalam proses pembuatan dan pengelolaan database dapat dilakukan secara grafis atau pun secara manual dengan cara memasukkan perintah-perintah SQL, baik yang bersifat DDL ataupun DML. Untuk lebih jelasnya, akan dibuat sebuah database baru dengan menggunakan 2 cara, yaitu: cara manual dan dilakukan secara grafis. Secara grafis: 1. Masukkan nama database yang akan Anda buat pada bagian "Create new database", misalnya dengan memasukkan database baru dengan nama dbbaru. 2. Klik tombol "Create", langkah berikutnya adalah membuat tabel dan berapa jumlah field yang dibutuhkan. Misal: membuat tabel tdbbaru dengan jumlah field 5 pada database dbbaru. Cara kerjanya, yaitu: Pada bagian "Create new table on database dbbaru". Masukkan nama tabel tdbbaru di bagian Name dan masukkan jumlah field di bagian "Number of fields", yaitu 2. Setelah itu klik tombol "Go" maka akan terlihat tampilan seperti berikutini:

Gambar 1.3 Membuat Tabel dengan Sistem Grafis


Masukkan Nomor pada bagian "Field" dan pada bagian "Type" pilih lnt serta pada bagian "Extra" pilih auto_increment (akan tampil urutan nomor secara otomatis tanpa harus menginputnya), klik radiobutton di bagian Primary Key. Field berikutnya yang akan dibuat adalah Nama, pilih Varchar pada bagian Type dan masukan nilai 25 pada bagian Length/Values. Klik tombol "Save" untuk menyimpan tabel yang telah dibuat. 2

Pemrograman PHP

Secara manual: 1. Klik icon maka akan tampil halaman bam seperti terlihat pada gambar ini:

Gambar 1.4 Membuat Table dengan Sistem Manual 2. Pada bagian "Run SQL query/queries on server localhost" masukkan perintah SQL seperti berikut: Create database dbbaru Setelah itu klik tombol "Go". 3. Berikutnya membuat tabel tdbbaru dengan field Nomor dan Nama. Cara membuatnya dengan perintah SQL: Create table Varchar(25)) tdbbaru (Nomor Int(5) auto_increment primary key, nama

Klik tombol "Go" untuk memproses perintah SQL tersebut 6.3. Structured Query Language Structured Query Language atau yang sering disingkat SQL (dibaca "es-que-el") adalah merupakan bahasa yang berisi perintah-perintah pemanipulasian data dan pendefinisian database. Yang termasuk ke dalam perintah-perintah pemanipulasian data adalah menampilkan data, mengupdate data, menghapus data, dan menggabungkan data. Yang termasuk ke dalam perintah-perintah pendefinisian database, adalah membuat/menghapus database, membuat/menghapus table, dan membuat/ menghapus index. Beberapa sistem database yang menggunakan SQL, di antaranya adalah Ms.Access, MsSQL Server, Oracle, PostgresSQL, DB2, MySQL, Interbase, dan lainnya. Pemahaman dan penguasaan tentang perintah-perintah SQL adalah suatu keharusan bagi seorang programmer baik itu programmer web server atau programmer aplikasi. Dalam membuat program yang berhubungan dengan database, perintah-perintah SQL ini akan diikutsertakan. SQL-database memiliki sifat dinamis, maksudnya struktur tabelnya dapat berubah sewaktu-waktu tanpa harus melakukan konversi data yang sudah ada karena InformixSQL secara otomatis melakukannya. SQL-database juga memiliki fasilitas proteksi terhadap integritas database. Misalnya, seorang user membuat file transaksi yang berperan dalam menyimpan seluruh hasil modifikasi dari database.yang bersangkutan, dan juga dapat merekontruksi database dari file back-up sehingga menghasilkan database yang up to date. Yang perlu diketahui bahwa tabel-tabel yang terdapat pada suatu database tidak dibatasi jumlahnya.

Pemrograman PHP

6.4. SEJARAH SQL Sejak kapan SQL mulai diperkenalkan ke khalayak umum sebagai bahasa standar database? Pada tahun 1970, seiring dengan perkembangan database yang kian kompleks. E.F Codd memperkenalkan database relasional dalam sebuah artikel yang berjudul "A Relational Model of data for large shared data bank". Dari sinilah lahir suatu konsep dasar untuk mengembangkan database atau basis data. Jadi pada tahun 1979-lah awal mula lahirnya SQL, yaitu dimulai dari Codd yang memperkenalkan idenya tersebut dalam konsep yang lebih nyata, kemudian dikembangkan menjadi sebuah database relasional, yang salah satunya dari bahasa database relasional tersebut adalah SQL. Kelahiran SQL juga tidak terlepas dengan sebuah proyek IBM yang dikenal dengan Sistem R. Proyek, yaitu sebuah proyek yang bertujuan untuk mengembangkan sebuah sistem database relasional yang dapat memenuhi segala jenis sistem pengoperasian database modern. Dengan memperkenalkan sebuah bahasa yang dinamakan sequel yang berkembang menjadi SQL. 6.5. PENGGUNAAN SQL Menurut penggunaannya, perintah-perintah SQL dapat dikelompokkan menjadi 2 bagian, yaitu: 1. Secara Interpretasi (Interactive SQL), yaitu dengan cara memasukkan perintahperintah SQL melalui console atau mikrokomputer dan secara langsung diproses sehingga dapat langsung dilihat. 2. Secara Sisip (Embedded SQL), yaitu dengan cara menyisipkan perintah-perintah SQL ke dalam bahasa pemrogram tertentu sehingga untuk melihatnya dibutuhkan media khusus yang dirancang oleh seorang programmer. 6.6. STATEMEN SQL Yang dimaksud dengan statement SQL adalah sekumpulan perintah-perintah SQL yang memiliki peranan dalam pembentukan dan pengaturan suatu database. Statemen SQL terbagi menjadi 3 bagian, yaitu: 1. DDL (Data Definition Language), yaitu sebuah perintah SQL yang berorientasi pada pembentukan atau penghapusan database, label dan index. Yang termasuk ke dalam kategori DDL:

Create database Create table Create index Create view

Drop database Drop table Drop index Drop view

Alter table

Pemrograman PHP

2. DML (Data Manupulation Language), yaitu perintah-perintah SQL yang berhubungan dengan data atau record, di antaranya menampilkan data, menghapus data, atau meng-update data. Yang termasuk ke dalam kategori DML:

Insert, Select, Update, dan Delete.


3. DCL (Data Control Language), merupakan kumpulan perintah SQL yang berfungsi untuk melakukan pendefinisian pemakai yang boleh atau tidak mengakses database dan apa saja privilegenya. Yang termasuk dalam kategori DCL:

Commit, Rollback, Grant, dan Revoke

6.7. FUNGSI SQL Fungsi-fungsi SQL ini penggunaannya harus bersamaan dengan perintah DML. Fungsi-fungsi SQL yang lazim digunakan, di antaranya adalah: 1. Fungsi Agregat, yaitu sebuah fungsi built-in yang hampir pasti ada dalam sistem database relasional. Dengan kata lain fungsi agregat merupakan fungsi standar dari SQL. Yangtermasuk dalam fungsi agregat:

Avg, Sum, Count, Max, Min, Std, dan Stddev.


2. Fungsi Aritmatik, yaitu sebuah fungsi yang berguna dalam program perhitungan atau manipulasi data numerik. Yangtermasuk dalam fungsi aritmatik, di antaranya:

+ (penjumlahan), - (pengurangan), * (perkalian), / (pembangian), % (; hasil bagi), ABS(x), ACOS(x), ASIN(x), ATAN(x), COS( CEILING(x), ROUND(x), dan lain sebagainya.
3. Fungsi String, berfungsi untuk melakukan manipulasi data yang bertipe string. Yang termasuk dalam fungsi string, di antaranya:

Ltrim(x), Trim(x), Replace(x), Left(x), dan sebagainya.


4. Fungsi Tanggal, memiliki fungsi untuk mengatur data-data yang bertipe data datetime. Format tanggal dan jam pada MySQL:

yyyy-mm-dd hh:ii:ss
Yang termasuk dalam fungsi string, di antaranya:

NowQ, HourQ, Minute(), MonthQ, dan sebagainya.

Pemrograman PHP

6.8. Data Definition Language Sebelumnya, telah dijelaskan bagaimana cara melakukan pembuatan dan pengaturan database melalui browser, yaitu dengan phpmyadmin. Mungkin bagi yang terbiasa melakukan pembuatan dan pengaturan database lewat console atau dos-prompt akan terasa kurang nyaman jika harus melakukannya pada browser. Untuk itu pada bab ini, akan dibahas bagaimana cara melakukan pembuatan dan pengaturan database lewat console pada operating system Linux atau dos-prompt pada operating system Windows. Cara pembuatan dan pengaturan database pada console Linux: 1. Pada console, masukkan perintah: su-Untuk masuk ke dalam super user. 2. Lalu masukkan perintah:/opt/xampp/xampp start Untuk mengaktifkan apache dan mysql 3. Setelah mengaktifkan apache dan MySQL, langkah selanjutnya yaitu menjalankan mysql. Dengan cara memasukkan perintah: /opt/xampp/bin/mysql Akan terlihat tampilan pada console seperti gambar ini:

Gambar 3.1 Konsole Linux


Cara pembuatan dan pengaturan database pada dos-prompt Windows: 1. Setelah mengaktifkan command prompt atau dos-prompt, masukkan perintah seperti berikut: cd \Program Files\xampp\mysql\bin 2. Akan terlihat pada command prompt: C:\Program Files\xampp\mysql\bin> dan masukkan perintah seperti berikut:

mysql -u root
Akan terlihat tampilan seperti gambar ini:

Pemrograman PHP

6.9. DATABASE Terdapat perintah-perintah DDL dalam pembuatan, menampilkan database. 6.9.1 Membuat Database Bentuk umum penulisannya: penghapusan, pengaktifan, dan

Create database nama_database;


Ketentuan dalam membuat nama database, jangan menggunakan spasi jika memiliki nama database lebih dari satu kata. Dapat menggunakan underscore (_). Contoh: siswa_25. Contoh:

mysql>Create database siswa;


6.9.2 Menampilkan Seluruh Database Bentuk umum penulisannya: Show databases; Contoh:

mysql>Show databases;
Akan terlihattampilan seperti gambar ini:

Gambar Menampilkan Seluruh Database 6.9.3 Mengaktifkan Database Bentuk umum penulisannya: Use nama_database; Contoh:

mysql>use siswa;
6.9.4 Menghapus Database Bentuk umum penulisannya:

Drop database nama_database;


Contoh:

mysql>drop database baru;


Pemrograman PHP 7

6.10. TABEL Tabel merupakan media yang dapat melakukan proses relasional antartabel. Pada label terdapat field dan record. Field merupakan judul kolom yang memiliki tipe data, size record, kunci relasi, dan sebagainya. Record adalah kumpulan data yang tersusun secara per baris. 6.10.1. Tipe Data Tipe data dapat dikelompokkan menjadi 3 bagian, yaitu tipe data string, tipe data numerik, dan tipe data datetime. 6.10.1.1. Tipe Data String Yang ternasuk ke dalam kategori ini, adalah: Char Pendeklarasian: Char(size) Char merupakan tipe data string yang menyediakan panjang karakter maksimal 255 karakter. Tipe data char juga memiliki panjang yang tetap untuk setiap data yang dimasukkan sesuai dengan panjang yang dideklarasikan. Contoh: Anda menentukan char(15), lalu terdapat record "Istimewa" pada field tersebut. Karena "Istimewa" memiliki 8 karakter maka mysql akan menambah 7 spasi untuk melengkapi sisa spasi menjadi 15 spasi sesuai dengan apa yang telah dideklarasikan. Varchar Pendeklarasian: Varchar(size) Pada dasarnya tipe data varchar memiliki kesamaan dengan tipe data char, yaitu memiliki panjang maksimal 255 karakter. Perbedaannya apabila pada char jika jumlah karakter pada suatu field kurang dari ukuran nilai yang telah dideklarasikan, maka sisanya akan ditambahkan oleh jumlah spasi yang tersisa. Tidak demikian halnya dengan varchar, jika jumlah karakter pada suatu field kurang dari ukuran nilai yang telah dideklarasikan, maka tidak akan ditambahkan spasi, melainkan hanya memasukkan jumlah karakter yang dimasukkan saja, sehingga tipe data varchar lebih hemat dari char. Tinytext Pendeklarasian: Tinytext Memiliki nilai size yang sama dengan varchar(255). Text dan Blob Pendeklarasian: Text atau Blob Tipe data text dan blob memiliki kesamaan dengan tipe data char dan varchar, yaitu memiliki kesamaan dan perbedaan. Persamaan antara tipe data text dan blob adalah dapat menampung teks atau string yang tidak terbatas jumlahnya. Perbedaan tipe data blob memungkinkan untuk menyimpan data gambar atau dokumen, sehingga antara dokumen dan gambar tidak lagi terpisah. Tipe data text hanya dapat menampung teks atau string saja. Mediumtext Pendeklrasian: Mediumtext Tipe data ini memiliki panjang maksimal 1.677.215 karakter. Longtext Pendeklarasian: Longtext Tipe data longtext memiliki size maksimal 4.294.967.295 karakter.

Pemrograman PHP

6.10.1.2. Tipe Data Numerik Yang termasuk ke dalam kategori ini adalah: Integer/Int Pendeklarasian; Int(size) Nilai yang dapat disimpan antara -2.147.483.648 sampai 4.294.967.295. Tinyint Pendeklarasian: Tinyint(size) Nilai yang dapat disimpan antara -128 sampai 255 . Mediumint Pendeklarasian: Mediumint(size) Nilai yang dapat disimpan antara -8.3 88.608 sampai 8.288.607. Bigint Pendeklarasian: Bigint(size) Nilai yang dapat disimpan antara -92.233.720.368.547.758.078 sampai 92.233.720.368.547.758.078. Float Pendeklarasian: Float Float menyimpan bilangan real dan tidak dapat bernilai negatif. Double Pendeklarasian: Double Kebalikan dari float yang hanya menerima bilangan real, double dapat menerima bilangan real atau desimal.

6.10.1.3. Tipe Data Date dan Time Yang termasuk ke dalam kategori ini, adalah: Date Pendeklarasian: Date Date menyimpan nilai format YYYY-MM-DD. Nilai yang diizinkan antara 1000-01-01 sampai dengan 9999- 12-31. Datetime Pendeklarasian: Datetime Datetime menyimpan nilai format YYYY-MM-DD HH:MM:SS. Nilai yang diizinkan antara 1000-01-01 00:00:00 sampai dengan 9999-12-3123:59:59. imestamp Pendeklarasian: Timestamp(size) Pada tipe data datetime ini, saat pendeklarasian harus disertakan dengan size. Contoh: timestamp(2) -^ YY atau timestamp(4) -> YYMM. Time Time Pendeklarasian: Time Format time adalah HH:MM:SS (Hour: Minute: Second). Year Pendeklarasian: Year(digit) Untuk tipe data datetime year terdapat digit yang ditentukan dengan Pemrograman PHP 9

2 atau 4. Jika dipilih 2 digit maka akan menghasilkan 00 (untuk 2000), Nilainya antara 1970-2069. Sedangkan untuk 4 digit nilainya antara 1901-2155. 6.10.2. Tipe Key (Kunci) Penggunaan key pada umumnya digunakan pada relasi label, namun tidak menutup kemungkinan satu label juga membutuhkan key, yaitu primary key. Berikul in i merupakan tipe key yang digunakan dalam relasi antar tabel atau salu label: Super key Merupakan kumpulan atribute(field) atau satu atribul yang secara unik mengindentifikasi sebuah record pada suatu relasi. Candidate key Merupakan field unik yang umumnya dapal dijadikan sebagai relasi. Primary key Merupakan candidate key yang terpilih untuk mengindentifikasi record secara unik dalam suatu relasi. Jika terdapat auto_increment pada sualu field, maka field tersebut harus bersifat primary key. Alternative key Merupakan bagian dari candidate key yang tidak terpilih sebagai primary key. Foreign key Field yang menjadi penghubung suatu relasi, yaitu dari primary key. 6.10.3. Auto_Increment Berfungsi untuk memberikan nilai dengan kelipatan satu dimulai dari 1 secara otomalis, sehingga user tidak perlu memasukkan nilai. Field yang dapat diberikan auto_increment harus yang bertipe data numerik. Dan umumnya digunakan dalam pembuatan nomor unit. 6.10.4. Membuat Tabel Yang perlu diperhatikan sebelum membuat sebuah label adalah melakukan pengaktifan database tertentu terlebih dahulu, Bentukumumpenulisannya:

Create table nama_table(field 1 tipe(size),....);


Contoh:

mysql>creale table tsiswa(no int(5) auto_increment primary key, nis varchar(7),nama varchar(25));
6.10.5. Menghapus Tabel Bentuk umum penulisannya:

Drop table nama_table;


Contoh:

mysql>drop tabel kesiswaan;

6.10.6. Memodifikasi Tabel Macam-macam modifikasi tabel, yaitu menambahkan field, mengganti size record suatu field, menghapus field, dan mengganti nama field.

Pemrograman PHP

10

6.10.6.1. Menambahkan Field Bentuk umum penulisannya:

Aller table nama_table Add Column field lipe(size);


Contoh:

mysql>alter table tsiswa add column alamat varchar(30);


Catatan tambahan: Untuk menyisipkan atau menambahkan field pada awal field. mysql>alter table tsiswa add column phone varchar(30) first; Untuk menyisipkan atau menambahkan field setelah field tertentu.

mysql>alter table tsiswa add column phone varchar(30) after alamat;


6.10.6.2. Mengganti Nama, Tipe Data, dan Size Field Bentuk umum penulisannya:

Alter table nama_table change old_field new_field tipe(size);


Contoh:

mysql>alter table tsiswa change phone telephone char(25); phone varchar(30) -> telephone char(25)

6.10.6.3. Mengganti Tipe Data Field Bentuk umum penulisannya:

Alter table namajable modify field new_tipe(size);


Contoh:

mysql>alter table tsiswa modify telephone varchar(25);

telephone char(25) -> telephone varchar(25)


6.10.6.4. Menghapus Nama Field Bentuk umum penulisannya:

Alter table nama_table drop field;


Contoh:

mysql>alter table tsiswa drop telephone;


6.10.7. Menampilkan Struktur Tabel Bentuk umum penulisannya: Desc nama_table;Contoh:

mysql>desc tsiswa;
6.10.8. Mengganti Nama label Bentuk umum penulisannya:

Alter table old_table_name rename new_table_name;


Contoh:

mysql>alter table tsiswa rename kesiswaan;


6.10.9. Menghapus label Pemrograman PHP 11

Bentuk umum penulisannya:

Drop table nama_table;


Contoh:

mysql>drop table kesiswaan;


6.10.10. Menampilkan Seluruh Tabel Bentuk umum penulisannya:

Show tables;
Contoh:

mysql>show tables;
6.11. INDEX Index berfungsi mempercepat proses pencarian data dalam suatu label. Adanya index pada suatu field tabel, menyebabkan proses pencarian otomatis akan dilakukan terlebih dahulu ke dalam index, apabiladitemukan baru akan diambilkan data yang sesungguhnya dari tabel. Apabila tidak ditemukan dalam index, sudah dapat dipastikan bahwa data tersebut memang tidak ada dalam tabel. Index juga dapat dibuat untuk setiap kolom yang akan dijadikan kriteria tertentu untuk pencarian data, sehingga proses pencariannya akan lebih cepat. Pada index terdapat perintah pembuatan dan penghapusan index, namun tidak terdapat perintah perubahan nama index. 6.11.1. Membuat Index Bentuk umum penulisannya:

Create index nama_index on nama nama_table(field);


Atau

Alter table nama_table add index nama_index(field);


Contoh:

mysql>create index idxnomor on kesiswaan(no);


Atau

mysql>alter table kesiswaan add index idxnis(nis);


6.11.2. Menghapus Index Penghapusan nama index tidak akan menghapus field table atau tabel, namun hanya memperlambat proses pencarian saja. Bentuk umum penulisannya:

Drop index nama_index on nama_table;


Atau

Alter table nama__table drop index nama_index;


Contoh:

mysql>drop index idxnomor on kesiswaan; Atau mysql>alter table kesiswaan drop index idxnis;
6.12. MENGHAPUS PRIMARY KEY

Pemrograman PHP

12

Bentuk umum penulisannya:

Alter table nama_table drop primary key,add primary key(no);


Contoh:

mysql>alter table kesiswaan drop primary key, ->add primary key(no);

6.13. Data Manipulation Language 6.13.1. INSERT Insert merupakan perintah SQL yang berfungsi untuk menyisipkan nilai-nilai pada field-field label. Bentuk umum penulisannya:

Insert into nama_table values (nill,nil2,..); aA


Atau

Insert into nama_table(fieldl,field2,. Rvalues (nil l,ni!2,..);&B


Contoh:

mysql>insert into kesiswaan(nis,nama,alamat) values ("0123456","Sukamto'Y'Jakarta");


Atau

mysql>insert into matakuliah values ("M-OI","Matematika");


Mengapa dalam penulisan perintah insert terdapat perbedaan? Perbedaan itu disebabkan oleh beberapa sebab: 1. Rumusan bagian B: Adanya salah satu field yang memiliki sifat auto_increment, sehingga dalam melakukan penyisipan nilai secara otomatis langsung disisipi walau tanpa ada nilai yang disisipi secara langsung. Contoh rumus yang digunakan adalah: mysql>insert into kesiswaan;nama,alamat) values("0123456","Sukamto","Jakarta"); Perhatikan struktur label kesiswaan berikut ini:

Field

Type

Key

Default

Extra

No

Int(5) Varchar(7) Varchar(25) Varchar(30)

PRI

NULL NULL NULL NULL

autoincrement

Nis nama alamat

MUL

Pada field "no" terdapat "auto_increment" pada bagian "Extra". Karena sifat dari auto_increment, yaitu menyisipkan nilai secara otomatis, maka user tidak perlu menyisipi nilai. Oleh sebab itu hanya ada 3 field yang harus disisipi secara langsung, yaitu: nis, nama, dan alamat. Yang dapat melakukan bentuk rumusan bagian "B", selain field yang memiliki auto_increment. Ada juga field yang harus dimasukkan dengan rumusan tertentu. Contoh, perhatikan label transaksi berikut ini:

Pemrograman PHP

13

Kode 01 03

Jenis ? ?

Harga 3500 25000

Jumlah 5 2

Untuk "Jenis" tidak dapat diinput secara manual melainkan harus mengggunakan rumusan: Jika Kode 01 maka Elektronik, jika Kode 02 maka Komputer dan jika Kode 03 maka Game Station. Maka cara menyisipkan nilai unluk field Kode, Harga dan Jumlah adalah sebagai berikut: mysql>insert into transaksi(Kode,Harga,Jumlah) ->values(01,3500,5); Untuk Jenis bila penyisipan nilainya secara interpreslasi (langsung), maka hanya dapat dilakukan dengan perintah update. Jika penyisipannya dengan cara Embedded (penyisipan lewat program tertentu), dalam menyisipkan jenis dapat dilakukan dengan rumusan bagian B, atau dengan perintah update. 2. Rumusan bagian A: Apabila deretan field-field yang terdapat pada suatu tabel memiliki deretan nilai penyisipan yang sama. Perhatikan struktur label matakuliah, berikut ini:

Karena field-field yang terdapat pada tabel matakuliah tidak mengandung sifat auto_increment atau rumusan terentu, maka deretan field dan penyisipan. nilai adalah sama. Contoh penyisipannya adalah sebagai berikut: mysql>insert into matakuliah values ("M-01 ","Matematika"); 6.13.2. SELECT Select merupakan perintah untuk menampilkan record atau data. Dalam menampilkan record atau data dapat dilakukan dengan 2 cara, yaitu tanpa kondisi dan dengan kondisi. Bentuk umum penulisan tanpa kondisi; Select fieldl,,. from nama_table; Atau Select * from nama_table; Contoh: mysql>select * from kesiswaan; Artinya: Menampilkan seluruh record table kesiswaan. Atau mysql>select nis,nama,alamat data nis, nama, dan alamat saja. Bentuk umum penulisan dengan kondisi: Select field 1,.. from nama_table where kondisi; Atau Select * from nama_table where kondisi; Contoh: mysql>select * from transaksi where kode="01" ; Artinya: Menampilkan seluruh record yang berkode 01. Atau Pemrograman PHP 14 from kesiswaan; Artinya: Menampilkan

mysql>select kode,harga from transaksi where kode="03"; Artinya: Menampilkan data kode dan harga yang berkode 03. Yang perlu diperhatikan dalam penyeleksian data atau record dengan kondisi, terdapat operator-operator dan tanda-tanda khusus. Operator Pembanding: Operator > < >= <= <> Like Lebih Besar Lebih Kecil Lebih Besar Sama Dengan Lebih Kecil Sama Dengan Bukan atau Tidak Termasuk Sama halnya dengan Sama Dengan (=), namun pada Like dapat diikuti oleh tanda-tanda khusus, yaitu : % (persen) dan _ (underscore). Penjelasan:% untuk menggantikan beberapa karakter. _ untuk menggantikan satu karakter.

Sama Dengan

Operator Logika: Operator And Or Arti Dan atau Antara Atau

Untuk lebih mudah memahami perintah select dengan menggunakan kondisi, maka dibuatlah tabel kuliahan yang field dan recordnya seperti ini: Nim 21196353 41296525 50096487 10296832 31296500 31292521 41197522 Nama Quraish Prananingrum Pipit Nurhayati Budi Lilik Pratiwi Alamat Bogor Bogor Bekasi Jakarta Depok Jakarta Jakarta

Bagaimana cara menampilkan seluruh data kuliahan bagi yang namanya mengandung huruf "i" ? Penulisannya: mysql>Select * from kuliahan where Nama Like *%i%'; Cara menampilkan data, namun hanya Nama dan Alamat saja bagi yang beralamat di Jakarta. Penulisannya: mysql>Select Nama,Alamat from kuliahan where -> Alamat=' Jakarta'; Pemrograman PHP 15

Cara menampilkan seluruh data bagi yang beralamat di Jakarta dan Bogor. Penulisannya: mysq!>Select * from kuliahan where Alamat='Jakarta' Or Alamat='Bogor'; Cara menampilkan seluruh data bagi yang namanya hanya terdiri dari 4 karakter. Penulisannya: mysql>Select * from kuliahan where Nama Like ' (4 x underscore) Cara menampilkan seluruh data bagi yang namanya berawalan dari huruf 'P'. Penulisannya: mysql>Select * from kuliahan where Nama Like T%'; Cara menampilkan seluruh data pada tabel transaksi yang harganya antara Rp. 10.000 sampai dengan Rp. 35.000. Penulisannya: mysql>Select * from transaksi where Harga>=10000 And Harga<=35000; Cara menampilkan seluruh data mahasiswa secara urut dari Z ke A. Penulisannya: mysql>Select * from kuliahan order by Nama Desc; Cara menampilkan seluruh data mahasiswa secara urut dari A ke Z. Penulisannya: mysql>Select * from kuliahan order by Nama Asc; Cara menampilkan seluruh data mahasiswa yang tidak mengandung huruf *U'. Penulisannya: mysqI>Se!ect * from kuliahan where Nama not Like '%u%'; Cara menampilkan seluruh data transaksi yang harganya bukan Rp 20.000. Penulisannya: mysql>Select * from transaksi where harga<>20000;

6.13.3. UPDATE Perintah update digunakan untuk melakukan penyimpanan hasil editing suatu data. Sama halnya dengan perintah select, dalam proses update dapat dilakukan tanpa kondisi atau dengan kondisi. Pemrograman PHP 16

Bentuk umum penulisan tanpa kondisi: Update nama_table set field=nilai; Contoh: mysql>Update kuliahan set Nama="Agus"; Penjelasan: Seluruh nama mahasiswa akan berubah menjadi "Agus" semua. Untuk itu diperlukan kondisi agar yang berubah hanya kondisi-kondisi tertentu. Bentuk umum penulisan dengan kondisi: Update nama_table set field=nilai where kondisi; Contoh: Mysql> Update kuliahan set Nama="Budi Setiawan" Where Nama="Budi"; Penjelasan: Nama mahasiswa yang bernama "Budi" akan berubah menjadi "Budi Setiawan" Perhatikan tabel transaksi berikut ini Kode 01 03 02 03 Jenis ? ? ? ? Harga 3500 25000 10000 27500 Jumlah 5 2 2 3

Jika Kode 01 maka Elektronik. jika Kode 02 maka Komputer. jika Kode 03 maka Game Station, Cara menginput nilai untuk field "Jenis" menjadi Elektronik bagi yang berkode 01. Penulisannya: mysql>update transaksi se| Jenis="Elektronik" where ->Kode="01"; Cara menginput nilai untuk field "Jenis" menjadi Komputer bagi yang ber kode 02. Penulisannya: mysql>update transaksi set Jenis="Komputer" where ->Kode="02"; Cara menginput nilai untuk field "Jenis" menjadi Game Station bagi yang berkode 03. Penulisannya: mysql>update transaksi set Jenis="Game Station" where ->Kode="03";

Pemrograman PHP

17

6.13.4. DELETE Delete memiliki fungsi untuk menghapus suatu data pada suatu tabel. Delete pun memiliki cara kerjayang terdiri dari 2 bagian, yaitu tanpa kondisi dan dengan kondisi. Bentuk umum penulisan tanpa kondisi: Delete from nama_table; Contoh: mysql>delete from transaksi; Penjelasan: Seluruh data pada tabel kuliahan akan terhapus semua. Untuk itu harus berhati-hati dalam menggunakan perintah delete. Bentuk umum penulisan dengan kondisi. Delete from nama_table where kondisi; Contoh: mysql>delete from transaksi where Kode="01"; Penjelasan: Seluruh data yang berkode 01 akan dihapus dari tabel transaksi. Cara menghapus harga pada tabel transaksi yang memiliki range antara 10000 s/d 25000. Penulisannya: mysql>delete from transaksi where Harga>= 10000 And ->Harga<=25000; Latihan menerapkan perintah DDL dan DML pada kasus seperti berikut: 1. Buatlah database dengan nama "Mahasiswa"? 2. Buatlah tabel dengan nama "Penilaian" dengan struktur tabel seperti berikut: Field Nim KdMk NamaMk Mid Final NilRata Float(5) Float(5) Float(5) Type Int(8) Varchar(5) Key PRI Default NULL NULL NULL NULL NULL NULL Extra

Pemrograman PHP

18

3. Sisipkan nilai-nilainya seperti tabel berikut: Nim 10296832 10297732 20216832 30216832 10297732 20216832 30216832 KdMK KK021 KD132 KK02I KU122 KK021 KD132 KK021 NamaMK ? ? ? ? ? ? ? Mid 75 77.5 83.5 65.4 79.5 80.5 67 Final 82 73.5 81.7 77 82.5 83 78 NilRata ? ? ? ? ? ? ?

4. Tampilkan seluruh record mahasiswa yang berkode matakuliah atau KdMK=KK021!

5. Tampilkan record field Nim,KdMK dan Mid saja bagi yang nilai mid-nya antara 75 dan
90! 6. Sisipkan nilai untuk field namamatakuliah (NamaMK), dengan ketentuan sebagai berikut: 7. Sisipkan nilai untuk field nilai rata-rata (NilRata), dengan ketentuan sebagai berikut: Mid + Final /2 8. Hapuslah record yang memiliki Nim = 10296832!

Pemrograman PHP

19

6.14. Pengaturan Privilege Privilege adalah merupakan hak akses dan hak kelola database daiam server database. Pengaturan privilege meliputi penambahan, perubahan, dan penghapusan data pemakai. label yang sangat berperan dalam hal privilege adalah tabel "user" yang berada pada database "mysql". Pengaturan privilege sangat penting karena setiap kali perintah mysql dijalankan, akan dilakukan pemeriksaan terlebih dahulu tentang nama pemakai (user), password, dan host yang terdapat pada tabel user. Jika user, password, dan host tidak sesuai maka proses dibatalkan. Contoh: ketika ingin masuk ke dalam database mysql (pada Windows), diharuskan menuliskan 'mysql-u root', untuk lebih jelasnya perhatikan proses detailnya berikut ini: C:\Program Files\xampp\mysql\bin>mysql -u root; Jika hanya menuliskan 'mysql* maka akan ditolak masuk ke dalam database mysql. Maksud dari -u root adalah bahwa useraya bernama root. Bagaimana untuk mengetahui user name, password, dan host? Itu semua terdapat pada database mysql dan table user. Proses kerjanya: 1. Setelah Anda masuk ke dalam mysql, maka lakukan pengecekan database dengan perintah: mysql>show databases; 2. Lalu aktifkan database mysql dengan perintah: mysql>use mysql; Untuk melihat tabel-tabel yang terdapat pada database mysql, masukan perintah berikut: mysql>show tables; 3. Untukmengetahui isi dari tabel user lebih detil, lakukan perintah berikut: mysql>select * from user/G; Selanjutnya akan terlihat tampilan seperti berikut:

Gambar Isi dari Tabel User Pemrograman PHP 20

Untuk memperjelas tentang fungsi-fungsi field Select_priv sampai Create_user_priv, dapat dilihat pada tabel berikut: Nama Field

Select_priv Insert_priv
Update_priv Delete_priv Create_priv

Memiliki fimgsi untuk dapat melakukan perintah DML, yaitu select Berfungsi agar dapat melakukan perintah insert. Memberikan hak untuk melakukan perubahan data. Berfungsi untuk memberikan perintah penghapusan data. Memberikan hak untuk dapat membuat database, table, dan index. Mendefinisi hak untuk dapat menghapus tabel atau database. Hak untuk memberikan hak akses dan hak kelola database kepada pemakai lain. Hak untuk mengakses dan mengelola ini sebaiknya diberikan kepada Administrator. Saat ini belum digunakan oleh MySQL Memiliki peran untuk membuat dan menghapus index. Berfungsi untuk melakukan pemodiflkasian table. Mendefinisi apakah pemakai berhak mengaktifkan definisi privilege yang diacu database secara langsung atau tidak. Memberikan hak kepada user untuk dapat menonaktifkan atau mengaktifkan database. Memberikan hak kepada user untuk mematikan proses-proses yang dibuat oleh MySQL atau tidak. Mendefmisi apakah pemakai dapat melakukan operas! file di dalam server atau tidak

Kegunaan

Drop_priv Grant_priv

Reference_priv Index_priv Alter_priv


Reload_priv Shutdown_priv Process_priv File_priv

Terdapat 2 cara untuk mendefinisi privilege user dalam MySQL, yaitu: Menggunakan perintah DML dan DCL. 6.14.1. MENGGUNAKAN PERINTAH DML

Yang perlu diperhatikan dalam hal privilege adalah: 1. Menambahkan User. 2. Pencabutan Privilege. Adapun tabei yang sangat berperan dalam hal privilege adalah label user. Tabel user berada pada database mysql, untuk lebih jelasnya perhalikan skema ini: mysql

User: 1. Menambahkan User dan Privilege-nya. 2. Pencabutan Privilege.

Pemrograman PHP

21

Database mysql adalah merupakan database sistem yang berfungsi untuk melakukan manajemen database dan pengaturan user yang berhak mengakses dan menggunakan server MySQL. Database mysql ini secara default telah terdapat di saat Anda menginstal database MySQL. 6.14.1.1. Menambahkan User dan Privilege Proses menambahkan user dan privilege, yaitu suatu proses penambahan user serta pemberian hak akses dan pengelolaan database untuk setiap user pada tabel user. Dapat juga Anda hanya menambahkan user dengan tidak memberikan privilege kepada user yang bersangkutan. Jika Anda hanya menambahkan user saja, maka hal yang begitu penting dalam penambahan user adalah: user dan host, sedangkan password hanya sebagai pelengkap saja. Contoh proses penambahan user tanpa privilege:

mysql>insert into user (Host,User) values ("cerdasbangsa.com,karno");


Dengan demikian jika Anda ingin masuk ke server mysql dengan menggunakan user 'karno' sudah dapat dilakukan, namun Anda tidak dapat melakukan proses create, drop, insert, update, dan delete. Yang dapat dilakukan hanya sebatas perintah select, use, show, dan desc. Ini disebabkan karena user 'karno' hanya sebatas berhak akses namun tidak memiliki privilege. Contoh cara menambahkan user dan privilegenya, adalah sebagai berikut ini:

mysql>insert into user(Host,User,Select_priv,Insert_priv, Updatejjriv,Delete_priv,Create_priv,Drop_priv) values ("cerdasbangsa.com","karno","Y","Y","Y","Y", Y,Y);


6.14.1.2. Penarikan Privilege Untuk penarikan privilege dengan perintah DML adalah sebagai berikut:

mysql>update user set Select_priv='N',Update_priv='N*, Delete_priv~'N',Create_priv='N',Drop_priv='N' where User='karao';


Dengan demikian user 'karno hanya dapat akses namun tidak berhak mengelola database, kecuali hanya perintah-perintah use, show, atau desc. 6.14.2. Menggunakan Perintah DCL Pada perintah DCL terdapat 2 cara dalam pengaturan privilege, yaitu Grant dan Revoke. Grant berfungsi untuk menambahkan user namun belum diberikan hak privilegenya. Revoke berfungsi untuk menarik hak akses terhadap user. 6.14.2.1. Grant Bentuk umumnya:

Grant hak_akses on nama_table to user@host;


Atau

Grant hak_akses on nama_database.nama__table to user@host;


Contoh:

mysql>Grant select on dbaru.tbaru to solusi@localhost;


Selanjutnya akan terdapat pada tabel user: Host=localhost dan User=solusi, namun untuk field-field yang menyangkut hak pengelolaan msih dalam kondisi N'. Pemrograman PHP 22

Catatan: Untuk melakukan rumusah Grant hak_akses on nama_table to user@host; sebelumnya harus diaktifkan terlebih dahulu nama databasenya. 6.14.2.2. Revoke Bentuk umumnya:

Revoke hak_akses on nama_table From user@host;


Atau

Revoke hak_akses on nama_database.nama_table From user@host;


Contoh:

mysqI>Revoke select on dbaru.tbaru from solusi@localhost;


Atau Dapatjuga dengan cara mengaktifkan database yang bersangkutan terlebih dahulu, setelah itu baru masukkan rumusan:

Revoke hak^akses on nama_table From user@host;

Pemrograman PHP

23

Anda mungkin juga menyukai