﻿<?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>BlogJava-liuquanqi-随笔分类-Database</title><link>http://www.blogjava.net/liuquanqi/category/29587.html</link><description>java</description><language>zh-cn</language><lastBuildDate>Sat, 23 Feb 2008 03:31:43 GMT</lastBuildDate><pubDate>Sat, 23 Feb 2008 03:31:43 GMT</pubDate><ttl>60</ttl><item><title>各种数据库如何读取前N条记录 </title><link>http://www.blogjava.net/liuquanqi/archive/2008/02/22/181348.html</link><dc:creator>☆℡齐</dc:creator><author>☆℡齐</author><pubDate>Fri, 22 Feb 2008 03:54:00 GMT</pubDate><guid>http://www.blogjava.net/liuquanqi/archive/2008/02/22/181348.html</guid><wfw:comment>http://www.blogjava.net/liuquanqi/comments/181348.html</wfw:comment><comments>http://www.blogjava.net/liuquanqi/archive/2008/02/22/181348.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuquanqi/comments/commentRss/181348.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuquanqi/services/trackbacks/181348.html</trackback:ping><description><![CDATA[<p>各种数据库如何读取前N条记录 <br />
1. ORACLE <br />
Select * FROM TABLE1 Where ROWNUM&lt;=N </p>
<p>2. INFORMIX <br />
Select FIRST N * FROM TABLE1 where 1=1 </p>
<p>3. MYSQL <br />
Select * FROM TABLE1 where 1=1 LIMIT N <br />
(以上三种是俺工作中用到的数据库)</p>
<p>4. DB2 <br />
Select * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM Where ROWNUM&lt;=N <br />
或者<br />
Select COLUMN FROM TABLE where 1=1 FETCH FIRST N ROWS ONLY </p>
<p>5. SQL SERVER <br />
Select TOP N * FROM TABLE1 where 1=1 <br />
or<br />
SET ROWCOUNT N Select * FROM TABLE1 where 1=1 SET ROWCOUNT N1</p>
<p>6. SYBASE <br />
SET ROWCOUNT N Select * FROM TABLE1 where 1=1 SET ROWCOUNT N1</p>
<p><br />
7. FOXPRO <br />
Select * TOP N FROM TABLE orDER BY COLUMN</p>
<p>8. ACCESS <br />
Select TOP N * FROM TABLE1 where 1=1<br />
</p>
  <img src ="http://www.blogjava.net/liuquanqi/aggbug/181348.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuquanqi/" target="_blank">☆℡齐</a> 2008-02-22 11:54 <a href="http://www.blogjava.net/liuquanqi/archive/2008/02/22/181348.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DB2数据库导出表结构与导入、导出表数据 </title><link>http://www.blogjava.net/liuquanqi/archive/2008/02/22/181345.html</link><dc:creator>☆℡齐</dc:creator><author>☆℡齐</author><pubDate>Fri, 22 Feb 2008 03:53:00 GMT</pubDate><guid>http://www.blogjava.net/liuquanqi/archive/2008/02/22/181345.html</guid><wfw:comment>http://www.blogjava.net/liuquanqi/comments/181345.html</wfw:comment><comments>http://www.blogjava.net/liuquanqi/archive/2008/02/22/181345.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuquanqi/comments/commentRss/181345.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuquanqi/services/trackbacks/181345.html</trackback:ping><description><![CDATA[&nbsp;
