Diarsipkan di bawah: Eksplorasi MySQL
Apakah kamu kesulitan dalam memasukkan foto narsis kamu ke dalam database?
Apakah kamu ingin menyimpan foto artis idola ke dalam database?
Apakah kamu bingung bagaimana menyimpan gambar ke dalam database?
Jawabannya mudah, gunakan type BLOB untuk menyimpan foto atau gambar tersebut. Type Blob digunakan untuk menyimpan byte. Gambar tersebut akan disimpan dalam MySQL dalam byte.
Apakah kamu masih bingung?
Apakah tulisan di atas ada yang salah?
Silakan comment tulisan ini..
Diarsipkan di bawah: Eksplorasi MySQL
Date_format(x, simbolFormat) digunakan untuk mengkonversi data tanggal sesuai simbol format yang diinginkan, degan x adalah data tanggal.Format tanggal dalam mysql :
%M : nama bulan secara penuh
%m : nomor bulan
%b : nama bulan disingkat
%W : nama hari secara lengkap
%D : nomor hari dalam bulan
%Y : tahun dalam format 4 digit
%y : tahun dengan format 2 digit
%j : nomor hari dalam 1 tahun
%a : nama hari disingkat
%d : nomor hari dalam 1 bulan
%r : jam dalam format 12 jam
%T : jam dalam format 24 jam
%H : jam dalam format 24 jam : 00:23
%h : jam dalam format 24 jam : 00:12
%S : detik
contoh :
select date_format(‘2007-07-19′,%M%D%Y)
hasil :
July 19th 2007
Diarsipkan di bawah: Eksplorasi MySQL
SQL Injection Example
SQL injection adalah proses manipulasi query pada MySQL.
Tindakan ini sering dilakukan pada input data, seperti nama atau password.
Berikut ini adalah contoh penggunaan MySQL Injection pada script PHP:
// masukan user yang menggunakan SQL Injection $name_bad = "' OR 1'";
// contoh MySQL query yang tidak aman $query_bad = "SELECT * FROM customers WHERE username = '$name_bad'";
Maka hasil yang akan didapat adalah:
SELECT * FROM customers WHERE username = '' OR 1''
Jreng-jreng-jreng. Jika hasil diatas dibaca, maka hasilnya pun dapat terbayang
oleh kita. Hanya dengan menggunakan kutip satu (‘), kita dapat menutup string
dari MySQL query.
* username = ''
dan kemudian menambah pernyataan WHERE dengan OR 1 (selalu true).
* username = '' OR 1
OR 1 ini akan membuat selalu true dan setiap data pada tabel customer
akan terpilih pada perintah ini.
Diarsipkan di bawah: Eksplorasi MySQL
mysqldump
Salah satu hal penting di MySQL adalah backup (artinya
bukan belakang atas loh..). mysqldump berfungsi untuk melakukan backup
terhadap database atau tabel ke bentuk file sql. Berikut adalah cara-cara sederhana
menggunakan mysqldump:
Untuk mem-backup semua database di server:
mysqldump -u root -pPassword -x –all-databases > dump.sql
Untuk mem-backup database pilihan:
mysqldump -u root -pPassword -x –databases db1 db2 db3 > dump.sql
Untuk backup beberapa table pilihan dari sebuah database:
$ mysqldump -u root -pPassword -x db1 table1 table2 table3 > dump.sql
Hasil backup akan disimpan pada file dump.sql (hanya dalam contoh di atas).
Jika anda kesulitan dimana file tersebut berada, jangan lakukan search pada
explorer, cukup baca tulisan di bawah ini dengan seksama,
File dump.sql terletak pada path dimana anda menjalankan server mysql.
Contoh:
c:\basdat\mysql -u root -p
Maka file hasil mysqldump akan berada pada folder c:\basdat
Jika ada pertanyaan, hubungi 080989999 dan hubungi saya lewat email, hehe…
Diarsipkan di bawah: Eksplorasi MySQL
Bagaimana mengganti ataupun merubah password root kita??? ada dua cara yang dapat dipakai dalam merubah password root tersebut…
1. Cara pertama adalah dengan menggunakan administrative tools dalam control panel.., akan tetapi hanya dapat dilaksanakan di komputer dengan OS windows… langkah-langkah pelaksanaannya adalah sebagai berikut :
a. Masuk sebagai administrator ataupun user yang mempunyai hak sama seperti administrator.
b. Stop servis Mysql jika sedang berjalan. Lalu masuk ke administrative tools dengan cara ==> start -> control panel -> administrative tools -> service
Lalu temukan MYSQL service di dalam list, lalu stop.
c. Buat sebuah text file yang berisi satu baris perintah :
SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD(‘PassworBaru’);
simpan file tersebut. Misalkan kita beri nama ubahPass.txt
d. Jalankan command prompt.
e. Misalkan MYSQL disimpan di dalam direktorti C:\ dan file ubahPass.txt disimpan di dalam e:\ubahPass.txt,maka lakukan perintah ini
C:\> C:\mysql\bin\mysqld-nt –init-file=E:\ubahPass.txt
f. Jalankan MYSQL seperti biasa dan password anda sudah berubah.
2. Cara kedua adalah menggunakan fungsi-fungsi yang sudah disediakan di dalam MYSQL, dan dapat dilakukan di dalam OS manapun. Akan tetapi, cara ini kurang disarankan karena kurang aman. Caranya adalah mengupdate tabel user dalam database mysql.
mysql> UPDATE mysql.user SET Password=PASSWORD(‘newpwd’)
-> WHERE User=’root’;
mysql> FLUSH PRIVILEGES;
Dan password anda sudah dapat dipakai….
Diarsipkan di bawah: Eksplorasi MySQL
Masalah hapus menghapus tabel di dalam MYSQL mempunyai berbagai macam cara. Pada post kali ini yang akan dibahas adalah menghapus dengan fungsi TRUNCATE dan DROP.
a. TRUNCATE
syntax = TRUNCATE TABLE namatabel;
contoh = TRUNCATE TABLE tabeltes1;
hasil = Ouery OK, 0 rows affected(0.02 sec)
Fungsi truncate tidak menghilangkan definisi tabel yang telah kita buat, namun dia mengosongkan atau menghapus semua data yang telah kita isi di dalam tabel tersebut. Sekilas fungsi ini memiliki kemiripan dengan DELETE ALL ROW, tapi sebenarnya agak sedikit berbeda… Pada truncate tabel, sistem menghapus terlebih dahulu tabel tersebut dan membuat tabel baru yang memiliki definisi tabel yang sama dengan yang kita buat. Sedangkan pada delete all row, yang dilakukan adalah menghapus satu persatu baris. Sehingga truncate akan lebih cepat melakukan proses penghapusan.
b. DROP
syntax = DROP TABLE namatabel1, namatabel2;
contoh = DROP TABLE tabeltes1,tabeltes2;
hasil = Ouery OK, 0 rows affected(0.02 sec)
DROP TABLE dapat menghapus lebih dari satu tabel di dalam satu database. Untuk melakukannya, user harus memiliki DROP privilege. Bedanya dengan TRUNCATE adalah, semua isi data dan definisi dari tabel akan dihapus.
Diarsipkan di bawah: Eksplorasi MySQL
Dalam penanganan database adakalanya kita mengalami hal-hal yang tidak diinginkan sehingga kita harus melakukan perubahan data yang sangat besar. Sebenarnya baris yang sudah dihilangkan disusun di dalam suatu list berkait yang nantinya akan dipakai oleh prosedur INSERT untuk menggati baris yang sudah dihapus. MYSQL menyediakan cara untuk melakukan defragment terhadap database kita yaitu dengan sintaks
OPTIMIZE TABLE namatabel;
OPTIMIZE table hanya bekerja untuk tabel dengan jenis MyISAM, InnoDB, dan Archive table.
Untuk tabel dengan jenis MyISAM, optimasi tabel bekerja dengan cara seperti ini :
1. Jika tabel telah dihapus ataupun di-split, maka tabel akan dibetulkan
2. Jika index tabel belum terurut, maka akan diurutkan.
3. Jika statistik tabel tidak dimuktahirkan, maka akan dimuktahirkan.
OPTIMIZE TABLE akan mengembalikkan kolom tabel yang berisi :
1. Tabel : nama tabel
2. Op : selalu berisi optimize
3. Msg_type : dapat berisi status, warning, info, atau error.
4. Msg_text : berisi pesan untuk user.
sebagai contoh
OPTIMIZE TABLE databarang;
hasilnya :
+———————–+———-+———–+———–+
| Table | Op | Msg_type | Msg_tezt |
+———————–+———-+———–+———–+
|dbswalayan.databarang| optimize | Status | OK |
+———————–+———-+———–+———–+
Diarsipkan di bawah: Eksplorasi MySQL
Data dari sebuah tabel dapat di-export ke dalam sebuah berkas. Misalnya:
SELECT * FROM perangkat_lunak INTO OUTFILE “perangkat_lunak.xls”
Kita asumsikan telah ada database hafni yang memiliki tabel perangkat_lunak. Sebelumnya, berkas “perangkat_lunak.xls” harus tidak ada di direktori database hafni. Jika sudah ada, MySQL tidak akan menimpanya, melainkan hanya menampilkan pesan kesalahan. Jika perintah ini dijalankan, kita akan mendapatkan sebuah berkas perangkat_lunak.xls di direktori tempat bernaungnya database hafni, yaitu di C:\Program Files\MySQL\MySQL Server 6.0\data\hafni.
Jika ingin meng-exportnya ke direktori lain, kita tinggal menuliskan parameter nama berkas secara fullpath.
Diarsipkan di bawah: Eksplorasi MySQL
Untuk melakukan restore database, sama dengan melakukan backup, menggunakan Command Prompt biasa. Contoh perintahnya:
mysql db < c:\backup\db_20070602.sql -h localhost -u root
Perintah ini digunakan untuk me-restore database db dari berkas backup db_20070602.sql. Perintah ini hanya akan menimpa tabel yang di-backup. Jadi, jika kita melakukan backup satu tabel, sedangkan database tersebut memiliki dua tabel, kemudian me-restore-nya, maka tabel yang tidak di-backup tidak akan dihapus. Dengan kata lain, kita tidak perlu menambah parameter nama tabel untuk melakukannya.
Diarsipkan di bawah: Eksplorasi MySQL
Kali ini kita tidak berhadapan dengan query MySQL, melainkan dengan Command Prompt biasa.
Misalnya kita akan mem-backup database db ke sebuah berkas c:\backup\db_20070602.sql. Perintahnya adalah:
mysqldump db > c:\backup\db_20070602.sql -h localhost -u root
Setelah perintah ini dieksekusi, kita akan mendapatkan sebuah berkas dengan nama db_20070602.sql pada direktori c:\backup. Berkas ini tidak dienkripsi sehingga kita bisa membacanya melalui editor teks biasa seperti Notepad. O ya, jika koneksi ke host harus memasukkan password, tinggal tambah parameter -p.
Contoh di atas akan mem-backup semua tabel yang ada di database db. Bagaimana jika kita hanya ingin mem-backup sebagian tabel saja? Jangan nangis dulu, MySQL telah menyediakan perintahnya. Contoh lagi:
mysqldump db tabel1 tabel2 > c:\backup\db_20070602.sql -h localhost -u root