<?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; MYSQL</title>
	<atom:link href="http://www.yanzhilu.com/blog/archives/category/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://www.yanzhilu.com/blog</link>
	<description>优质网站设计公司</description>
	<lastBuildDate>Fri, 10 Sep 2010 08:40:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP mysql_num_rows() 函数</title>
		<link>http://www.yanzhilu.com/blog/archives/5362</link>
		<comments>http://www.yanzhilu.com/blog/archives/5362#comments</comments>
		<pubDate>Sun, 15 Aug 2010 15:53:47 +0000</pubDate>
		<dc:creator>changboter</dc:creator>
				<category><![CDATA[MYSQL]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.yanzhilu.com/blog/?p=5362</guid>
		<description><![CDATA[PHP mysql_num_rows() 函数]]></description>
			<content:encoded><![CDATA[<h2 style="font-weight: bold; font-size: 14px; padding: 0px; margin: 0px;">定义和用法</h2>
<p style="margin-top: 12px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 18px;">mysql_num_rows() 函数返回结果集中行的数目。</p>
<h3 style="font-weight: bold; margin-top: 20px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-size: 12px; padding: 0px;">语法</h3>
<pre style="width: 580px; margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f5f5f5; font-family: 'Courier New', monospace; font-size: 12px; background-position: initial initial; background-repeat: initial initial; padding: 10px; border: 1px dotted #778855;">mysql_num_rows(data)</pre>
<table style="font-family: Arial, Helvetica, sans-serif; margin-top: 10px; border-collapse: collapse; width: 606px; border: 1px solid #888888;" border="0">
<tbody>
<tr>
<th style="vertical-align: baseline; padding-top: 5px; padding-right: 15px; padding-bottom: 5px; padding-left: 5px; background-color: #cccccc; text-align: left; border: 1px solid #888888;">参数</th>
<th style="vertical-align: baseline; padding-top: 5px; padding-right: 15px; padding-bottom: 5px; padding-left: 5px; background-color: #cccccc; text-align: left; border: 1px solid #888888;">描述</th>
</tr>
<tr>
<td style="vertical-align: text-top; padding-top: 5px; padding-right: 15px; padding-bottom: 5px; padding-left: 5px; background-color: #efefef; border: 1px solid #aaaaaa;">data</td>
<td style="vertical-align: text-top; padding-top: 5px; padding-right: 15px; padding-bottom: 5px; padding-left: 5px; background-color: #efefef; border: 1px solid #aaaaaa;">必需。结果集。该结果集从 mysql_query() 的调用中得到。</td>
</tr>
</tbody>
</table>
<h3 style="font-weight: bold; margin-top: 20px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-size: 12px; padding: 0px;">说明</h3>
<p style="margin-top: 12px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 18px;">mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT，UPDATE 或者 DELETE 查询所影响到的行的数目，用 <a style="text-decoration: underline; color: #900b09; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" title="PHP mysql_affected_rows() 函数" href="http://www.w3school.com.cn/php/func_mysql_affected_rows.asp">mysql_affected_rows()</a>。</p>
<h2 style="font-weight: bold; font-size: 14px; padding: 0px; margin: 0px;">提示和注释</h2>
<p style="margin-top: 12px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 18px;"><span style="font-weight: bold;">注释：</span>如果使用 <a style="text-decoration: underline; color: #900b09; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" title="PHP mysql_unbuffered_query() 函数" href="http://www.w3school.com.cn/php/func_mysql_unbuffered_query.asp">mysql_unbuffered_query()</a>，则直到结果集中的所有行都被提取后 mysql_num_rows() 才能返回正确的值。</p>
<p style="margin-top: 12px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 18px;">
<h2 style="font-weight: bold; font-size: 14px; padding: 0px; margin: 0px;">例子</h2>
<pre style="width: 580px; margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f5f5f5; font-family: 'Courier New', monospace; font-size: 12px; background-position: initial initial; background-repeat: initial initial; padding: 10px; border: 1px dotted #778855;">&lt;?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$db_selected = mysql_select_db("test_db",$con);

$sql = "SELECT * FROM person";
$result = mysql_query($sql,$con);
echo <code style="font-family: 'Courier New', monospace; color: #0000ff;">mysql_num_rows($result)</code>;

mysql_close($con);
?&gt;</pre>
<p style="margin-top: 12px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 18px;">输出类似：</p>
<pre style="width: 580px; margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f5f5f5; font-family: 'Courier New', monospace; font-size: 12px; background-position: initial initial; background-repeat: initial initial; padding: 10px; border: 1px dotted #778855;">3</pre>
<pre style="width: 580px; margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f5f5f5; font-family: 'Courier New', monospace; font-size: 12px; background-position: initial initial; background-repeat: initial initial; padding: 10px; border: 1px dotted #778855;"></pre>
<pre style="width: 580px; margin-top: 10px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #f5f5f5; font-family: 'Courier New', monospace; font-size: 12px; background-position: initial initial; background-repeat: initial initial; padding: 10px; border: 1px dotted #778855;"><a title="北京网站设计公司" href="http://www.yanzhilu.com">北京网站设计公司</a></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.yanzhilu.com/blog/archives/5362/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysql编码转换修改设置</title>
		<link>http://www.yanzhilu.com/blog/archives/4875</link>
		<comments>http://www.yanzhilu.com/blog/archives/4875#comments</comments>
		<pubDate>Sun, 20 Jun 2010 03:32:16 +0000</pubDate>
		<dc:creator>changboter</dc:creator>
				<category><![CDATA[MYSQL]]></category>

		<guid isPermaLink="false">http://www.yanzhilu.com/blog/?p=4875</guid>
		<description><![CDATA[mysql编码转换修改设置]]></description>
			<content:encoded><![CDATA[<div>一、 mysql&amp;gt; SHOW VARIABLES LIKE &#8217;character_set_%&#8217;;</div>
<div style="margin: 15px;"><span><span style="color: #cc33cc;"><span>一、mysql</span>&gt; SHOW  VARIABLES LIKE &#8216;character_set_%&#8217;;</span><br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
| Variable_name | Value |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
| character_set_client | latin1 |<br />
| character_set_connection | latin1 |<br />
| character_set_database | latin1 |<br />
| character_set_results | latin1 |<br />
| character_set_server | latin1 |<br />
| character_set_system | utf8 |<br />
| character_sets_dir | /usr/share/<span>mysql</span>/charsets/ |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
7 rows in set (0.00 sec)</p>
<p><span style="color: #cc33cc;"><span>mysql</span>&gt; SHOW  VARIABLES LIKE &#8216;collation_%&#8217;;</span><br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
| Variable_name | Value |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
| collation_connection | latin1_swedish_ci |<br />
| collation_database | latin1_swedish_ci |<br />
| collation_server | latin1_swedish_ci |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
3 rows in set (0.00 sec)<br />
默认就是瑞典latin1,一下是换成我们自己的编码，如utf8:<br />
</span><span>外部访问数据乱码的问题就出在这个connection连接层上,解决方法是在发送查询前执行一下下面这句：</span><br />
<span><br />
1. <span style="color: #993399;"><span style="color: #cc33cc;">SET NAMES &#8216;utf8&#8242;;</span></span><br style="color: #cc33cc;" /> <br style="color: #cc33cc;" /> <span style="color: #cc33cc;">它相当于下面的三句指令：</span><br style="color: #cc33cc;" /> <span style="color: #cc33cc;">SET character_set_client = utf8;</span><br style="color: #cc33cc;" /> <span style="color: #cc33cc;">SET character_set_results =  utf8;</span><br style="color: #cc33cc;" /> <span style="color: #993399;"><span style="color: #cc33cc;">SET character_set_connection = utf8;</span></span></p>
<p>一般只有在访问之前执行这个代码就解决问题了，下面是创建数据库和数据表的，设置为我们自己的编码格式。<br />
</span><span>2. 创建数据库<br />
<span style="color: #cc33cc;"><span>mysql</span>&gt; create  database name character set utf8;</span></p>
<p>3.</span> <span>创建表<br />
</span><span style="color: #cc33cc;">CREATE TABLE `type` (<br />
`id` int(10) unsigned NOT NULL auto_increment,<br />
`flag_deleted` enum(&#8217;Y',&#8217;N') character set utf8 NOT NULL default &#8216;N&#8217;,<br />
`flag_type` int(5) NOT NULL default &#8216;0&#8242;,<br />
`type_name` varchar(50) character set utf8 NOT NULL default &#8221;,<br />
PRIMARY KEY (`id`)<br />
) DEFAULT CHARSET=utf8;</p>
<p><span style="color: #000000;">4.</span></span> <span><span style="color: #000000;">修改数据库成utf8的.<br />
</span></span><span style="color: #cc33cc;"><span>mysql</span>&gt;  alter database name character set utf8;</span><br />
<span><br />
5.</span> <span>修改表默认用utf8.<br />
</span><span style="color: #cc33cc;"><span>mysql</span>&gt;  alter table type character set utf8;</span><br />
<span><br />
</span>6. <span>修改字段用utf8<br />
</span><span style="color: #cc33cc;"><span>mysql</span>&gt;  alter table type modify type_name varchar(50) CHARACTER SET utf8;</span></div>
<div style="margin: 15px;"><span style="color: #cc33cc;"><span style="color: #000000;">二、编码算是MySql最难弄的问题了，研究了一下，总结点结果，部分来自其他人的经验， 如有不妥之处，请踊跃叽歪啊。。。</p>
<p>设置步骤：</p>
<p>一、编辑MySql的配置文件<br />
MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini，可以搜索，Linux下一般是  /etc/my.cnf</p>
<p>&#8211;在 [mysqld] 标签下加上三行<br />
default-character-set = utf8<br />
character_set_server = utf8<br />
lower_case_table_names = 1 //表名不 区分大小写（此与编码无关）</p>
<p>&#8211;在 [mysql] 标签下加上一行<br />
default-character-set = utf8</p>
<p>&#8211;在 [mysql.server]标签下加上一行<br />
default-character-set = utf8</p>
<p>&#8211;在 [mysqld_safe]标签下加上一行<br />
default-character-set = utf8</p>
<p>&#8211;在 [client]标签下加上一行<br />
default-character-set = utf8</p>
<p>二、重新启动MySql服务<br />
Windows可在服务管理器中操作，也可使用命令行：<br />
net stop mysql 回车<br />
net start mysql 回车<br />
服务名可能不一定为mysql，请按自己的设置</p>
<p>Linux下面可是用 service mysql restart</p>
<p>如果出现启动失败，请检查配置文件有没有设置错误</p>
<p>三、查看设置结果<br />
登录MySql命令行客户端：打开命令行<br />
mysql –uroot –p 回车<br />
输入密码<br />
进入mysql后 执行 ：show variables like &#8220;%char%&#8221;;<br />
显示结果应该类似如下：</p>
<p>| character_set_client | utf8 |<br />
| character_set_connection | utf8 |<br />
| character_set_database | utf8 |<br />
| character_set_results | utf8 |<br />
| character_set_server | utf8 |<br />
| character_set_system | utf8 |<br />
| character_sets_dir | /usr/share/mysql/charsets/ |</p>
<p>如果仍有编码不是utf8的，请检查配置文件，也可使用mysql命令设置：<br />
set character_set_client = utf8;<br />
set character_set_server = utf8;<br />
set character_set_connection =  utf8;<br />
set character_set_database =  utf8;<br />
set character_set_results =  utf8;<br />
set collation_connection =  utf8_general_ci;<br />
set collation_database =  utf8_general_ci;<br />
set collation_server =  utf8_general_ci;<br />
以上命令有部分只对当前登录有效，所以不是很管用。</span><br />
<span style="color: #000000;">四、建库导入数据<br />
导入sql脚本文件前，先确保该脚本文件及内容格式为UTF-8编码格式，<br />
同以上方法登入mysql命令行，use 库名 进入相应数据库<br />
set names utf8;<br />
source sql脚本文件名;</p>
<p>五、程序连接字符串（此项与mysql设置无关，为程序开发使用）<br />
对于较老的jdbc版本的驱动，连接字符创可使用一下相似格式：<br />
jdbc:mysql://127.0.1:3306/test?useUnicode=true&amp;characterEncoding=utf-8</p>
<p>六、附录<br />
如果无法更改数据库配置文件，可以采取一下方法(不保证全部有效)：<br />
1、建数据库时设置数据库编码为utf-8<br />
例如 create database `test` default character set utf8;</p>
<p>2、导入数据库sql的时候，请确保sql文件为utf-8编码<br />
进入mysql命令行后输入 set names utf8;<br />
再进入数据库 use  test;<br />
在导入sql脚本 source  test.sql;</p>
<p>3、连接字符串类似如下：(开发相关，非数据库设置)<br />
jdbc:mysql://127.0.1:3306/test?useUnicode=true&amp;characterEncoding=utf-8</span></span></div>
<div style="margin: 15px;"></div>
<div style="margin: 15px;"><span style="color: #cc33cc;"><span style="color: #000000;"><a title="北京网站建设公司" href="http://www.yanzhilu.com">北京网站建设公司</a><br />
</span></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.yanzhilu.com/blog/archives/4875/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL数据库锁机制的相关原理简介</title>
		<link>http://www.yanzhilu.com/blog/archives/4569</link>
		<comments>http://www.yanzhilu.com/blog/archives/4569#comments</comments>
		<pubDate>Sat, 17 Apr 2010 03:18:57 +0000</pubDate>
		<dc:creator>changboter</dc:creator>
				<category><![CDATA[MYSQL]]></category>
		<category><![CDATA[产业新闻]]></category>

		<guid isPermaLink="false">http://www.yanzhilu.com/blog/?p=4569</guid>
		<description><![CDATA[MySQL数据库锁机制的相关原理简介]]></description>
			<content:encoded><![CDATA[<p><span><strong>不同于行级或页级锁定的选项：</strong></p>
<p>·  版本(例如，为并行的插入在MySQL中使用的技术)，其中可以一个写操作，同时有许多读取操作。这明数据库或表支持数据依赖的不同视图，取决于访问何时 开始。其它共同的术语是“时间跟踪”、“写复制”或者“按需复制”。</p>
<p>· 按需复制在许多情况下优先于页级或行级锁定。然而，在最坏的情况下，它可能比使用常规锁定使用多的内存。</p>
<p>·  除了行级锁定外，你可以使用应用程序级锁定，例如在MySQL中使用GET_LOCK()和RELEASE_LOCK()。这些是建议性锁定，它们只能在 运行良好的应用程序中工作。</p>
<p>为达到最高锁定速度，除InnoDB 和BDB 之外，对所有存储引擎，MySQL使用表锁定(而不是页、行或者列锁定)。对于InnoDB  和BDB 表，如果你用LOCK TABLES显式锁定表，MySQL只使用表锁定;如果你不使用LOCK TABLES，因为 InnoDB  使用自动行级锁定而BDB 使用页级锁定来保证事务隔离。</p>
<p>但是对于大表，对于大多数应用程序，表锁定比行锁定更好，但存在部分缺陷。表锁定使许多线程同时从一个表中进行读取操作，但如果一个线程想要对 表进行写操作，它必须首先获得独占访问。更新期间，所有其它想要访问该表的线程必须等待直到更新完成。</p>
<p>表更新通常情况认为比表检索更重要，因此给予它们更高的优先级。这应确保更新一个表的活动不能“饿死”，即使该表上有很繁重的SELECT  活动。</p>
<p>表锁定在这种情况下会造成问题，例如当线程正等待，因为硬盘已满并且在线程可以处理之前必须有空闲空间。在这种情况下，所有想要访问出现问题的 表的线程也被设置成等待状态，直到有更多的硬盘空间可用。</p>
<p>表锁定在下面的情况下也存在问题：</p>
<p>· 一个客户发出长时间运行的查询。</p>
<p>· 然后，另一个客户对同一个表进行更新。该客户必须等待直到SELECT完成。</p>
<p>· 另一个客户对同一个表上发出了另一个 SELECT 语句。因为UPDATE比 SELECT 优先级高，该SELECT  语句等待UPDATE完成，并且等待第1个 SELECT 完成。</p>
<p><strong> 下面描述了一些方法来避免或减少表锁定造成的竞争：</strong></p>
<p>· 试图使 SELECT 语句运行得更快。可能必须创建一些摘要(summary)表做到这点。</p>
<p>·  用&#8211;low-priority-updates启动mysqld。这将给所有更新(修改)一个表的语句以比SELECT语句低的优先级。在这种情况下， 在先前情形的第2个SELECT语句将在UPDATE语句前执行，而不需要等候第1个 SELECT 完成。</p>
<p>· 可以使用SET LOW_PRIORITY_UPDATES=1语句指定具体连接中的所有更新应使用低优先级。</p>
<p>· 可以用LOW_PRIORITY属性给与一个特定的INSERT、UPDATE或DELETE语句较低优先级。</p>
<p>· 可以用HIGH_PRIORITY属性给与一个特定的SELECT语句较高优先级。</p>
<p>·  为max_write_lock_count系统变量指定一个低值来启动mysqld来强制MySQL在具体数量的插入完成后临时提高所有等待一个表的 SELECT 语句的优先级。这样允许在一定数量的WRITE锁定后给出READ锁定。</p>
<p>· 如果你有关于INSERT结合SELECT的问题，切换到使用新的MyISAM表，因为它们支持并发的SELECT和INSERT。</p>
<p>· 如果你对同一个表混合插入和删除，INSERT DELAYED将会有很大的帮助。</p>
<p>· 如果你对同一个表混合使用 SELECT 和DELETE 语句出现问题，DELETE 的LIMIT 选项可以有所帮助。</p>
<p>· 对 SELECT 语句使用SQL_BUFFER_RESULT可以帮助使表锁定时间变短。</p>
<p>·  可以更改mysys/thr_lock.c中的锁代码以使用单一的队列。在这种情况下，写锁定和读锁定将具有相同的优先级，对一些应用程序会有帮助。</p>
<p><strong> 这里是一些MySQL中表锁定相关的技巧：</strong></p>
<p>· 如果不混合更新与需要在同一个表中检查许多行的选择，可以进行并行操作。</p>
<p>· 可以使用 LOCK TABLES  来提高速度，因为在一个锁定中进行许多更新比没有锁定的更新要快得多。将表中的内容切分为几个表也可以有所帮助。</p>
<p>· 如果在MySQL中表锁定时遇到速度问题，可以将表转换为 InnoDB 或BDB 表来提高性能</p>
<p><a title="北京网站建设" href="http://www.yanzhilu.com">北京网站建设</a></p>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanzhilu.com/blog/archives/4569/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mysql触发器实现表数据同步</title>
		<link>http://www.yanzhilu.com/blog/archives/4429</link>
		<comments>http://www.yanzhilu.com/blog/archives/4429#comments</comments>
		<pubDate>Sat, 03 Apr 2010 07:26:32 +0000</pubDate>
		<dc:creator>changboter</dc:creator>
				<category><![CDATA[MYSQL]]></category>
		<category><![CDATA[产业新闻]]></category>

		<guid isPermaLink="false">http://www.yanzhilu.com/blog/?p=4429</guid>
		<description><![CDATA[Mysql触发器实现表数据同步]]></description>
			<content:encoded><![CDATA[<div style="font-size: 14px; line-height: 160%;">
<p>1、<br />
DELIMITER |<br />
CREATE TRIGGER table1_insert<br />
BEFORE INSERT<br />
ON  table1<br />
FOR EACH ROW<br />
BEGIN<br />
declare v_t1 date;<br />
if new.s1 is  not null and new.d1 &gt;= &#8216;2010-01-01&#8242; then<br />
if new.d1 &lt;  date(new.c1) then<br />
select t1 into v_t1 from table2 where s1 =  new.s1;<br />
if new.d1 &lt; v_t1 and new.c1 &gt; concat(v_t1, &#8216;  15:00:00&#8242;) then<br />
set new.isvalid = 0;<br />
end if;<br />
end if;<br />
end if;<br />
END;</p>
<p>2、<br />
DELIMITER |<br />
CREATE TRIGGER table1_update<br />
BEFORE UPDATE<br />
ON  table1<br />
FOR EACH ROW<br />
BEGIN<br />
declare v_t1 date;<br />
if new.s1 is  not null and new.d1 != old.d1 and new.d1 &gt;= &#8216;2010-01-01&#8242; then<br />
if old.isvalid != 1 then<br />
if new.d1 &gt;= date(new.c1) then<br />
set new.isvalid = 1;<br />
end if;<br />
else<br />
if new.d1  &lt; date(new.c1) then<br />
select t1 into v_t1 from table2 where  s1 = new.s1;<br />
if new.d1 &lt; v_t1 and new.c1 &gt;  concat(v_t1, &#8216; 15:00:00&#8242;) then<br />
set new.isvalid = 0;<br />
end if;<br />
end if;<br />
end if;<br />
end if;<br />
END;</p>
<p>3、<br />
DROP TRIGGER `test`.`test_insert`//<br />
CREATE TRIGGER  `test`.`test_insert` BEFORE INSERT ON `test`.`test`<br />
FOR EACH ROW  BEGIN<br />
declare v_t1 date;<br />
if new.s1 is not null and new.d1 &gt;=  &#8216;2010-01-01&#8242; then<br />
if new.d1 &lt; date(new.c1) then<br />
select  t1 into v_t1 from test2 where s1 = new.s1;<br />
if new.d1 &lt; v_t1  and new.c1 &gt; concat(v_t1, &#8216; 15:00:00&#8242;) then<br />
set  new.isvalid = 0;<br />
end if;<br />
end if;<br />
end if;<br />
END<br />
//</p>
<p><strong>创建两个表</strong></p>
<p align="left"><strong>create</strong> database if <strong>not</strong> <strong>exists</strong> ENOTICE;</p>
<p align="left"><strong>CREATE</strong> <strong>TABLE</strong> ENOTICE.VIO_USERINFO(</p>
<p align="left">ID <strong>INT</strong> AUTO_INCREMENT <strong>NOT</strong> <strong>NULL </strong>comment &#8216;自动编号&#8217;,</p>
<p align="left">DLM <strong>VARCHAR</strong>(20) <strong>NOT</strong> <strong>NULL</strong> <strong>UNIQUE </strong>comment &#8216;登录名&#8217;<strong> </strong>,</p>
<p align="left">DLMM <strong>VARCHAR</strong>(20) <strong>NOT</strong> <strong>NULL </strong>comment &#8216;密码&#8217;,</p>
<p align="left"><strong>PRIMARY</strong> <strong>KEY</strong> (ID)</p>
<p align="left">)ENGINE=INNODB <strong>DEFAULT</strong> CHARSET=GBK;</p>
<p align="left"><strong>create</strong> database if <strong>not</strong> <strong>exists</strong> supersms;</p>
<p align="left"><strong>create</strong> <strong>table</strong> supersms.sms_user(</p>
<p align="left">id <strong>int</strong> <strong>not</strong> <strong>null</strong> auto_increment comment &#8216;自动编号&#8217;,</p>
<p align="left">login_name <strong>varchar</strong>(200) <strong>not</strong> <strong>null</strong> <strong>UNIQUE</strong> comment &#8216;登录名&#8217;,</p>
<p align="left">password <strong>varchar</strong>(200) comment &#8216;密码&#8217;,</p>
<p align="left"><strong>primary</strong> <strong>key</strong>(`id`)</p>
<p>)ENGINE=InnoDB <strong>DEFAULT</strong> CHARSET=gbk;</p>
<p align="left"><strong>创建触发器</strong></p>
<p align="left"><strong> </strong></p>
<p align="left">/*同步插入触发器*/</p>
<p align="left"><strong>DROP</strong> TRIGGER IF <strong>EXISTS</strong> ENOTICE.tg_sync_insert;</p>
<p align="left">DELIMITER |</p>
<p align="left"><strong>CREATE</strong> TRIGGER ENOTICE.tg_sync_insert</p>
<p align="left">AFTER <strong>INSERT</strong></p>
<p align="left"><strong>ON</strong> ENOTICE.VIO_USERINFO</p>
<p align="left">FOR EACH ROW</p>
<p align="left"><strong>BEGIN</strong></p>
<p align="left"><strong>INSERT</strong> <strong>INTO</strong> supersms.sms_user(login_name,password) <strong>values</strong> (NEW.DLM,NEW.DLMM) ;</p>
<p align="left"><strong>END</strong>;</p>
<p align="left">|</p>
<p align="left">DELIMITER ;</p>
<p align="left">/*同步删除触发器*/</p>
<p align="left"><strong>DROP</strong> TRIGGER IF <strong>EXISTS</strong> ENOTICE.tg_sync_delete;</p>
<p align="left">DELIMITER |</p>
<p align="left"><strong>CREATE</strong> TRIGGER ENOTICE.tg_sync_delete</p>
<p align="left">AFTER <strong>DELETE</strong></p>
<p align="left"><strong>ON</strong> ENOTICE.VIO_USERINFO</p>
<p align="left">FOR EACH ROW</p>
<p align="left"><strong>BEGIN</strong></p>
<p align="left"><strong>DELETE</strong> <strong>FROM</strong> supersms.sms_user <strong>WHERE</strong> login_name=OLD.DLM;</p>
<p align="left"><strong>END</strong>;</p>
<p align="left">|</p>
<p align="left">DELIMITER ;</p>
<p align="left">/*同步更新触发器*/</p>
<p align="left"><strong>DROP</strong> TRIGGER IF <strong>EXISTS</strong> ENOTICE.tg_sync_update;</p>
<p align="left">DELIMITER |</p>
<p align="left"><strong>CREATE</strong> TRIGGER ENOTICE.tg_sync_update</p>
<p align="left">AFTER <strong>UPDATE</strong></p>
<p align="left"><strong>ON</strong> ENOTICE.VIO_USERINFO</p>
<p align="left">FOR EACH ROW</p>
<p align="left"><strong>BEGIN</strong></p>
<p align="left"><strong>UPDATE</strong> supersms.sms_user <strong>SET</strong> login_name=NEW.DLM,password=NEW.DLMM <strong>WHERE</strong> login_name=OLD.DLM;</p>
<p align="left"><strong>END</strong>;</p>
<p align="left">|</p>
<p align="left">DELIMITER ;</p>
<p align="left"><strong>插入测试</strong></p>
<p align="left"><strong> </strong></p>
<p align="left">mysql&gt; select * from supersms.sms_user;</p>
<p align="left">Empty set (0.00 sec)</p>
<p align="left">mysql&gt; select * from vio_userinfo;</p>
<p align="left">Empty set (0.00 sec)</p>
<p align="left">mysql&gt; insert into vio_userinfo(DLM,DLMM,SITEID,YHLX)  values</p>
<p align="left">-&gt; (&#8217;a',&#8217;a',2,&#8217;1&#8242;),</p>
<p align="left">-&gt; (&#8217;b',&#8217;b',3,&#8217;1&#8242;);</p>
<p align="left">Query OK, 2 rows affected (0.02 sec)</p>
<p align="left">Records: 2  Duplicates: 0  Warnings: 0</p>
<p align="left">mysql&gt; select * from supersms.sms_user;</p>
<p align="left">+&#8212;-+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+</p>
<p align="left">| id | login_name | password |</p>
<p align="left">+&#8212;-+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+</p>
<p align="left">|  9 | a          | a        |</p>
<p align="left">| 10 | b          | b        |</p>
<p align="left">+&#8212;-+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+</p>
<p align="left">2 rows in set (0.00 sec)</p>
<p align="left">mysql&gt; select * from vio_userinfo;</p>
<p align="left">+&#8212;-+&#8212;&#8211;+&#8212;&#8212;+</p>
<p align="left">| ID | DLM | DLMM |</p>
<p align="left">+&#8212;-+&#8212;&#8211;+&#8212;&#8212;+</p>
<p align="left">| 14 | a   | a    |</p>
<p align="left">| 15 | b   | b    |</p>
<p align="left">+&#8212;-+&#8212;&#8211;+&#8212;&#8212;+</p>
<p align="left">2 rows in set (0.00 sec)</p>
<p align="left"><strong>更新测试</strong></p>
<p align="left">mysql&gt; update vio_userinfo set dlm=&#8217;c&#8217; where dlm=&#8217;a';</p>
<p align="left">Query OK, 1 row affected (0.03 sec)</p>
<p align="left">Rows matched: 1  Changed: 1  Warnings: 0</p>
<p align="left">mysql&gt; select * from supersms.sms_user;</p>
<p align="left">+&#8212;-+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+</p>
<p align="left">| id | login_name | password |</p>
<p align="left">+&#8212;-+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+</p>
<p align="left">|  9 | c          | a        |</p>
<p align="left">| 10 | b          | b        |</p>
<p align="left">+&#8212;-+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+</p>
<p align="left">2 rows in set (0.00 sec)</p>
<p align="left">mysql&gt; select * from vio_userinfo;</p>
<p align="left">+&#8212;-+&#8212;&#8211;+&#8212;&#8212;+</p>
<p align="left">| ID | DLM | DLMM |</p>
<p align="left">+&#8212;-+&#8212;&#8211;+&#8212;&#8212;+</p>
<p align="left">| 14 | c   | a    |</p>
<p align="left">| 15 | b   | b    |</p>
<p align="left">+&#8212;-+&#8212;&#8211;+&#8212;&#8212;+</p>
<p align="left">2 rows in set (0.00 sec)</p>
<p align="left"><strong>删除测试</strong></p>
<p align="left"><strong> </strong></p>
<p align="left">mysql&gt; delete from vio_userinfo where id=15;</p>
<p align="left">Query OK, 1 row affected (0.02 sec)</p>
<p align="left">mysql&gt; select * from supersms.sms_user;</p>
<p align="left">+&#8212;-+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+</p>
<p align="left">| id | login_name | password |</p>
<p align="left">+&#8212;-+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+</p>
<p align="left">|  9 | c          | a        |</p>
<p align="left">+&#8212;-+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+</p>
<p align="left">1 row in set (0.00 sec)</p>
<p align="left">mysql&gt; select * from vio_userinfo;</p>
<p align="left">+&#8212;-+&#8212;&#8211;+&#8212;&#8212;+</p>
<p align="left">| ID | DLM | DLMM |</p>
<p align="left">+&#8212;-+&#8212;&#8211;+&#8212;&#8212;+</p>
<p align="left">| 14 | c   | a    |</p>
<p align="left">+&#8212;-+&#8212;&#8211;+&#8212;&#8212;+</p>
<p align="left">1 row in set (0.00 sec)</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.yanzhilu.com/blog/archives/4429/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysql命令行常用命令</title>
		<link>http://www.yanzhilu.com/blog/archives/4080</link>
		<comments>http://www.yanzhilu.com/blog/archives/4080#comments</comments>
		<pubDate>Fri, 05 Mar 2010 02:59:41 +0000</pubDate>
		<dc:creator>changboter</dc:creator>
				<category><![CDATA[MYSQL]]></category>

		<guid isPermaLink="false">http://www.yanzhilu.com/blog/?p=4080</guid>
		<description><![CDATA[mysql命令行常用命令]]></description>
			<content:encoded><![CDATA[<h2>mysql命令行常用命令</h2>
<p>第一招、mysql服务的启动和停止</p>
<ul>
<li>net stop mysql</li>
<li>net start mysql</li>
</ul>
<p>第二招、登陆mysql</p>
<ul>
<li>mysql -u用户名 -p用户密码</li>
<li>mysql -uroot -p，  回车後提示你输入密码，输入12345，然後回车即可进入到mysql中了，mysql的提示符是：</li>
</ul>
<p>mysql&gt; 注意，如果是连接到另外的机器上，则需要加入一个参数-h机器IP 第三招、增加新用户</p>
<ul>
<li>grant 权限 on 数据库.* to 用户名@登录主机 identified by &#8220;密码&#8221;</li>
<li>增加一个用户user1密码为password1，让其可以在本机上登录，  并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql，然後键入以下命令：grant  select,insert,update,delete on *.* to user1@localhost Identified by  &#8220;password1&#8243;;如果希望该用户能够在任何机器上登陆mysql，则将localhost改为&#8221;%&#8221;。</li>
<li>如果你不想user1有密码，可以再打一个命令将密码去掉。grant select,insert,update,delete  on mydb.* to user1@localhost identified by &#8220;&#8221;;</li>
</ul>
<p>第四招： 操作数据库 登录到mysql中，然後在mysql的提示符下运行下列命令，每个命令以分号结束。</p>
<ul>
<li>显示数据库列表。</li>
</ul>
<p>show databases; 缺省有两个数据库：mysql和test。 mysql库存放着mysql的系统和用户权限信息，我们改密码和新增用户，实际上就是对这个库进行操作。</p>
<ul>
<li>显示库中的数据表：</li>
</ul>
<p>use mysql; show tables;</p>
<ul>
<li>显示数据表的结构：</li>
</ul>
<p>describe 表名;</p>
<ul>
<li>建库与删库：</li>
</ul>
<p>create database 库名; drop database 库名;</p>
<ul>
<li>建表：</li>
</ul>
<p>use 库名; create table 表名(字段列表); drop table 表名;</p>
<ul>
<li>清空表中记录：</li>
</ul>
<p>delete from 表名;</p>
<ul>
<li>显示表中的记录：</li>
</ul>
<p>select * from 表名;</p>
<p>第五招、导出和导入数据</p>
<ul>
<li>导出数据：</li>
</ul>
<p>mysqldump &#8211;opt test &gt; mysql.test 即将数据库test数据库导出到mysql.test文件，後者是一个文本文件 如：mysqldump -u root -p123456 &#8211;databases dbname &gt; mysql.dbname 就是把数据库dbname导出到文件mysql.dbname中。</p>
<ul>
<li>导入数据:</li>
</ul>
<p>mysqlimport -u root -p123456 &lt; mysql.dbname。 不用解释了吧。</p>
<ul>
<li>将文本数据导入数据库:</li>
</ul>
<p>文本数据的字段数据之间用tab键隔开。 use test; load data local infile &#8220;文件名&#8221; into table 表名;</p>
<p>SQL常用命令使用方法：</p>
<p>(1) 数据记录筛选：</p>
<p>sql=&#8221;select * from 数据表 where 字段名=字段值 order by 字段名 [desc]&#8221;</p>
<p>sql=&#8221;select * from 数据表 where 字段名 like &#8216;%字段值%&#8217; order by 字段名  [desc]&#8221;</p>
<p>sql=&#8221;select top 10 * from 数据表 where 字段名 order by 字段名 [desc]&#8221;</p>
<p>sql=&#8221;select * from 数据表 where 字段名 in (&#8217;值1&#8242;,&#8217;值2&#8242;,&#8217;值3&#8242;)&#8221;</p>
<p>sql=&#8221;select * from 数据表 where 字段名 between 值1 and 值2&#8243;</p>
<p>(2) 更新数据记录：</p>
<p>sql=&#8221;update 数据表 set 字段名=字段值 where 条件表达式&#8221;</p>
<p>sql=&#8221;update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式&#8221;</p>
<p>(3) 删除数据记录：</p>
<p>sql=&#8221;delete from 数据表 where 条件表达式&#8221;</p>
<p>sql=&#8221;delete from 数据表&#8221; (将数据表所有记录删除)</p>
<p>(4) 添加数据记录：</p>
<p>sql=&#8221;insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)&#8221;</p>
<p>sql=&#8221;insert into 目标数据表 select * from 源数据表&#8221; (把源数据表的记录添加到目标数据表)</p>
<p>(5) 数据记录统计函数：</p>
<p>AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加</p>
<p>引用以上函数的方法：</p>
<p>sql=&#8221;select sum(字段名) as 别名 from 数据表 where 条件表达式&#8221; set rs=conn.excute(sql)</p>
<p>用 rs(&#8221;别名&#8221;) 获取统的计值，其它函数运用同上。</p>
<p>(6) 数据表的建立和删除：</p>
<p>CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )</p>
<p>例：CREATE TABLE tab01(name varchar(50),datetime default now())</p>
<p>DROP TABLE 数据表名称 (永久性删除一个数据表)</p>
<div style="float: right; margin-left: 5px;">[<a title="Edit section: MySQL批处理命令" href="http://www.phpbbchina.com/wiki/index.php?title=MySQL_Command_Line&amp;action=edit&amp;section=2">编辑</a>]</div>
<p><a name="MySQL.E6.89.B9.E5.A4.84.E7.90.86.E5.91.BD.E4.BB.A4"></a></p>
<h2>MySQL批 处理命令</h2>
<p>批处理是一种非交互式运行mysql程序的方法，如同您在mysql中使用的命令一样，你仍然将使用这些命令。</p>
<p>为了实现批处理，您重定向一个文件到mysql程序中，首先我们需要一个文本文件，这个文本文件包含有与我们在mysql中输入的命令相同 的文本。 比如我们要插入一些数据，使用包含下面文本的文件(文件名为New_Data.sql,当然我们也可以取名为New_Data.txt及任何其他的合法名 字，并不一定要以後缀sql结尾)：</p>
<ul>
<li>USE Meet_A_Geek;</li>
<li>INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL,  &#8220;Block&#8221;);</li>
<li>INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL,  &#8220;Newton&#8221;);</li>
<li>INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL,  &#8220;Simmons&#8221;);</li>
</ul>
<p>注意上面的这些句子的语法都必须是正确的，并且每个句子以分号结束。 上面的USE命令选择数据库，INSERT命令插入数据。</p>
<p>下面我们要把上面的文件导入到数据库中，导入之前要确认数据库已经在运行，即是mysqld进程（或者说服务，Windows  NT下面称为”服务“，unix下面为”进程“）已经在运行。 然後运行下面的命令：</p>
<ul>
<li>bin/mysql –p &lt; /home/mark/New_Data.sql</li>
</ul>
<p>接着按提示输入密码，如果上面的文件中的语句没有错误，那么这些数据就被导入到了数据库中。</p>
<p>命令行中使用LOAD DATA INFILE 从文件中导入数据到数据库: 现在您可能会问自己，&#8221;究竟为什么我要输入所有的这些SQL语句到文件中，然後通过程序运行它们呢？” 这样看起来好像需要大量的工作。很好，你这样想很可能就对了。但是假如你有从所有这些命令中产生的log记录呢？现在这样就很棒，嗯，大多数数据库都会自 动产生数据库中的事件记录的log。而大部分log都包含有用过的原始的SQL命令。因此，如果您不能从您现在的数据库中导出数据到新的  mysql数据库中使用，那么您可以使用log和mysql的批处理特性，来快速且方便地导入您地数据。当然，这样就省去了打字的麻烦。</p>
<p>LOAD DATA INFILE  这是我们要介绍的最後一个导入数据到MySQL数据库中的方法。这个命令与mysqlimport非常相似，但这个方法可以在mysql命令行中使用。也 就是说您可以在所有使用API的程序中使用这个命令。使用这种方法，您就可以在应用程序中导入您想要导入的数据。</p>
<p>使用这个命令之前，mysqld进程（服务）必须已经在运行。 启动mysql命令行：</p>
<ul>
<li>bin/mysql –p</li>
</ul>
<p>按提示输入密码，成功进入mysql命令行之後，输入下面的命令：</p>
<ul>
<li>USE Meet_A_Geek;</li>
<li>LOAD DATA INFILE &#8220;/home/mark/data.sql&#8221; INTO TABLE Orders;</li>
</ul>
<p>简单的讲，这样将会把文件data.sql中的内容导入到表Orders中，如mysqlimport工具一样，这个命令也有一些可以选择的参数。 比如您需要把自己的电脑上的数据导入到远程的数据库服务器中，您可以使用下面的命令：</p>
<ul>
<li>LOAD DATA LOCAL INFILE &#8220;C:\MyDocs\SQL.txt&#8221; INTO TABLE Orders;</li>
</ul>
<p>上面的LOCAL参数表示文件是本地的文件，服务器是您所登陆的服务器。 这样就省去了使用ftp来上传文件到服务器，MySQL替你完成了. 您也可以设置插入语句的优先级，如果您要把它标记为低优先级（LOW_PRIORITY），那么MySQL将会等到没有其他人读这个表的时候，才把插入数 据。可以使用如下的命令：</p>
<ul>
<li>LOAD DATA LOW_PRIORITY INFILE &#8220;/home/mark/data.sql&#8221; INTO TABLE  Orders;</li>
</ul>
<p>您也可以指定是否在插入数据的时候，取代或者忽略文件与数据表中重复的键值。替代重复的键值的语法：</p>
<ul>
<li>LOAD DATA LOW_PRIORITY INFILE &#8220;/home/mark/data.sql&#8221; REPLACE INTO  TABLE Orders;</li>
</ul>
<p>上面的句子看起来有点笨拙，但却把关键字放在了让您的剖析器可以理解的地方。</p>
<p>下面的一对选项描述了文件的记录格式，这些选项也是在mysqlimport工具中可以用的。他们在这里看起来有点不同。首先，要用到 FIELDS关键字，如果用到这个关键字，MySQL剖析器希望看到至少有下面的一个选项：</p>
<ul>
<li>TERMINATED BY character</li>
<li>ENCLOSED BY character</li>
<li>ESCAPED BY character</li>
</ul>
<p>这些关键字与它们的参数跟mysqlimport中的用法是一样的. The TERMINATED BY 描述字段的分隔符，默认情况下是tab字符（\t） ENCLOSED BY描述的是字段的括起字符。比方以引号括起每一个字段。 ESCAPED BY 描述的转义字符。默认的是反些杠（backslash：\ ）. 下面仍然使用前面的mysqlimport命令的例子，用LOAD DATA INFILE语句把同样的文件导入到数据库中:</p>
<ul>
<li>LOAD DATA INFILE &#8220;/home/mark/Orders.txt&#8221; REPLACE INTO TABLE  Orders  FIELDS TERMINATED BY &#8216;,&#8217; ENCLOSED BY &#8216;&#8221;&#8216;;</li>
</ul>
<p>LOAD DATA INFILE语句中有一个mysqlimport工具中没有特点：</p>
<pre>     LOAD DATA INFILE 可以按指定的列把文件导入到数据库中。</pre>
<p>当我们要把数据的一部分内容导入的时候，这个特点就很重要。比方说，我们要从Access数据库升级到MySQL数据库的时候，需要加入一些栏目 （列/字段/field）到MySQL数据库中，以适应一些额外的需要。 这个时候，我们的Access数据库中的数据仍然是可用的，但是因为这些数据的栏目(field)与MySQL中的不再匹配，因此而无法再使用  mysqlimport工具。尽管如此，我们仍然可以使用LOAD DATA  INFILE，下面的例子显示了如何向指定的栏目(field)中导入数据：</p>
<ul>
<li>LOAD DATA INFILE &#8220;/home/Order.txt&#8221; INTO TABLE  Orders(Order_Number, Order_Date, Customer_ID);</li>
</ul>
<p>如您所见，我们可以指定需要的栏目（fields）。这些指定的字段依然是以括号括起，由逗号分隔的，如果您遗漏了其中任何一个，MySQL将会提 醒您^_^<br />
ubuntu 下的 mysql 命令行方式。把 blue.sql 下载下来，运行</p>
<pre> (sudo) mysql
 create database XXXX;
 use XXXX;
 source blue.sql

<a title="北京网站建设公司" href="http://www.yanzhilu.com/index.html">北京网站建设公司</a></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.yanzhilu.com/blog/archives/4080/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL 5.5.1 M2 发布</title>
		<link>http://www.yanzhilu.com/blog/archives/3665</link>
		<comments>http://www.yanzhilu.com/blog/archives/3665#comments</comments>
		<pubDate>Fri, 29 Jan 2010 11:43:00 +0000</pubDate>
		<dc:creator>changboter</dc:creator>
				<category><![CDATA[MYSQL]]></category>

		<guid isPermaLink="false">http://www.yanzhilu.com/blog/?p=3665</guid>
		<description><![CDATA[MySQL 5.5.1 M2 发布]]></description>
			<content:encoded><![CDATA[<p><ins style="display: inline-table; border: medium none; height: 200px; margin: 0pt; padding: 0pt; position: relative; visibility: visible; width: 200px;"><ins style="display: block; border: medium none; height: 200px; margin: 0pt; padding: 0pt; position: relative; visibility: visible; width: 200px;"></ins></ins> <span>该版本主要改进：</p>
<p>1. 增加了半同步复制接口的支持<br />
2. 支持SQL标准中的 SIGNAL 和 RESIGNAL 语句<br />
3. 增强的XML功能<br />
4. 新增两种用户定义分区的类型<br />
5. 允许删除某个表在某个分区中的所有数据<br />
6. 主键缓存支持存放在分区中的 MyISAM 表<br />
7. 新增 TO_SECONDS 函数</p>
<p>下载地址： <a href="http://dev.mysql.com/downloads/" target="_blank">http://dev.mysql.com/downloads/</a></p>
<p><a title="网站建设" href="http://www.yanzhilu.com">网站建设</a></p>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanzhilu.com/blog/archives/3665/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
