aageboi.to_blog

htmlentities( @blog.to_s.gsub('#', 'aageboi' ) )
  • Tutscodes

    Tutorials + Source Codes

    Railscasts versi aageboi.com. Sudah dapet ijin dari Ryan Bates nya buat bikin situs Railscasts versi bahasa Indonesia, tapi sekarang masih jiplak abis...

  • lorem ipsum

    wordpress theme

    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer...

0
aageboi
Feb22

Bagaimana mengeksekusi Query SQL

Bagi yang belum tahu, query SQL dapat di eksekusi menggunakan perintah SQL lewat command line atau dapat menggunakan antarmuka web seperti yang paling terkenal PhpMyadmin. Karena kita menggunakan WordPress, maka plugin SQL Executioner memberikan kemudahan dalam mengeksekusi query SQL langsung melalui dashboard WordPress anda.

Meskipun semua query disini sudah di uji coba, jangan lupa anda juga perlu melakukan test query yang ada disini menggunakan blog anda. Jangan lupa untuk selalu membackup terlebih dahulu database anda.

Mengganti Password anda secara Manual

Seandainya anda lupa password admin blog anda, salah satu solusinya adalah langsung mengganti ke dalam database. Query berikut akan mengganti password anda. Saya menggunakan fungsi MySQL MD5() untuk meng-encrypt password ke dalam MD5.

UPDATE 'wp_users'
SET 'user_pass' = MD5('PASSWORD')
WHERE 'user_login' = 'admin'
LIMIT 1;

Source lengkap disini.

Mengirim Posting dari satu user ke user lain

Pada umumnya, pengguna WordPress baru, lebih memilih menggunakan account ‘admin’ yang lama daripada membuat account dengan nama asli mereka. Jika anda salah dan membuat account lainnya di kemudian hari, anda dapat dengan mudah mengirim posti user ‘admin’ lama anda ke account baru dengan query SQL berikut.

Anda memerlukan id user dari account lama dan account baru anda.

UPDATE wp_posts
SET post_author = NEW_AUTHOR_ID
WHERE post_author=OLD_AUTHOR_ID;

Source lengkap disini.

Menghapus revisi posting dan data terkait revisi tersebut

Revisi post sangat berguna, terutama untuk blog dengan author banyak. Tetapi, masalahnya adalah jumlah revisi sama dengan banyaknya data yang disimpan di dalam database. Contohnya, jika blog anda memiliki 100 post, dengan masing-masing memiliki 10 revisi, anda akan memiliki 1000 record di dalam table wp_posts, padahal hanya 100 yang memang benar.

Mengeksekusi query berikut akan menghapus semua revisi posting bersama data terkait (mis, field custom) revisi tersebut. Dengan demikian akan memberi database anda space.

DELETE a,b,c
FROM wp_posts a
WHERE a.post_type = 'revision'
LEFT JOIN wp_term_relationships b ON (a.ID=b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID=c.post_id);

Source lengkap disini.

Menghapus komentar Spam

Bayangkan ketika anda pulang dari berlibur di daerah yang tidak memiliki akses internet. Jika anda belum menginstall Akismet dan melihat seberapa terkenal blog anda, anda mungkin harus memoderasi 1000, 2000 atau bahkan 10.000 lebih komentar. Bisa membutuhkan waktu seharian untuk moderasi sebanyak itu, atau anda dapat menggunakan query berikut untuk menghapus semua komentar yang belum di approve.

Dan untuk liburan selanjutnya, jangan lupa untuk menginstall Akismet.

DELETE FROM wp_comments
WHERE comment_approved = '0';

Source lengkap disini.

Mencari Tags yang tidak digunakan

Tags disimpan di dalam tabel wp_terms. Jika suatu hari tag dibuat tapi tidak pernah digunakan sama sekali, akan terus ada di dalam tabel. Query ini akan memberi tahu anda tags mana di dalam tabel wp_terms yang tidak pernah digunakan di blog anda. Anda aman untuk menghapusnya.

SELECT * FROM wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id
WHERE wtt.taxonomy = 'post_tag' AND wtt.count=0;

Source lengkap disini.

Cari dan replace Data

Tip ini bukan hanya untuk pengguna WordPress, tapi juga bisa digunakan untuk semua orang yang bekerja menggunakan database MySQL. Fungsi replace() di MySQL memerlukan nama field, kata yang dicari, dan kata pengganti. Ketika query ini dijalankan, semua kata yang sama dengan kata yang dicari akan di ganti dengan kata pengganti yang anda inginkan.

Di WordPress, ini dapat digunakan untuk mengganti sejumlah kesalahan penulisan (Seperti orang yang berulangkali menggunakan kata WordPress…) atau sebuah alamat email.

