• 数据库: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>;
    
  • 相关阅读:
    jQuery遍历div,判断是否为空,为空时执行某个操作
    ps中扩展画布的时候,不能选择扩展画布部分的颜色解决方法
    PS中缩放工具的细微缩放不可以使用的解决方法
    Excel的基础操作
    Word文档编辑
    人脸识别活体检测之张张嘴和眨眨眼——login.jsp
    人脸识别活体检测之张张嘴和眨眨眼——web.xml
    人脸识别活体检测之张张嘴和眨眨眼——readme
    maven用途、核心概念、用法、常用参数和命令、扩展
    [转载]ORACLE临时表的创建
  • 原文地址:https://www.cnblogs.com/ZhengWH/p/10579160.html
Copyright © 2020-2023  润新知