现在的位置: 首页 > Web设计> 正文
WordPress中实用的SQl语句
2012年06月05日 Web设计 评论数 2 ⁄ 被围观 6,349+

利用wordpress搭建个人博客比较方便,有时候会涉及到博客内容的批量变更,本文分享几个有效的sql语句来方便的进行内容更新。

数据库备份

在做具体的修改以前,建议先备份数据库,phpMyAdmin备份步骤如下:

  • Login to your phpMyAdmin.
  • Select your WordPress database.
  • Click on Export at the top of the navigation.
  • Select the tables you want to backup, or select all tables to backup the whole database.
  • Select SQL to export as .sql extension.
  • Check the "Save as file" checkbox.
  • Choose compression type, select gzipped to compress the database to a smaller size.
  • Finally click Go, and a download window will prompt you to save your backup database file.

实用SQL语句

变更博客网址 Siteurl & Homeurl

1
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';

变更博文归属GUID

1
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');

变更博文中的URL引用

1
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');

变更博文中的图片加载引用

1
2
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com', 'src="http://yourcdn.newsiteurl.com');
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment';
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com', 'src="http://yourcdn.newsiteurl.com');
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment';

变更博文Meta信息中的URL引用

1
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.oldsiteurl.com','http://www.newsiteurl.com');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.oldsiteurl.com','http://www.newsiteurl.com');

变更默认的管理员"Admin"用户名

1
UPDATE wp_users SET user_login = 'Your New Username' WHERE user_login = 'Admin';
UPDATE wp_users SET user_login = 'Your New Username' WHERE user_login = 'Admin';

密码重置

1
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'your-username';
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'your-username';

变更博文归属(从作者B到作者A)

首先需要获得两个作者的ID,可以通过管理员面板来浏览作者的详细信息,此时查看浏览器地址栏中的链接,寻找"user_id=?"

1
UPDATE wp_posts SET post_author = 'new-author-id' WHERE post_author = 'old-author-id';
UPDATE wp_posts SET post_author = 'new-author-id' WHERE post_author = 'old-author-id';

删除博文修订记录

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

删除博文指定的Meta信息

1
DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key';
DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key';

收集评论的Email地址

1
SELECT DISTINCT comment_author_email FROM wp_comments;
SELECT DISTINCT comment_author_email FROM wp_comments;

删除博文的Pingback

1
DELETE FROM wp_comments WHERE comment_type = 'pingback';
DELETE FROM wp_comments WHERE comment_type = 'pingback';

删除所有的垃圾评论

  • 0 = Comment Awaiting Moderation
  • 1 = Approved Comment
  • spam = Comment marked as Spam
1
DELETE FROM wp_comments WHERE comment_approved = 'spam';
DELETE FROM wp_comments WHERE comment_approved = 'spam';

删除没有使用的Tags

1
2
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;
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;

参照文章

目前有 2 条留言 其中:访客:1 条, 博主:1 条

  1. 品牌购物街 : 2012年06月19日18:24:18  -49楼 @回复 回复

    喜欢,不错

  2. 润物无声 : 2012年06月07日16:04:25  -48楼 @回复 回复

    这个可以用来批量更新文章内容,同时也可以用来优化数据库!

给我留言

留言无头像?


×
腾讯微博