惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
B
Blog RSS Feed
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
D
Docker
Blog — PlanetScale
Blog — PlanetScale
M
MIT News - Artificial intelligence
C
Check Point Blog
The Cloudflare Blog
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
量子位
The GitHub Blog
The GitHub Blog
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
T
The Blog of Author Tim Ferriss
博客园 - 【当耐特】
Vercel News
Vercel News
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
博客园 - 司徒正美

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评
通过SQL语句转换WordPress数据到Z-Blog
月光 · 2009-03-16 · via 月光博客

我以前曾经介绍过将Z-Blog数据库转换到WordPress的SQL语句,做为反例,还会有从WordPress系统转换到Z-Blog系统的SQL语句,这是一个比较奇怪的话题,估计也很少有人这么做,不过对于某些特殊情况,我们有可能会将WordPress数据库转换到Z-Blog的Access数据库,这里我介绍一下手动使用SQL语句进行转换的方法。

首先在WordPress中建立一个和Z-Blog文章表、目录相同结构的表,建立的SQL语句如下:

CREATE TABLE blog_Article (
 log_ID int NOT NULL ,
 log_CateID int NULL ,
 log_AuthorID int NULL ,
 log_Level int NULL ,
 log_Url varchar (255)  NULL ,
 log_Title varchar (255)  NULL ,
 log_Intro longtext  NULL ,
 log_Content longtext  NULL ,
 log_IP varchar (15)  NULL ,
 log_PostTime datetime NULL ,
 log_CommNums int NULL ,
 log_ViewNums int NULL ,
 log_TrackBackNums int NULL ,
 log_Tag varchar (255)  NULL ,
 log_IsTop varchar (10) NOT NULL
)  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

CREATE TABLE blog_Category (
 cate_ID int NOT NULL ,
 cate_Name varchar (50) NULL ,
 cate_Order int NULL ,
 cate_Intro varchar (255) NULL ,
 cate_Count int NULL
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

由于Z-Blog的数据库结构相对Z-Blog要复杂的多,因此转换之前还要进行一些目录ID的处理,其SQL语句如下:

update wp_posts, wp_term_relationships set wp_posts.post_category = wp_term_relationships.term_taxonomy_id where wp_posts.id=wp_term_relationships.object_id and wp_term_relationships.term_taxonomy_id in (select term_taxonomy_id from wp_term_taxonomy where taxonomy ='category')

这个语句将目录ID保存到了wp_posts表中,这样以后转换会方便一些。

接下来,执行下面的语句,转换文章表结构。

INSERT INTO blog_Article (log_ID,log_CateID,log_AuthorID,log_Level,log_Url,log_Title,log_Intro,log_Content,log_PostTime,log_CommNums) select id, post_category, post_author, 4, id, post_title, post_excerpt, post_content, post_date, comment_count from wp_posts where post_type='post' order by id

接下来,执行下面的语句,转换文章分类的数据。

INSERT INTO blog_category(cate_ID,cate_Name,cate_Intro,cate_Url) SELECT term_id,name,slug,slug from wp_terms where term_id in (select term_id from wp_term_taxonomy where taxonomy ='category')

文章tag数据转化相对比较麻烦。执行下面的语句,可以转化tag表到Z-Blog,但是,文章内部的tag数据由于Z-Blog和WordPress的Tag存储方式不同,需要单独写一段程序来实现转化。

INSERT INTO blog_tag(tag_ID,tag_Name,tag_Intro,tag_Url) SELECT term_id,name,slug,slug from wp_terms where term_id in (select term_id from wp_term_taxonomy where taxonomy ='post_tag')

转换成功后,可以通过多个方法将MYSQL表转换到ACCESS数据库。

一个方法是安装一个MYSQL工具,名字叫MySQL ODBC Connector,安装完成后,在ODBC中建立一个MySQL的数据源。打开Access文件,点“获取外部数据”-“导入”,选择“ODBC数据库”中的MySQL数据源,导入blog_Article表即可,这样就可以将WordPress的文章内容导入到Z-Blog中了。

另一个方法是安装一个名为Navicat的软件,在Navicat中连接MYSQL,选中表,点击“导出向导”,导出格式选中“MS Access数据库”,点“下一步”即可开始导出。

以上方法直接使用SQL语句转换数据库结构,适合大量数据的导入导出。少量数据可以通过导出XML文件的方式进行转换。

通过SQL语句转换WordPress数据到Z-Blog