<p><span style="font-family: 宋体">方法一</span></p>
<p><span style="font-family: 宋体">在控制中心的对象视图窗口中，选择所要导出表结构的数据表，按住</span>Ctrl<span style="font-family: 宋体">或</span>Shift<span style="font-family: 宋体">可多选，单击鼠标右键，选择－</span>&gt;<span style="font-family: 宋体">生成</span>DDL<span style="font-family: 宋体">即可。</span></p>
<p><span style="font-family: 宋体">方法二</span></p>
<p><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">第一步：打开</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'">DB2</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">的命令行工具，在</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'">DB2</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">安装目录的</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'">BIN</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">文件夹下新建一个文件夹</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'">data</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">，并且进入该目录。</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'"><br />
</span><span style="font-size: 8.5pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'"><br />
</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">创建该目录：</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'"> mkdir data<br />
</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">进入该目录：</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'"> cd data<br />
</span><span style="font-size: 8.5pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'">|</span></p>
<p><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">第二步：导出表结构，命令行如下：</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'"><br />
db2look -d dbname -e -a -x -i username -w password -o ddlfile.sql<br />
</span><span style="font-size: 9pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'"><br />
<br />
</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">执行成功之后，你会在刚才新建的文件夹下找到该</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'">sql</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">文件。</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Verdana','sans-serif'"><br />
<br />
</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">第三步：</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 宋体">导出数据，命令行如下：</span><span style="font-size: 10pt; color: #4b4b4b; font-family: 'Arial','sans-serif'"><br />
db2move databasename export -u username -p password<br />
</span><span style="font-size: 9pt; color: #4b4b4b; font-family: 'Arial','sans-serif'"><br />
</span></p>
<p><span style="font-size: 8.5pt; color: #4b4b4b; font-family: 宋体">至此，导出数据结束。</span></p>
<p>2<span style="font-family: 宋体">导出表中数据</span></p>
<p>export to [path(<span style="font-family: 宋体">例</span>:D:"TABLE1.ixf)] of ixf select [<span style="font-family: 宋体">字段</span>(<span style="font-family: 宋体">例</span>: * or col1,col2,col3)] from TABLE1;</p>
<p>export to [path(<span style="font-family: 宋体">例</span>:D:"TABLE1.del)] of del select [<span style="font-family: 宋体">字段</span>(<span style="font-family: 宋体">例</span>: * or col1,col2,col3)] from TABLE1;</p>
<p><span style="font-family: 宋体">导入表的数据</span></p>
<p>import from [path(<span style="font-family: 宋体">例</span>:D:"TABLE1.ixf)] of ixf insert into TABLE1;</p>
<p>load from [path(<span style="font-family: 宋体">例</span>:D:"TABLE1.ixf)] of ixf insert into TABLE1;</p>
<p>load from [path(<span style="font-family: 宋体">例</span>:D:"TABLE1.ixf)] of ixf replace into TABLE1; // <span style="font-family: 宋体">装入数据前，先删除已存在记录</span></p>
<p>load from [path(<span style="font-family: 宋体">例</span>:D:"TABLE1.ixf)] of ixf restart into TABLE1; // <span style="font-family: 宋体">当装入失败时，重新执行，并记录导出结果和错误信息</span></p>
<p>import from [path(<span style="font-family: 宋体">例</span>:D:"TABLE1.ixf)] of ixf savecount 1000 messages [path(<span style="font-family: 宋体">例</span>:D:"msg.txt)] insert into TABLE1;// <span style="font-family: 宋体">其中，</span>savecount<span style="font-family: 宋体">表示完成每</span>1000<span style="font-family: 宋体">条操作，记录一次</span>.</p>
<p><span style="font-family: 宋体">存在自增长字段的数据导入：</span></p>
<p>load from [path(<span style="font-family: 宋体">例</span>:D:"TABLE1.ixf)] of ixf modified by identityignore insert into TABLE1;// <span style="font-family: 宋体">加入</span>modified by identityignore.</p>
<p><span style="font-family: 宋体">解除装入数据时，发生的检查挂起</span>.</p>
<p>SET INTEGRITY FOR&nbsp;TABLE1 CHECK IMMEDIATE UNCHECKED;</p>
<p><span style="font-family: 宋体">命令只对数据通过约束检查的表有效，如果执行还不能解除，有必要检查数据的完整性，是否不符合约束条件，并试图重新整理数据，再执行装入操作</span>.</p>
<p><span style="font-family: 宋体">另外，对</span>load<span style="font-family: 宋体">和</span>import<span style="font-family: 宋体">，字面上的区别是</span>:<span style="font-family: 宋体">装入和导入，但仍未理解两者之间的区别</span>.</p>
<p><span style="font-family: 宋体">只是性能上</span>load<span style="font-family: 宋体">显然优于</span>import.<span style="font-family: 宋体">（</span>load <span style="font-family: 宋体">需要更多的权限）</span></p>
 <img src ="http://www.blogjava.net/liuquanqi/aggbug/181345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuquanqi/" target="_blank">☆℡齐</a> 2008-02-22 11:53 <a href="http://www.blogjava.net/liuquanqi/archive/2008/02/22/181345.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>