﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-远风工作室-随笔分类-MySQL</title><link>http://www.cppblog.com/amazon/category/17839.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 02 Nov 2011 15:25:11 GMT</lastBuildDate><pubDate>Wed, 02 Nov 2011 15:25:11 GMT</pubDate><ttl>60</ttl><item><title>insert时出现主键冲突的处理方法【转载】</title><link>http://www.cppblog.com/amazon/archive/2011/11/02/159489.html</link><dc:creator>远风</dc:creator><author>远风</author><pubDate>Wed, 02 Nov 2011 02:20:00 GMT</pubDate><guid>http://www.cppblog.com/amazon/archive/2011/11/02/159489.html</guid><wfw:comment>http://www.cppblog.com/amazon/comments/159489.html</wfw:comment><comments>http://www.cppblog.com/amazon/archive/2011/11/02/159489.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/amazon/comments/commentRss/159489.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amazon/services/trackbacks/159489.html</trackback:ping><description><![CDATA[<strong>原文出处：</strong><a href="http://hi.baidu.com/ytjwt/blog/item/1ccc2c26022b0608908f9d8c.html"><strong>http://hi.baidu.com/ytjwt/blog/item/1ccc2c26022b0608908f9d8c.html</strong></a><br /><br />
<p>使用"insert into"语句进行数据库操作时可能遇到主键冲突，用户需要根据应用场景进行忽略或者覆盖等操作。总结下，有三种解决方案来避免出错。<br /><br /><strong>1. insert ignore into<br /></strong>遇主键冲突，保持原纪录，忽略新插入的记录。<br />mysql&gt; select * from device ;<br />+-------+--------+-------------+<br />| devid | status | spec_char&nbsp;&nbsp; |<br />+-------+--------+-------------+<br />|&nbsp;&nbsp;&nbsp;&nbsp; 1 | dead&nbsp;&nbsp; | zhonghuaren | <br />|&nbsp;&nbsp;&nbsp;&nbsp; 2 | dead&nbsp;&nbsp; | zhong&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | <br />+-------+--------+-------------+<br />2 rows in set (0.00 sec)</p>
<p>mysql&gt; insert into device values (1,'alive','yangting');<br />ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'</p>
<p>mysql&gt; insert ignore&nbsp; into device values (1,'alive','yangting');<br />Query OK, 0 rows affected (0.00 sec)</p>
<p>mysql&gt; select * from device ;<br />+-------+--------+-------------+<br />| devid | status | spec_char&nbsp;&nbsp; |<br />+-------+--------+-------------+<br />|&nbsp;&nbsp;&nbsp;&nbsp; 1 | dead&nbsp;&nbsp; | zhonghuaren | <br />|&nbsp;&nbsp;&nbsp;&nbsp; 2 | dead&nbsp;&nbsp; | zhong&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | <br />+-------+--------+-------------+<br />2 rows in set (0.00 sec)<br />可见 insert ignore&nbsp; into当遇到主键冲突时，不更改原纪录，也不报错<br /></p>
<p><strong>2. replace into<br /></strong>遇主键冲突，替换原纪录，即先删除原纪录，后insert新纪录</p>
<p>mysql&gt; replace&nbsp; into device values (1,'alive','yangting');<br />Query OK, 2 rows affected (0.00 sec)</p>
<p>mysql&gt; select * from device ;<br />+-------+--------+-----------+<br />| devid | status | spec_char |<br />+-------+--------+-----------+<br />|&nbsp;&nbsp;&nbsp;&nbsp; 1 | alive&nbsp; | yangting&nbsp; | <br />|&nbsp;&nbsp;&nbsp;&nbsp; 2 | dead&nbsp;&nbsp; | zhong&nbsp;&nbsp;&nbsp;&nbsp; | <br />+-------+--------+-----------+<br />2 rows in set (0.00 sec)</p>
<p><br /><strong>3. insert into&nbsp;... ON DUPLICATE KEY UPDATE<br /></strong>其实这个是原本需要执行3条SQL语句（SELECT,INSERT,UPDATE），缩减为1条语句即可完成。<br />即<br />IF (SELECT * FROM where 存在) {<br />&nbsp;&nbsp;&nbsp; UPDATE&nbsp; SET&nbsp; WHERE ;<br />} else {<br />&nbsp;&nbsp;&nbsp; INSERT INTO;<br />}<br />如：mysql&gt; insert into device values (1,'readonly','yang') ON DUPLICATE KEY UPDATE status ='drain';<br />Query OK, 2 rows affected (0.00 sec)</p>
<p>上面语句伪代码表示即为<br />if (select * from device where devid=1) { <br />&nbsp;&nbsp;&nbsp; update device set status ='drain' where devid=1 <br />} else {<br />&nbsp;&nbsp;&nbsp; insert into device values (1,'readonly','yang')<br />}<br />很明显，devid=1&nbsp; 是有的，这样就执行update操作<br />mysql&gt; select * from device ;<br />+-------+--------+-----------+<br />| devid | status | spec_char |<br />+-------+--------+-----------+<br />|&nbsp;&nbsp;&nbsp;&nbsp; 1 | drain&nbsp; | yangting&nbsp; | <br />|&nbsp;&nbsp;&nbsp;&nbsp; 2 | dead&nbsp;&nbsp; | zhong&nbsp;&nbsp;&nbsp;&nbsp; | <br />+-------+--------+-----------+<br />2 rows in set (0.00 sec)<br />&nbsp;</p>
<p>测试表：<br />CREATE TABLE `device` (<br />`devid` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,<br />`status` enum('alive','dead','down','readonly','drain') DEFAULT NULL,<br />`spec_char` varchar(11) DEFAULT '0',<br />PRIMARY KEY (`devid`)<br />) ENGINE=InnoDB </p>
<p>&nbsp;</p><img src ="http://www.cppblog.com/amazon/aggbug/159489.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amazon/" target="_blank">远风</a> 2011-11-02 10:20 <a href="http://www.cppblog.com/amazon/archive/2011/11/02/159489.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL语句汇总</title><link>http://www.cppblog.com/amazon/archive/2009/10/10/98269.html</link><dc:creator>远风</dc:creator><author>远风</author><pubDate>Sat, 10 Oct 2009 12:28:00 GMT</pubDate><guid>http://www.cppblog.com/amazon/archive/2009/10/10/98269.html</guid><wfw:comment>http://www.cppblog.com/amazon/comments/98269.html</wfw:comment><comments>http://www.cppblog.com/amazon/archive/2009/10/10/98269.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/amazon/comments/commentRss/98269.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amazon/services/trackbacks/98269.html</trackback:ping><description><![CDATA[<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">CREATE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">DATABASE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">database</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">创建一个数据库<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">DROP</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">DATABASE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">database</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">删除一个数据库</span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">CREATE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;(name1&nbsp;type(size),&nbsp;name2&nbsp;type(size),&nbsp;&#8230;<img src="http://www.cppblog.com/Images/dot.gif">);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">创建一个表，其中所有数据类型包括：（不同数据库有所不同）<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">整数：</span><span style="COLOR: #000000; FONT-WEIGHT: bold">integer</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000; FONT-WEIGHT: bold">int</span><span style="COLOR: #000000">)&nbsp;&nbsp;</span><span style="COLOR: #000000; FONT-WEIGHT: bold">int</span><span style="COLOR: #000000">(size)&nbsp;&nbsp;</span><span style="COLOR: #000000; FONT-WEIGHT: bold">smallint</span><span style="COLOR: #000000">(size)&nbsp;&nbsp;</span><span style="COLOR: #000000; FONT-WEIGHT: bold">tinyint</span><span style="COLOR: #000000">(size)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">小数：</span><span style="COLOR: #000000; FONT-WEIGHT: bold">decimal</span><span style="COLOR: #000000">(size,&nbsp;d)&nbsp;&nbsp;numeric(size,&nbsp;d)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">size是最大为数，d为小数点后位数<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">固定长度字符串：</span><span style="COLOR: #000000; FONT-WEIGHT: bold">char</span><span style="COLOR: #000000">(size)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">size是固定长度<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">可变长度字符串：vachar(size)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">size是最大长度<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">日期：date(yyyymmdd)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">DROP</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">删除一个表，包括删除表的结构、属性和索引等<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">TRUNCATE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">仅删除表中的所有数据，表依然存在<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">DELETE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;name&nbsp;op&nbsp;value;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">删除表中某些记录</span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">ALTER</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">ADD</span><span style="COLOR: #000000">&nbsp;name&nbsp;type(size);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">在表中添加新的列<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">ALTER</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">DROP</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">COLUMN</span><span style="COLOR: #000000">&nbsp;name;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">删除表中某列</span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name1,&nbsp;name2,&#8230;..&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #808080">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">DISTINCT</span><span style="COLOR: #000000">&nbsp;name1,&nbsp;</span><span style="COLOR: #0000ff">DISTINCT</span><span style="COLOR: #000000">&nbsp;name2&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">返回不重复的值，每个DISTINCT只负责一个列名<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name1,&nbsp;name2 <span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span>&nbsp;</span><span style="COLOR: #0000ff">ORDER</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">BY</span><span style="COLOR: #000000">&nbsp;name1,&nbsp;name2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">先按name1顺序排，再按name2顺序排<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name1,&nbsp;name2 <span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span>&nbsp;</span><span style="COLOR: #0000ff">ORDER</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">BY</span><span style="COLOR: #000000">&nbsp;name1&nbsp;</span><span style="COLOR: #0000ff">ASC</span><span style="COLOR: #000000">,&nbsp;name2&nbsp;</span><span style="COLOR: #0000ff">DESC</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">ASC是升序排序，DESC是降序排序，每个ASC</span><span style="COLOR: #808080">/</span><span style="COLOR: #000000">DEST只负责一个列名<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;name&nbsp;op&nbsp;value;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//AND</span><span style="COLOR: #000000">、OR可将WHERE中多个条件结合起来（AND优先级比OR大）<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">op&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #808080">&lt;&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #808080">&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #808080">&gt;=</span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #808080">&lt;</span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #808080">&lt;=</span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #808080">BETWEEN</span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #808080">LIKE</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #808080">LIKE</span><span style="COLOR: #000000">&nbsp;&#8216;a</span><span style="COLOR: #808080">%</span><span style="COLOR: #000000">&#8217;;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">LIKE中使用</span><span style="COLOR: #808080">%</span><span style="COLOR: #000000">（任意字符，包括0个字符）和_（任意单个字符）作为通配符<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #808080">IN</span><span style="COLOR: #000000">&nbsp;(value1,&nbsp;value2,&nbsp;&#8230;.);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">用IN或者NOT&nbsp;IN确定返回的name在</span><span style="COLOR: #808080">/</span><span style="COLOR: #000000">不在之中，也可以使用SELECT子句如IN (SELECT .......)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #808080">BETWEEN</span><span style="COLOR: #000000">&nbsp;value&nbsp;</span><span style="COLOR: #808080">AND</span><span style="COLOR: #000000">&nbsp;value;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//BETWEEN</span><span style="COLOR: #000000">&#8230;</span><span style="COLOR: #808080">AND</span><span style="COLOR: #000000">&#8230;或者NOT&nbsp;</span><span style="COLOR: #808080">BETWEEN</span><span style="COLOR: #000000">&#8230;</span><span style="COLOR: #808080">AND</span><span style="COLOR: #000000">&#8230;之间的数可以是数值、文本（字典序）或者日期。每个数据库对BETWEEN的处理是有差异的，具体体现在头尾是否开区间的问题<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">AS</span><span style="COLOR: #000000">&nbsp;othername&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">AS</span><span style="COLOR: #000000">&nbsp;othertable;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">每个AS对应一个列名或者表名<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;table1.name,&nbsp;table2.name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;table1,&nbsp;table2&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;table1.name&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;table2.name;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;table1.name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;table1,&nbsp;table2&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;table1.name&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;table2.name&nbsp;</span><span style="COLOR: #808080">AND</span><span style="COLOR: #000000">&nbsp;table2.name&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;value;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">利用主键和外键的联系进行多表之间的联合查找<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;table1.name,&nbsp;table2.name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;table1&nbsp;</span><span style="COLOR: #0000ff">INNER</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">JOIN</span><span style="COLOR: #000000">&nbsp;table2&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;table1.</span><span style="COLOR: #0000ff">key</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;table2.foreignkey;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">内连接，某表的主键和该表具有的其他表的外键，返回匹配的行<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;table1.name,&nbsp;table2.name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;table1&nbsp;</span><span style="COLOR: #ff00ff">LEFT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">JOIN</span><span style="COLOR: #000000">&nbsp;table2&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;table1.</span><span style="COLOR: #0000ff">key</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;table2.foreignkey;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">返回table1的所有行，即使第二个表没有匹配的行<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;table1.name,&nbsp;table2.name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;table1&nbsp;</span><span style="COLOR: #ff00ff">RIGHT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">JOIN</span><span style="COLOR: #000000">&nbsp;table2&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;table1.</span><span style="COLOR: #0000ff">key</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;table2.foreignkey;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">返回table2的所有行，即使第一个表没有匹配的行<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;table1&nbsp;<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">UNION</span><span style="COLOR: #000000">&nbsp;<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;table2;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">使用UNION，被选取的列的数据类型应该是相同的，且只有不同的值会被选取<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;table1&nbsp;<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">UNION</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #808080">ALL</span><span style="COLOR: #000000">&nbsp;<br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;table2;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #0000ff">UNION</span><span style="COLOR: #000000">&nbsp;ALL会列出所有的值</span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">INSERT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INTO</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">VALUES</span><span style="COLOR: #000000">&nbsp;(value1,&nbsp;value2,&#8230;&#8230;);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">INSERT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INTO</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;(name1,&nbsp;name2,&#8230;.)&nbsp;</span><span style="COLOR: #0000ff">VALUES</span><span style="COLOR: #000000">&nbsp;(value1,&nbsp;value2);</span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">UPDATE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">SET</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;value&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;name&nbsp;op&nbsp;value;</span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">GROUP</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">BY</span><span style="COLOR: #000000">：<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">合计函数常常需要添加GROUP&nbsp;BY功能，例如使用SUM(name)就需要使用GROUP&nbsp;</span><span style="COLOR: #0000ff">BY</span><span style="COLOR: #000000">&nbsp;name来计算。<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name,&nbsp;</span><span style="COLOR: #ff00ff">SUM</span><span style="COLOR: #000000">(name)&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">GROUP</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">BY</span><span style="COLOR: #000000">&nbsp;name;<br><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">HAVING</span><span style="COLOR: #000000">：<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">WHERE无法应用于合计函数条件测试，所以使用HAVING对合计函数进行测试。<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name,&nbsp;</span><span style="COLOR: #ff00ff">SUM</span><span style="COLOR: #000000">(name)&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">GROUP</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">BY</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">HAVING</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff00ff">SUM</span><span style="COLOR: #000000">(name)&nbsp;op&nbsp;value;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">HAVING与WHERE一样，可使用op、</span><span style="COLOR: #808080">AND/</span><span style="COLOR: #000000">OR等各种操作</span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000">Aggregate合计函数：<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">该函数操作面向一系列的值，返回一个单一的值。如果在SELECT语句的项目列表中的众多其他表达式中使用SELECT语句，则这个SELECT必须使用GROUP&nbsp;BY语句。Access和SQL&nbsp;Server中的合计函数如下：<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">AVG</span><span style="COLOR: #000000">(name)：某列平均值<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">COUNT</span><span style="COLOR: #000000">(name)：某列行数（不包括NULL值）<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">COUNT</span><span style="COLOR: #000000">(</span><span style="COLOR: #808080">*</span><span style="COLOR: #000000">)：被选总行数<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">FIRST(name)：指定域中的第一个记录的值（SQL&nbsp;Server&nbsp;2000不支持）<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">LAST(name)：指定域中的最后一个记录的值（SQL&nbsp;Server&nbsp;2000不支持）<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">MAX</span><span style="COLOR: #000000">(name)：某列最高值<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">MIN</span><span style="COLOR: #000000">(name)：某列最低值<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">SUM</span><span style="COLOR: #000000">(name)：某列总和<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">Scalar函数：<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">该函数面向单一的值，并返回基于输入值的一个单一的值。Access中的Scalar函数如下：<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">UCASE(c)：将某个域转换为大写<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">LCASE(C)：将某个域转换为小写<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">MIN</span><span style="COLOR: #000000">(c,&nbsp;start</span><span style="COLOR: #ff0000">[</span><span style="COLOR: #ff0000">,&nbsp;end</span><span style="COLOR: #ff0000">]</span><span style="COLOR: #000000">)：从某个文本里提取字符<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">LEN</span><span style="COLOR: #000000">(c)：返回某个文本域的长度<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">INSTR(c,&nbsp;</span><span style="COLOR: #000000; FONT-WEIGHT: bold">char</span><span style="COLOR: #000000">)：返回某个文本域中指定字符的位置<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">LEFT</span><span style="COLOR: #000000">(c,&nbsp;numer)：返回某个被请求文本域的左侧部分<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">RIGHT</span><span style="COLOR: #000000">(c,&nbsp;numer)：返回某个被请求文本域的右侧部分<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #ff00ff">ROUND</span><span style="COLOR: #000000">(c,&nbsp;decimals)：对某个数值域进行指定小数位数的四舍五入<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">MOD(x,&nbsp;y)：返回除法操作的余数<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">NOW()：返回当前系统日期<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">FORMAT(c,&nbsp;format)：改变某个域的显示方式</span></div>
<br><strong>下面是一些不常用的SQL语句功能，可以参考：<br></strong><br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">INDEX</span><span style="COLOR: #000000">：索引被创建于已有的表中，它可使对行的定位更加快速有效，可以在表格的一个或者多个列上创建索引，每个索引都会被起个名字，用户无法看到索引，只能被用来加速查询。更新一个包含索引的表需要比更新一个没有索引的表更多的时间，这是由于索引本身也需要更新。因此，建议仅在常常用于搜索的列上面创建索引。<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">CREATE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">UNIQUE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INDEX</span><span style="COLOR: #000000">&nbsp;indexname&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;(name1,&nbsp;name2);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">创建一个唯一的索引，即两行不能有相同的索引值<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">CREATE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INDEX</span><span style="COLOR: #000000">&nbsp;indexname&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;(name1,&nbsp;name2);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">创建一个简单索引，可以使用重复的值<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">CREATE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INDEX</span><span style="COLOR: #000000">&nbsp;indexname&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;(name&nbsp;</span><span style="COLOR: #0000ff">DESC</span><span style="COLOR: #000000">);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">用DESC来降序索引某个列的值<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">DROP</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INDEX</span><span style="COLOR: #000000">&nbsp;indexname&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">Access和MS&nbsp;SQLJet的做法<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">DROP</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INDEX</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">.indexname;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">MS&nbsp;SQL&nbsp;Server的做法<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">DROP</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INDEX</span><span style="COLOR: #000000">&nbsp;indexname;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">DB2和Oracle的做法<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">ALTER</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">TABLE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">DROP</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INDEX</span><span style="COLOR: #000000">&nbsp;indexname;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #808080">//</span><span style="COLOR: #000000">MySQL的做法</span></div>
<br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">INTO</span><span style="COLOR: #000000">&nbsp;newtable&nbsp;</span><span style="COLOR: #ff0000">[</span><span style="COLOR: #ff0000">IN&nbsp;&#8216;externaldatabase&#8217;</span><span style="COLOR: #ff0000">]</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;name&nbsp;op&nbsp;value;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">创建表的备份复件或者用于对记录进行存档。<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #808080">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">INTO</span><span style="COLOR: #000000">&nbsp;newtable&nbsp;</span><span style="COLOR: #ff0000">[</span><span style="COLOR: #ff0000">IN&nbsp;&#8216;externaldatabase&#8217;</span><span style="COLOR: #ff0000">]</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name1,&nbsp;name2&nbsp;</span><span style="COLOR: #0000ff">INTO</span><span style="COLOR: #000000">&nbsp;newtable&nbsp;</span><span style="COLOR: #ff0000">[</span><span style="COLOR: #ff0000">IN&nbsp;&#8216;externaldatabase&#8217;</span><span style="COLOR: #ff0000">]</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">INTO</span><span style="COLOR: #000000">&nbsp;newtable&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">table</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000">&nbsp;name&nbsp;op&nbsp;value;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;name&nbsp;</span><span style="COLOR: #0000ff">INTO</span><span style="COLOR: #000000">&nbsp;newtable&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;table1&nbsp;</span><span style="COLOR: #0000ff">INNER</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">JOIN</span><span style="COLOR: #000000">&nbsp;table2&nbsp;</span><span style="COLOR: #0000ff">ON</span><span style="COLOR: #000000">&nbsp;table1.</span><span style="COLOR: #0000ff">key</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #808080">=</span><span style="COLOR: #000000">&nbsp;table2.foreignkey;</span></div>
<br><br>
 <img src ="http://www.cppblog.com/amazon/aggbug/98269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amazon/" target="_blank">远风</a> 2009-10-10 20:28 <a href="http://www.cppblog.com/amazon/archive/2009/10/10/98269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>