在1年前,我用学生价租了一个阿里云服务器(是真的便宜啊),自己在CentOS系统上用命令行搭了个WordPress的环境,开始了为期一个月使用自建博客的历程。

事实证明,博客在类似博客园这样的平台上写还是非常方便的!

  • 不用自己优化后台,虽然WordPress已经足够傻瓜了,但是我还是太菜了
  • 只有小贵的价格才能租到一个网速不慢+大小够用的服务器

    之前考研没有工作没有收入,于是就狠下心不要了。重新捡起了长草很久的博客园。

今天,下了决心把以前的数据导出来,就有了以下的内容


1、把wordpress.sql文件导入mysql数据库

打开Mac的终端,进入MySQL操作界面:

mysql -u root -p

输入密码

(1)创建一个空的数据库

create database <name>;

(2)查看是否创建成功(注意这里的databases加了s)

show databases;



(3)进入wordpress数据库进行接下来的操作

use wordpress;



(4)设置数据库编码

set names utf8;

(5)导入数据(注意sql文件的路径)

source /Users/wordpress.sql;

2、分析WordPress数据库的表结构

(1)显示WordPress数据库

show tables;



(2)具体每个表里边存着什么信息呢?

Tables_in_wordpress -
wp_commentmeta 评论的数据
wp_comments 评论的数据
wp_links 友情链接的数据
wp_mgmlp_folders 未知
wp_options WordPress系统选项、插件、主题
wp_postmeta 文章的数据
wp_posts 文章内容
wp_term_relationships 文章和目录对应关系
wp_term_taxonomy 未知
wp_termmeta 未知
wp_terms 目录和标签
wp_usermeta 用户的数据
wp_users 用户的数据

(3)这次我主要使用的表和数据如下:

wp_posts:ID、post_date(文章发布时间)、post_title(文章题目)、post_status(文章状态)、post_content(文章内容)

wp_term_relationships:object_id(对应文章ID)、term_taxonomy_id(对应term_id)

wp_terms:term_id、name(目录名称)

(4)在列出了文章的一些简要信息是,我发现有非常多的重复文章

原来wordpress发布文章时会自动保存一些草稿、修订版本等无用的文章数据。

经过查看,发现很多的文章状态(post_status)都是inherit,这些文章状态都具体是什么意思呢?

publish:已发布

inherit:修订版

draft:草稿

auto-draft:自动保存的草稿

(以上4中就是出现在我的数据库中的状态)此外还有:

pending:待审、trash:回收站、future:定时、private:私有

  • 由于我的强迫症,我决定删掉所有状态是inherit的文章(字段需要有单引号哦)
delete from wp_posts where post_status='inherit';

2、终于要开始多表查询了

(1)先查出我需要转移的所有的文章

(因为是在终端中查看,所以如果直接打印文章内容,是非常难以看懂的,我尝试了一次,手动苦笑)

思路:查询文章ID、发布时间、题目、状态以及文章所属的目录

文章所属的目录是先使用文章ID去wp_term_relationships表查询对应目录的id,然后根据term_id去wp_terms表中查询目录实际的名称

select p.ID,p.post_date,p.post_title,p.post_status,t.name
from wp_posts as p
left join wp_term_relationships as tr on p.ID=tr.object_id
left join wp_terms as t on t.term_id=tr.term_taxonomy_id;



(2)最后一步根据文章ID去查看文章内容post_content

select post_content from wp_posts where ID=1;



然而可以从图片中看到,WordPress数据库中的文章内容存储的是html格式,并且有的图片用的是链接。

由于我之前的文章数量很少,并且没有什么图片,用以上方法还是可以的。

如果文章数目大,图片链接多,就必须要借助已经写好的工具了。

祝周末愉快!


3、删除数据库

drop database <name>;

