数据库:MySQL实战;左链接;查询WordPress数据库中的文章内容
在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数据库中的文章内容的更多相关文章
- mysql数据库优化课程---12、mysql嵌套和链接查询
mysql数据库优化课程---12.mysql嵌套和链接查询 一.总结 一句话总结:查询user表中存在的所有班级的信息? in distinct mysql> select * from cl ...
- 1028阿里RDS如何恢复云数据库MySQL的备份文件到自建数据库
参照 https://help.aliyun.com/knowledge_detail/41817.html 恢复云数据库MySQL的备份文件到自建数据库 更新时间:2017-07-27 14:52: ...
- 如何用拉姆达表达式(Lambda Expressions) 书写左链接查询
在C#中,如果要实现两个列表的左链接查询,我们的一般用法就是用的linq表达式就是 List<Pet> pets = }, }, } }; List<Pet2> pets2 = ...
- 恢复云数据库MySQL的备份文件到自建数据库遇到的报错
报错信息 : 恢复云数据库MySQL的备份文件到自建数据库,自建数据库版本5.6.36. 按照阿里云文档操作,启动数据库报错 -- :: [ERROR] /application/mysql/bin/ ...
- 恢复阿里云RDS云数据库MySQL的备份文件到自建数据库
云数据库MySQL版使用开源软件Percona Xtrabackup对数据库进行备份,所以您可以使用该软件将云数据库MySQL的备份文件恢复到自建数据库中,本文将介绍详细的操作步骤. 关于云数据库My ...
- (转载)MySQL LIKE 用法:搜索匹配字段中的指定内容
(转载)http://www.5idev.com/p-php_mysql_like.shtml MySQL LIKE 语法 LIKE 运算符用于 WHERE 表达式中,以搜索匹配字段中的指定内容,语法 ...
- 如何给wordpress首页自动显示文章内容的第一个图片
敏捷个人手机应用中使用到的数据来源于wordpress中,因为自己写的页面,所以可以自己写代码获取文章内容的第一个图片作为文章缩略图来显示,这样用户看到首页时图文并茂,感觉会好一些. 现在后台简单的使 ...
- MySQL的左连接查询,只取出最大的一条数据
今天有个需求,是通过两张表进行查询.一对多的关系.通过一个主键,取出其中的一条.开始以为还好,直接用用了left join on进行查询.却发现了问题所在.其他的好弄.开始的写法借鉴这篇博客:http ...
- hibernate 左链接查询
select pro from Provide as pro left join pro.labels as la left join pro.city as c where 1=1
随机推荐
- 用Portable.BouncyCastle来进行加解密的代码demo
前言 这里对之前对接的公司中的代码demo做一个总结,原本为清一色的java,哈哈.这里都转成C#.用到的库是Portable.BouncyCastle.官网.之前也是准备用.net core 内置的 ...
- WPF 小小案列(同步异步)
private void BtnButton_Click(object sender, RoutedEventArgs e) { MessageBox.Show("hello Word&qu ...
- mybatis一对一 和 一对多 嵌套查询
实际项目中的,接口对外VO 会出现 一对一 和 一对多的情况,举例:小区 下面有 楼栋 ,楼栋 下面有 房屋 , 房屋里面又房间 小区Vo : districtVo { id: nam ...
- SpringBoot启动原理分析
用了差不多两年的SpringBoot了,可以说对SpringBoot已经很熟了,但是仔细一想SpringBoot的启动流程,还是让自己有点懵逼,不得不说是自己工作和学习的失误,所以以此文对Spring ...
- 设计模式 | 外观模式/门面模式(facade)
定义: 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 结构:(书中图,侵删) 一个简洁易用的外观类 一个复杂的子系统 实例: 书中提到了理 ...
- openlayers4 入门开发系列之迁徙图篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- [20190402]关于semtimedop函数调用2.txt
[20190402]关于semtimedop函数调用2.txt --//前几天做了sql语句在mutexes上的探究.今天看看_mutex_wait_time设置很大的情况下是否semtimedop会 ...
- Linux iptables用法与NAT
1.相关概念 2.iptables相关用法 3.NAT(DNAT与SNAT) 相关概念 防火墙除了软件及硬件的分类,也可对数据封包的取得方式来分类,可分为代理服务器(Proxy)及封包过滤机制(IP ...
- aspnetcore.webapi实战k8s健康探测机制 - kubernetes
1.浅析k8s两种健康检查机制 Liveness k8s通过liveness来探测微服务的存活性,判断什么时候该重启容器实现自愈.比如访问 Web 服务器时显示 500 内部错误,可能是系统超载,也可 ...
- Open ID Connect(OIDC)在 ASP.NET Core中的应用
我们在<ASP.NET Core项目实战的课程>第一章里面给identity server4做了一个全面的介绍和示例的练习 ,这篇文章是根据大家对OIDC遇到的一些常见问题整理得出. 本文 ...