UPDATE table_name
SET field_name = replace( field_name, 'kata yang dicari', 'kata untuk mengganti');

Source lengkap disini.

Melihat daftar email komentator

Apakah anda pernah mendapatkan email yang tidak di inginkan dari blog yang pernah anda komentari? Saya yakin anda pernah, seperti saya. Sebenarnya, melihat daftar email komentator anda sangat mudah menggunakan query berikut. Parameter DISTINCT memastikan email akan ditampilkan sekali, meskipun user mengirimkan komentar lebih dari satu.

SELECT DISTINCT comment_author_email
FROM wp_comments;

Source lengkap disini.

Disable semua Plugins anda

Ketika terjadi suatu kesalahan, khususnya untuk situs yang sudah di publish, anda harus melakukan dengan cepat. Mengingat plugin sering menjadi sumber masalah, menon-aktifkan semua plugin dengan cepat dapat mengatasi banyak masalah. Cukup gunakan query berikut :

UPDATE wp_options
SET option_value = ''
WHERE option_name = 'active_plugins';

Source lengkap disini.

Menghapus Semua Tags

Di WordPress, tags disimpan di tabel wp_terms, bersama dengan kategori dan taxonomy. Jika anda ingin membuang semua tags, anda tidak dapat menghapus isi tabel wp_terms yang akan menghapus seluruh kategori juga!. Jika anda hanya ingin menghapus tags anda, jalankan query berikut. Ini akan menghapus seluruh tags dan hubungan antara tags dengan posts, dengan membiarkan kategori dan taxonomy tetap utuh.

DELETE a,b,c
FROM database.prefix_terms AS a
LEFT JOIN database.prefix_term_taxonomy AS b ON a.term_id=b.term_id
LEFT JOIN database.prefix_term_relationships AS c ON c.term_taxonomy_id=b.term_taxonomy_id
WHERE (b.taxonomy = 'post_tag' AND b.count = 0 );

Source lengkap disini.

Melihat daftar Meta Posts yang tidak digunakan

Meta post dibuat oleh plugin dan field tambahan. Meta sangat berguna, tetapi dengan cepat dapat membuat database anda besar. Query berikut akan menampilkan semua postmeta yang tidak memiliki hubungan dengan table post.

SELECT * FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL;

Source lengkap disini.

Nonaktifkan Komentar di posting lama

Setiap orang yang sudah aktif di dunia bloging bertahun-tahun akan tahu: Bahkan setelah beberapa bulan, posting lama anda akan tetap menarik pembaca dan mengirimkan banyak komentar, pada umumnya karena telah ter-index oleh search engine. Ini tentu saja hal bagus, tetapi masalahnya untuk saya adalah memiliki blog teknik dan harus menjawab banyak pertanyaan terkait posting lama yang bahkan sudah kuno.

Solusinya adalah menutup komentar secara otomatis untuk posting yang sudah sangat tua. Query berikut akan menutup komentar di posting yang di publish sebelum 1 January 2009.

UPDATE wp_posts
SET comment_status = 'closed'
WHERE post_date < '2009-01-01' AND post_status = 'publish';

Source lengkap disini.

Replace URL komentator

Sebelumnya di artikel ini, saya membahas tentang fungsi replace(). Berikut adalah contoh yang bagus untuk menggunakannya: Katakanlah anda sebelumnya memiliki sebuah situs dan menggunakan URL tersebut di dalam komentar sebagai backlink ke situs ini. Jika anda menjual situs tersebut, anda dapat dengan mudah mengganti URL lama dengan URL baru anda. Jalankan query berikut dan selesai!

UPDATE wp_comments
SET comment_author_url = replace( comment_author_url, 'http://urllama.com', 'http://urlbaru.com');

Source lengkap disini.

Mengganti Alamat Email komentator

Contoh lain penggunaan fungsi replace(), mengganti alamat email di field komentar dengan alamat email lainnya.

UPDATE wp_comments
SET comment_author_email = replace( comment_author_email, 'email-lama@dress.com', 'email-baru@dress.com' );

Source lengkap disini.

Menghapus Komentar dengan URL tertentu

Akhir-akhir ini, banyak spammer cerdik meninggalkan komentar tertentu, tetapi dengan sebuah link yang menuju ke situs viagra. Ketika akan menghapus komentar tersebut, ternyata sudah ada banyak komentar serupa sebelumnya yang masuk ke dalam database. Query berikut akan menghapus komentar yang memiliki URL tertentu. Tanda ‘%’ artinya kata yang mengandung URL diantara tanda % akan dihapus.

DELETE FROM wp_comments
WHERE comment_author_url = "%wpbeginner%";

Source lengkap disini.

No Comment

rss
rss
 
aageboi.to_blog © 2010
herigunawan