数据库:MySQL实战;左链接;查询WordPress数据库中的文章内容的更多相关文章

  1. mysql数据库优化课程---12、mysql嵌套和链接查询

    mysql数据库优化课程---12.mysql嵌套和链接查询 一.总结 一句话总结:查询user表中存在的所有班级的信息? in distinct mysql> select * from cl ...

  2. 1028阿里RDS如何恢复云数据库MySQL的备份文件到自建数据库

    参照 https://help.aliyun.com/knowledge_detail/41817.html 恢复云数据库MySQL的备份文件到自建数据库 更新时间:2017-07-27 14:52: ...

  3. 如何用拉姆达表达式(Lambda Expressions) 书写左链接查询

    在C#中,如果要实现两个列表的左链接查询,我们的一般用法就是用的linq表达式就是 List<Pet> pets = }, }, } }; List<Pet2> pets2 = ...

  4. 恢复云数据库MySQL的备份文件到自建数据库遇到的报错

    报错信息 : 恢复云数据库MySQL的备份文件到自建数据库,自建数据库版本5.6.36. 按照阿里云文档操作,启动数据库报错 -- :: [ERROR] /application/mysql/bin/ ...

  5. 恢复阿里云RDS云数据库MySQL的备份文件到自建数据库

    云数据库MySQL版使用开源软件Percona Xtrabackup对数据库进行备份,所以您可以使用该软件将云数据库MySQL的备份文件恢复到自建数据库中,本文将介绍详细的操作步骤. 关于云数据库My ...

  6. (转载)MySQL LIKE 用法:搜索匹配字段中的指定内容

    (转载)http://www.5idev.com/p-php_mysql_like.shtml MySQL LIKE 语法 LIKE 运算符用于 WHERE 表达式中,以搜索匹配字段中的指定内容,语法 ...

  7. 如何给wordpress首页自动显示文章内容的第一个图片

    敏捷个人手机应用中使用到的数据来源于wordpress中,因为自己写的页面,所以可以自己写代码获取文章内容的第一个图片作为文章缩略图来显示,这样用户看到首页时图文并茂,感觉会好一些. 现在后台简单的使 ...

  8. MySQL的左连接查询,只取出最大的一条数据

    今天有个需求,是通过两张表进行查询.一对多的关系.通过一个主键,取出其中的一条.开始以为还好,直接用用了left join on进行查询.却发现了问题所在.其他的好弄.开始的写法借鉴这篇博客:http ...

  9. hibernate 左链接查询

    select pro from Provide as pro left join pro.labels as la left join pro.city as c where 1=1

随机推荐

  1. Service Fabric service 根据环境变量读取配置文件

    前言 一个服务或者产品,往往需要三个环境:一个开发环境(Development),一个测试环境(Staging),一个生产环境(Production), 这就不可避免的需要多个配置文件来匹配相应的环境 ...

  2. ORM之轻量级框架--Dapper

    一.什么是Dapper? Dapper是一款轻量级Orm框架,它是属于半自动的,它和Entity Framework和NHibernate不同,它只有一个单文件,没有很复杂的配置,如果你喜欢原生Sql ...

  3. 从后台servlet中,获取jsp页面输入的值,来删除用户一行信息

    后台servlet设置 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws S ...

  4. Windows10家庭版运行应用提示”管理员已阻止你运行此应用...“的解决办法

    win10版本家庭中文版: 运行应用程序报错: 解决办法(亲试): 1.进入”控制面板“--”用户账户“--”用户账户“,选择”更改用户账户控制设置“,选择最后一项,点击”确定“按钮,如下图: 2.按 ...

  5. windows之自动化在虚拟机部署操作系统并自带python环境

    (1)使用详情: **************************** *    操作说明     * **************************** 1.修改Config文件夹中的Se ...

  6. 千星项目.Net Core 2.1移植填坑记--OpenAuth.Core诞生

    背景 很早就有把OpenAuth.Net----最好用的.net权限管理工作流框架(好吧!我在吹牛

  7. Java面向对象概述及三大特征(封装,继承和多态)

    一.面向对象思想 Java是面向对象的高级语言,对于Java语言来说,万事万物皆对象! 它的基本思想是使用类,对象,继承,封装,消息等基本概念进行程序设计.面向对象程序的最小单元是类,类代表了客观世界 ...

  8. JavaFX技术简要总结

    最近,做一个桌面应用程序的项目,需要考察相关技术,对于经常使用Java的我们来说,很自然的找Java的桌面程序开发技术,发现JavaFX是比较合适的,简单熟悉了一下,写出来给大家做个参考. 一 Jav ...

  9. 中文分词实战——基于jieba动态加载字典和调整词频的电子病历分词

    分词是自然语言处理中最基本的一个任务,这篇小文章不介绍相关的理论,而是介绍一个电子病历分词的小实践. 开源的分词工具中,我用过的有jieba.hnlp和stanfordnlp,感觉jieba无论安装和 ...

  10. Litepal【开源数据库ORM框架】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 好用的数据库框架. 效果图 代码分析 本篇主要是整理Litepal的引入和增删改查的简单操作,具体使用请阅读参考资料. 使用步骤 一 ...