<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>活着 &#187; sql</title>
	<atom:link href="http://www.yetlive.com/tags/sql/feed" rel="self" type="application/rss+xml" />
	<link>http://www.yetlive.com</link>
	<description>活着就好，认真生活每一天</description>
	<lastBuildDate>Fri, 30 Dec 2011 13:17:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>z-blog转移到wordpress的两个小问题</title>
		<link>http://www.yetlive.com/post/759.html</link>
		<comments>http://www.yetlive.com/post/759.html#comments</comments>
		<pubDate>Tue, 01 Dec 2009 04:02:15 +0000</pubDate>
		<dc:creator>认真生活</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[z-blog]]></category>

		<guid isPermaLink="false">http://www.tinydiary.cn/?p=759</guid>
		<description><![CDATA[活着利用neeke所说的方法再加上自己的一点改动，算是基本解决了z-blog转移到Wordpress的问题，也算把URL和tag等都无缝转移了过来，多个tag也能正常，不过在使用过程中还是发现了不太对劲的两个地方。一是文章浏览数，二是simple tags插件的Autolink功能不太正常。 第一个问题关于文章浏览数导入到WP-PostViews插件 月光的通过SQL语句转换WordPress数据中有过描述，文中提到了如果安装了WP-PostViews插件，还可以执行下面的SQL语句将文章点击数导入到WordPress中： INSERT INTO `wp_postmeta` select log_ID , log_ID ,&#8217;view&#8217;,log_ViewNums FROM blog_Article ; 然而或许是由于版本不同的关系，WP 2.86数据库的结构有所改动，wp_postmeta 表中已经删除了log_ID这一项，而只有meta_id和post_id这两项，而wp_posts数据表中的ID实际上并非zblog导出的文章ID而是一组自动排序的数字。另外，view项现在已经改成了&#8217;views&#8217;。如果想要导入文章浏览次数，还需要对数据查询方法进一步的修改。wp_postmeta数据表格的结构如下： 该数据表格格式中，meta_id是一个自动编号的数据，所以不用理睬。 本人查询了一下 PostViews 插件的函数，发现其中存在这样的几行： View Code PHPget_results&#40;&#34;SELECT DISTINCT $wpdb-&#38;gt;posts.*, (meta_value+0) AS views FROM $wpdb-&#38;gt;posts LEFT JOIN $wpdb-&#38;gt;postmeta ON $wpdb-&#38;gt;postmeta.post_id = $wpdb-&#38;gt;posts.ID WHERE post_date &#38;lt; '&#34;.current_time&#40;'mysql'&#41;.&#34;' AND $where AND post_status = 'publish' AND meta_key = 'views' AND post_password [...]]]></description>
			<content:encoded><![CDATA[<p>活着利用neeke所说的方法再加上自己的一点改动，算是<a href="http://www.yetlive.com/post/zblog-to-wordpress.html">基本解决了z-blog转移到Wordpress的问题</a>，也算把URL和tag等都无缝转移了过来，多个tag也能正常，不过在使用过程中还是发现了不太对劲的两个地方。一是文章浏览数，二是simple tags插件的Autolink功能不太正常。</p>
<p><span id="more-759"></span></p>
<h3>第一个问题关于文章浏览数导入到WP-PostViews插件</h3>
<p>月光的<a href="http://www.williamlong.info/archives/1148.html" target="_blank">通过SQL语句转换WordPress数据</a>中有过描述，文中提到了如果安装了WP-PostViews插件，还可以执行下面的SQL语句将文章点击数导入到WordPress中：</p>
<p>INSERT INTO `wp_postmeta` select  log_ID , log_ID ,&#8217;view&#8217;,log_ViewNums FROM blog_Article ;</p>
<p>然而或许是由于版本不同的关系，WP 2.86数据库的结构有所改动，wp_postmeta 表中已经删除了log_ID这一项，而只有meta_id和post_id这两项，而wp_posts数据表中的ID实际上并非zblog导出的文章ID而是一组自动排序的数字。另外，view项现在已经改成了&#8217;views&#8217;。如果想要导入文章浏览次数，还需要对数据查询方法进一步的修改。wp_postmeta数据表格的结构如下：</p>
<p><br class="spacer_" /></p>
<div id="attachment_922" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-922" title="wp postmeta" src="http://www.yetlive.com/wp-content/uploads/2009/12/wp-postmeta-300x128.gif" alt="wp postmeta 表格" width="300" height="128" /><p class="wp-caption-text">wp postmeta 表格</p></div>
<p><br class="spacer_" /></p>
<p>该数据表格格式中，meta_id是一个自动编号的数据，所以不用理睬。</p>
<p>本人查询了一下 PostViews 插件的函数，发现其中存在这样的几行：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p759code2'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p7592"><td class="code" id="p759code2"><pre class="php" style="font-family:monospace;">get_results<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT DISTINCT <span style="color: #006699; font-weight: bold;">$wpdb</span>-&amp;gt;posts.*, (meta_value+0) AS views FROM <span style="color: #006699; font-weight: bold;">$wpdb</span>-&amp;gt;posts LEFT JOIN <span style="color: #006699; font-weight: bold;">$wpdb</span>-&amp;gt;postmeta ON <span style="color: #006699; font-weight: bold;">$wpdb</span>-&amp;gt;postmeta.post_id = <span style="color: #006699; font-weight: bold;">$wpdb</span>-&amp;gt;posts.ID WHERE post_date &amp;lt; '&quot;</span><span style="color: #339933;">.</span>current_time<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'mysql'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;' AND <span style="color: #006699; font-weight: bold;">$where</span> AND post_status = 'publish' AND meta_key = 'views' AND post_password = '' ORDER  BY views DESC LIMIT <span style="color: #006699; font-weight: bold;">$limit</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>从中看得出来，现在版本的wp PostViews 插件使用了关联数据查询的方法，而我们要想导入文章浏览数还远不止如此简单。</p>
<p><strong>我的思路</strong>是首先利用文章标题相同这一条件找出该文章的posts.ID与blog_Article中的log_ID，然后将数据插入到wp_postmeta表中，post_id的值等于posts.ID，meta_key的值等于views，而meta_value则使用找到的log_ID对应的log_ViewNums值这样就能够解决文章浏览量的问题。</p>
<p>可惜本人SQL不慎了解，还请大牛指点了。</p>
<h3>第二个问题是 Simple Tags 自动链接不太正常</h3>
<p>这个问题不知道是由于该功能对中文支持不好或者是我在导入的时候没有注意好编码，因为我目前在数据库中去查看任何中文的部分，保存的都是一些看起来像乱码的结构。</p>
<p>希望哪位能够好好的研究一下以上两个问题，这样才算真正做到了z-blog和wordpress之间的无缝转移。找到解决的办法还请麻烦通知<a href="http://www.yetlive.com/">活着</a>哦</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yetlive.com/post/759.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>z-blog无缝转移到WordPress2.8的方法修改版</title>
		<link>http://www.yetlive.com/post/244.html</link>
		<comments>http://www.yetlive.com/post/244.html#comments</comments>
		<pubDate>Mon, 23 Nov 2009 01:28:51 +0000</pubDate>
		<dc:creator>认真生活</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[z-blog]]></category>

		<guid isPermaLink="false">http://www.d.zhangpeng.info/post/z-blog%e6%97%a0%e7%bc%9d%e8%bd%ac%e7%a7%bb%e5%88%b0wordpress2-8%e7%9a%84%e6%96%b9%e6%b3%95%e4%bf%ae%e6%94%b9%e7%89%88.html</guid>
		<description><![CDATA[最近在筹划着把Zblog转移到 wordpress 系统，主要原因是空间的问题，以后可能就只用Dreamhost的PHP空间了，所以提前把博客也转移到Wordpress平台，免得到时候比较忙弄得手忙脚乱。说无缝转移主要是URL结构保持不变和Tag不变 网上搜索z-blog平滑转移到 WordPress平台的方法有很多，应该来说基本都是那么几个版本了，当然我没有具体去了解很多，就我看到的都是比较古老的了，不过Neeke提供了一个最新版本的转移到wordpress的方法，在文中也提及了一些SQL语句，在经过本人的使用后，发现其中有小小的Bug，于是在这里重新提醒一下各位同学。 为了能够实现zblog无缝转换到 wordpress ， 我们大致需要分这么几步走，具体的情况可以见neeke的“ZBlog无缝转到WordPress”，本站不再赘述，只介绍应该修改的部分，以下红色标出的部分均是已经修改好的部分。 1、将z-blog博客数据导出为Movetype格式 2、在 WordPress中导入Movetype 格式的博客数据 3、制作文章别名SQL语句 这里利用Neeke的方法会有一点小小的问题。我的处理方法是使用文章建立时间来代替文章标题这一条件去查询表中数据。主要原因在于Wordpress2.8（我用的是2.8版本，至于2.7或者更低版本的怎么样不同清楚）导入Movetype格式数据后，文章标题使用的存储编码可能不同，导致你自己看到的是一堆类似 “åç¬¬ä¸€çš„å»ºè®®” 的东西，使用Neeke的方法会出现错误。 上面这句话你没看懂没关系，重点是接下来的：用office打开ZB的数据库文件，删除blog_Article表中字段，只保留log_ID、log_Url及log_PostTime。然后重新设计此表，将log_ID的主键属性删除，并将数据类型改为“数字”。 接着用月光提到的db2mysql生成blog_Article表的MYSQL语句。软件下载地址：ACCESS数据库转换MYSQL数据库的软件 4、更新文章别名，保持网站URL结构不变 进入phpmyadmin中使用如下SQL语句创建一张表。 CREATE TABLE blog_Article ( log_ID int NOT NULL , log_Url varchar (255) NULL, log_PostTime datetime NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 接下来将db2mysql生成的blog_Article表的MYSQL语句放到phpmyadmin中执行。 然后执行下面的SQL语句： update wp_posts,blog_article set wp_posts.post_name=blog_article.log_Url where wp_posts.post_date=blog_article.log_PostTime 这一步要注意的地方在于以上蓝色部分，即wp_posts应该按照自己数据库中表的标题格式修改，比如说本人Wordpress数据库中的表就是用了类似以下的标题：wp_bvua41_posts，也就是说那么我自己就要使用如下的语句： update wp_bvua41_posts,blog_Article set wp_bvua41_posts.post_name=blog_Article.log_Url where [...]]]></description>
			<content:encoded><![CDATA[<p>最近在筹划着把Zblog转移到 <a href="http://www.yetlive.com/tags/wordpress" class="st_tag internal_tag" rel="tag" title="标签 wordpress 下的日志">wordpress</a> 系统，主要原因是空间的问题，以后可能就只用Dreamhost的PHP空间了，所以提前把博客也转移到Wordpress平台，免得到时候比较忙弄得手忙脚乱。说无缝转移主要是URL结构保持不变和Tag不变</p>
<p><span id="more-244"></span></p>
<p>网上搜索z-blog平滑转移到 WordPress平台的方法有很多，应该来说基本都是那么几个版本了，当然我没有具体去了解很多，就我看到的都是比较古老的了，不过Neeke提供了一个最新版本的转移到wordpress的方法，在文中也提及了一些SQL语句，在经过本人的使用后，发现其中有小小的Bug，于是在这里重新提醒一下各位同学。</p>
<p>为了能够实现zblog无缝转换到 wordpress ， 我们大致需要分这么几步走，具体的情况可以见neeke的“<a href="http://www.ineeke.cn/archives/zblog2wordpress/" target="_blank">ZBlog无缝转到WordPress</a>”，本站不再赘述，只介绍应该修改的部分，以下红色标出的部分均是已经修改好的部分。</p>
<h3>1、将z-blog博客数据导出为Movetype格式</h3>
<h3>2、在 WordPress中导入Movetype 格式的博客数据</h3>
<h3>3、制作文章别名SQL语句</h3>
<p>这里利用Neeke的方法会有一点小小的问题。我的处理方法是使用文章建立时间来代替文章标题这一条件去查询表中数据。主要原因在于Wordpress2.8（我用的是2.8版本，至于2.7或者更低版本的怎么样不同清楚）导入Movetype格式数据后，文章标题使用的存储编码可能不同，导致你自己看到的是一堆类似 “åç¬¬ä¸€çš„å»ºè®®” 的东西，使用Neeke的方法会出现错误。</p>
<p>上面这句话你没看懂没关系，<strong>重点是接下来的</strong>：用office打开ZB的数据库文件，删除blog_Article表中字段，<span style="color: #ff0000">只保留<a href="http://www.logobox.cz">log</a>_ID、<a href="http://www.logobox.cz">log</a>_Url及<a href="http://www.logobox.cz">log</a>_PostTime</span>。然后重新设计此表，将<a href="http://www.logobox.cz">log</a>_ID的主键属性删除，并将数据类型改为“数字”。 接着用月光提到的<a href="http://www.williamlong.info/archives/1057.html" target="_blank">db2mysql</a>生成blog_Article表的MYSQL语句。软件下载地址：<a href="http://www.williamlong.info/download/db2mysql.zip">ACCESS数据库转换MYSQL数据库的软件</a></p>
<h3>4、更新文章别名，保持网站URL结构不变</h3>
<p><strong>进入phpmyadmin中使用如下SQL语句创建一张表。</strong></p>
<p>CREATE TABLE blog_Article (<br />
 log_ID int NOT NULL ,<br />
 <a href="http://www.logobox.cz">log</a>_Url varchar (255) NULL,<br />
 <span style="color: #ff0000">log_PostTime</span> datetime NULL<br />
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8</p>
<p>接下来将db2mysql生成的blog_Article表的MYSQL语句放到phpmyadmin中执行。</p>
<p><strong>然后执行下面的SQL语句</strong>：</p>
<p>update<span style="color: #3366ff"> wp_posts</span>,blog_article set <span style="color: #0000ff">wp_posts</span>.post_name=blog_article.<a href="http://www.logobox.cz">log</a>_Url where <span style="color: #0000ff">wp_posts</span>.<span style="color: #ff0000">post_date</span>=blog_article.<span style="color: #ff0000"><a href="http://www.logobox.cz">log</a>_PostTime</span></p>
<p>这一步要注意的地方在于以上蓝色部分，即wp_posts应该按照自己数据库中表的标题格式修改，比如说本人Wordpress数据库中的表就是用了类似以下的标题：wp_bvua41_posts，也就是说那么我自己就要使用如下的语句：</p>
<p>update<span style="color: #3366ff"> wp_bvua41_posts</span>,blog_Article set wp_bvua41_posts.post_name=blog_Article.log_Url where wp_bvua41_posts.post_date=blog_Article.log_PostTime</p>
<p><strong>接下来继续执行如下语句：</strong></p>
<p>update wp_posts,blog_article set wp_posts.post_name=blog_article.log_ID where wp_posts.post_date=blog_article.<a href="http://www.logobox.cz">log</a>_PostTime and wp_posts.post_name=<span style="color: #ff0000">‘’</span></p>
<p>请注意最后红色标注的‘’ 实际上是两个半引号。即‘   ’，当然中间没有空格</p>
<h3>5、配置链接显示形式，实现完美转移</h3>
<p>好了，以上就是对Neeke版本的 <a href="http://www.yetlive.com/tags/z-blog" class="st_tag internal_tag" rel="tag" title="标签 z-blog 下的日志">z-blog</a> 无缝转移到 WordPress 方法的一点修改。希望对想切换到Wordpress平台的博友有用。</p>
<p>最后再YY一句，以上的方法还不能解决分类和Tag页的链接问题，分类以及tag的链接还是只能手动修改……懒得研究了……有谁有方法给介绍个吧</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yetlive.com/post/244.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>标准SQL语言从多个表中查询数据</title>
		<link>http://www.yetlive.com/post/188.html</link>
		<comments>http://www.yetlive.com/post/188.html#comments</comments>
		<pubDate>Fri, 27 Mar 2009 04:16:56 +0000</pubDate>
		<dc:creator>认真生活</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.d.zhangpeng.info/?p=188</guid>
		<description><![CDATA[通常使用sql查询一个表中数据的代码如下格式: select * from shoping 意思为从shoping表中查询所有项,特定数据查询则可以加入一些限定,比如使用where 限制条件, like模糊查询条件。 以下的方法则是从多个表中查询所需数据： 使用如下代码： Select shoping.item_id,shoping.name,price.price,price.content From shoping,price Where shoping.item_id=price.item_id; 以上代码相信学习过asp脚本语言或者php脚本语言的你会明白的。不明白的话容我解释一番： 第一行为查询item_id，name，price，content几项，第二行限定这几项从表shoping与表price中查询。第三行限制查询条件为shoping表中的item_id与price表中所存的item_id值相同。 可以看到，以上多表查询使用了“表名.字段名“的格式，这样是为了防止sql查询错误，因为查询中很可能存在多个表的字段名称相同。如果字段名称在表中是唯一的，则可以省略表名。]]></description>
			<content:encoded><![CDATA[<p>通常使用sql查询一个表中数据的代码如下格式:</p>
<p>select * from shoping</p>
<p><span id="more-188"></span></p>
<p>意思为从shoping表中查询所有项,特定数据查询则可以加入一些限定,比如使用where 限制条件, like模糊查询条件。</p>
<h3>以下的方法则是从多个表中查询所需数据：</h3>
<p>使用如下代码：</p>
<p class="code">Select shoping.item_id,shoping.name,price.price,price.content<br />
From shoping,price<br />
Where shoping.item_id=price.item_id;</p>
<p>以上代码相信学习过asp脚本语言或者php脚本语言的你会明白的。不明白的话容我解释一番：</p>
<p>第一行为查询item_id，name，price，content几项，第二行限定这几项从表shoping与表price中查询。第三行限制查询条件为shoping表中的item_id与price表中所存的item_id值相同。</p>
<p>可以看到，<strong>以上多表查询使用了“表名.字段名“的格式，这样是为了防止sql查询错误</strong>，因为查询中很可能存在多个表的字段名称相同。如果字段名称在表中是唯一的，则可以省略表名。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yetlive.com/post/188.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

