﻿<?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-alancxx-文章分类-DB</title><link>http://www.blogjava.net/alancxx/category/47610.html</link><description>------简单就是美</description><language>zh-cn</language><lastBuildDate>Tue, 24 May 2011 07:26:43 GMT</lastBuildDate><pubDate>Tue, 24 May 2011 07:26:43 GMT</pubDate><ttl>60</ttl><item><title>Oracle 与 Mysql 常用命令对比</title><link>http://www.blogjava.net/alancxx/articles/350284.html</link><dc:creator>蜂鸟</dc:creator><author>蜂鸟</author><pubDate>Sun, 15 May 2011 11:05:00 GMT</pubDate><guid>http://www.blogjava.net/alancxx/articles/350284.html</guid><wfw:comment>http://www.blogjava.net/alancxx/comments/350284.html</wfw:comment><comments>http://www.blogjava.net/alancxx/articles/350284.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/alancxx/comments/commentRss/350284.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/alancxx/services/trackbacks/350284.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: medium Simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-size: 13px; color: rgb(75,75,75); line-height: 19px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif">
<table cellspacing="1" cellpadding="1" border="1">
    <tbody>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word"></td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word"><strong>Oracle</strong></td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word"><strong>mysql</strong></td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">对比版本</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">Enterprise&nbsp;Oracle10g Release 10.2.0.1.0</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql 4.1.21-nt</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">默认安装目录</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">..\oracle\product\10.2.0</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">..\MySQL\MySQL Server 4.1</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">各种实用程序所在目录</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">..\oracle\product\10.2.0\db_1\BIN</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">..\MySQL\MySQL Server 4.1\bin</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">客户程序</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL*Plus</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">安装后系统默认用户（库）</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">sys<br />
            system<br />
            scott</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql<br />
            test</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">显示所有用户（库）</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL &gt;select * from all_users;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; show databases;</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">退出命令</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; exit<br />
            SQL&gt; quit</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; exit<br />
            mysql&gt; quit</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">改变连接用户（库）</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; conn 用户名/密码@主机字符串</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; use 库名</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">查询当前所有的表</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; select * from tab;<br />
            SQL&gt; select * from cat;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; show tables;<br />
            F:MySQLbin&gt;mysqlshow 库名</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">显示当前连接用户（库）</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; show user</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; connect</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">查看帮助</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; ?</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; help</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">显示表结构</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; desc 表名<br />
            SQL&gt; describe 表名</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; desc 表名;<br />
            mysql&gt; describe 表名;<br />
            mysql&gt; show columns from 表名;<br />
            F:MySQLbin&gt;mysqlshow 库名 表名</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">日期函数</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; select sysdate from dual;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; select now();<br />
            mysql&gt; select sysdate();<br />
            mysql&gt; select curdate();<br />
            mysql&gt; select current_date;<br />
            mysql&gt; select curtime();<br />
            mysql&gt; select current_time;<br />
            </td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">日期格式化</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; select to_char(sysdate,'yyyy-mm-dd') from dual;<br />
            SQL&gt; select to_char(sysdate,'hh24-mi-ss') from dual;<br />
            </td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; select date_format(now(),'%Y-%m-%d');<br />
            mysql&gt; select time_format(now(),'%H-%i-%S');<br />
            </td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">日期函数<br />
            （增加一个月）</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; select to_char(add_months(to_date('20000101','yyyymmdd'),1),'yyyy-mm-dd') from dual;<br />
            结果：2000-02-01<br />
            SQL&gt; select to_char(add_months(to_date('20000101','yyyymmdd'),5),'yyyy-mm-dd') from dual;<br />
            结果：2000-06-01<br />
            </td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; select date_add('2000-01-01',interval 1 month);<br />
            结果：2000-02-01<br />
            mysql&gt; select date_add('2000-01-01',interval 5 month);<br />
            结果：2000-06-01<br />
            </td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">别名</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; select 1 a from dual;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; select 1 as a;</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">字符串截取函数</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; select substr('abcdefg',1,5) from dual;<br />
            SQL&gt; select substrb('abcdefg',1,5) from dual;<br />
            结果：abcde</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; select substring('abcdefg',2,3);<br />
            结果：bcd<br />
            mysql&gt; select mid('abcdefg',2,3);<br />
            结果：bcd<br />
            mysql&gt; select substring('abcdefg',2);<br />
            结果：bcdefg<br />
            mysql&gt; select substring('abcdefg' from 2);<br />
            结果：bcdefg<br />
            另有SUBSTRING_INDEX(str,delim,count)函数<br />
            返回从字符串str的第count个出现的分隔符delim之后的子串。<br />
            如果count是正数，返回最后的分隔符到左边(从左边数) 的所有字符。<br />
            如果count是负数，返回最后的分隔符到右边的所有字符(从右边数)。<br />
            </td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">执行外部脚本命令</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL &gt;@f:\sql\a.sql</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">1：mysql&gt; source f:/sql/a.sql<br />
            2：F:MySQLbin&gt;mysql<span class="Apple-converted-space">&nbsp;</span><a>3：F:MySQLbin&gt;mysql 库名</a><a td=""></a></td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">改表名</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; rename a to b;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; alter table a rename b;</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">执行命令</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">;&lt;回车&gt;<br />
            /<br />
            r<br />
            run</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">;&lt;回车&gt;<br />
            go<br />
            ego</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">distinct用法</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; select distinct 列1 from 表1;<br />
            SQL&gt; select distinct 列1,列2 from 表1;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; select distinct 列1 from 表1;<br />
            mysql&gt; select distinct 列1,列2 from 表1;</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">注释</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">--<br />
            /*与*/</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">#<br />
            --<br />
            /*与*/</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">限制返回记录条数</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; select * from 表名 where rownum&lt;5;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; select * from 表名 limit 5;</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">新建用户（库）</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; create user 用户名 identified by 密码;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; create database 库名;</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">删用户（库）</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; drop user 用户名;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; drop database 库名;</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">外连接</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">使用(+)</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">使用left join</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">查询索引</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL&gt; select index_name,table_name from user_indexes;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">mysql&gt; show index from 表名 [FROM 库名];</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">通配符</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">&#8220;%&#8221;</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">&#8220;%&#8221;和&#8220;_&#8221;</td>
        </tr>
        <tr>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SQL语法</td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SELECT selection_list 选择哪些列<br />
            FROM table_list 从何处选择行<br />
            WHERE primary_constraint 行必须满足什么条件<br />
            GROUP BY grouping_columns 怎样对结果分组<br />
            HAVING secondary_constraint 行必须满足的第二条件<br />
            ORDER BY sorting_columns 怎样对结果排序<br />
            </td>
            <td style="font-size: 12px; color: rgb(69,69,69); line-height: 14px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; word-wrap: break-word">SELECT selection_list 选择哪些列<br />
            FROM table_list 从何处选择行<br />
            WHERE primary_constraint 行必须满足什么条件<br />
            GROUP BY grouping_columns 怎样对结果分组<br />
            HAVING secondary_constraint 行必须满足的第二条件<br />
            ORDER BY sorting_columns 怎样对结果排序</td>
        </tr>
    </tbody>
</table>
</span></span><br class="Apple-interchange-newline" />
<img src ="http://www.blogjava.net/alancxx/aggbug/350284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/alancxx/" target="_blank">蜂鸟</a> 2011-05-15 19:05 <a href="http://www.blogjava.net/alancxx/articles/350284.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hsqldb安装与使用</title><link>http://www.blogjava.net/alancxx/articles/342947.html</link><dc:creator>蜂鸟</dc:creator><author>蜂鸟</author><pubDate>Thu, 13 Jan 2011 10:15:00 GMT</pubDate><guid>http://www.blogjava.net/alancxx/articles/342947.html</guid><wfw:comment>http://www.blogjava.net/alancxx/comments/342947.html</wfw:comment><comments>http://www.blogjava.net/alancxx/articles/342947.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/alancxx/comments/commentRss/342947.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/alancxx/services/trackbacks/342947.html</trackback:ping><description><![CDATA[<span lang="EN-US">HSQLDB</span><span style="font-family: 宋体;">是一个轻量级的纯</span><span lang="EN-US">Java</span><span style="font-family: 宋体;">开发的开放源代码的关系数据库系统，其体积小，占用空间小，使用简单，支持内存运行方式等特点。可以在</span><span lang="EN-US"><a href="http://sourceforge.net/projects/hsqldb/files/">http://sourceforge.net/projects/hsqldb/files/</a></span><span style="font-family: 宋体;">下载最新的</span><span lang="EN-US">HSQLDB</span><span style="font-family: 宋体;">版本。我这里下载的是</span><span lang="EN-US">HSQLDB 1.8.13</span><span style="font-family: 宋体;">版本。下载完之后，把它解压到任一目录下，如</span><span lang="EN-US">E:\hsqldb</span><span style="font-family: 宋体;">下，完成安装工作。</span>
<p><span lang="EN-US">Hsqldb</span><span style="font-family: 宋体;">有四种运行模式：</span></p>
<p style="margin-left: 20.25pt; text-indent: -20.25pt;"><span lang="EN-US"><span>一、<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">内存（</span><span lang="EN-US">Memory-Only</span><span style="font-family: 宋体;">）模式：所有的数据都将在内存中完成，如果程序退出，则相应的数据也将同时被销毁。连接</span><span lang="EN-US">JDBC</span><span style="font-family: 宋体;">的实例为：</span><span lang="EN-US">jdbc:hsqldb:mem:dbname</span></p>
<p style="margin-left: 20.25pt; text-indent: -20.25pt;"><span lang="EN-US"><span>二、<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">进行（</span><span lang="EN-US">In-Process</span><span style="font-family: 宋体;">）模式：此模式从应用程序启动数据库，由于所有的数据都将写到文件中，所以，即使程序退出，数据也不会被销毁。</span><span lang="EN-US">In-Process</span><span style="font-family: 宋体;">不需要另外启动，可以通过</span><span lang="EN-US">DriverManager.getConnection(jdbcUriName,&#8221;sa&#8221;,&#8221;&#8221;)</span><span style="font-family: 宋体;">；方式即可启动数据库。连接</span><span lang="EN-US">JDBC</span><span style="font-family: 宋体;">的实例为：</span></p>
<p style="text-indent: 21pt;"><span lang="EN-US">jdbc:hsqldb:file:/E:/hsqldb/data/dbname</span></p>
<p style="text-indent: 21pt;"><span lang="EN-US">jdbc:hsqldb:file:/opt/db/dbname</span></p>
<p style="text-indent: 21pt;"><span lang="EN-US">jdbc:hsqldb:file:dbname</span></p>
<p style="margin-left: 20.25pt; text-indent: -20.25pt;"><span lang="EN-US"><span>三、<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">服务器模式：此模式下</span><span lang="EN-US">HSQLDB</span><span style="font-family: 宋体;">跟其它数据库服务器一样，需要通过服务器的形式来进行启动，可以通过</span><span lang="EN-US">java &#8211;cp ../lib/hsqldb.jar org.hsqldb.Server &#8211;database.0 testdb &#8211;dbname.0
testdbName</span><span style="font-family: 宋体;">的命令启动一个守护进程。连接</span><span lang="EN-US">JDBC</span><span style="font-family: 宋体;">的实例为：</span><span lang="EN-US">jdbc:hsqldb:hsql://localhost:&lt;port&gt;/dbname</span></p>
<p style="margin-left: 20.25pt; text-indent: -20.25pt;"><span lang="EN-US"><span>四、<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span lang="EN-US">Web</span><span style="font-family: 宋体;">服务器模式：此模式以</span><span lang="EN-US">WEB</span><span style="font-family: 宋体;">服务器的形式启动，并通过</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">协议接受客户端命令。从</span><span lang="EN-US">1.7.2</span><span style="font-family: 宋体;">版本开始，</span><span lang="EN-US">Web</span><span style="font-family: 宋体;">服务器模式的</span><span lang="EN-US">HSQLDB</span><span style="font-family: 宋体;">开始支持事务处理。可以通过</span><span lang="EN-US">java &#8211;cp
../lib/hsqldb.jar org.hsqldb.WebServer &#8211;database.0 testdb &#8211;dbname.0 testdbname</span><span style="font-family: 宋体;">的命令来启动。</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span style="font-family: 宋体;">重点讨论</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体;">服务器模式的启动方法和连接和实际</span><span lang="EN-US">java</span><span style="font-family: 宋体;">程序的</span><span lang="EN-US">JDBC</span><span style="font-family: 宋体;">连接情况。假设</span><span lang="EN-US">JDK</span><span style="font-family: 宋体;">已经安装到机器上，环境变量等都正确设置。</span></p>
<p style="text-indent: 21pt;"><span style="font-family: 宋体;">首先在</span><span lang="EN-US">E:\hsqldbTest</span><span style="font-family: 宋体;">目录下建立两个子目录，</span><span lang="EN-US">data</span><span style="font-family: 宋体;">和</span><span lang="EN-US">lib</span><span style="font-family: 宋体;">目录，</span><span lang="EN-US">data</span><span style="font-family: 宋体;">用来存放数据，</span><span lang="EN-US">lib</span><span style="font-family: 宋体;">用来管理</span><span lang="EN-US">jar</span><span style="font-family: 宋体;">包。将解压之后的</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体;">中的</span><span lang="EN-US">lib</span><span style="font-family: 宋体;">目录下的</span><span lang="EN-US">hsqldb.jar</span><span style="font-family: 宋体;">文件拷贝到</span><span lang="EN-US">E:\hsqldbTest\lib</span><span style="font-family: 宋体;">目录下。</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>1．<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;
</span></span></span><span style="font-family: 宋体;">在</span><span lang="EN-US">hsqldbTest</span><span style="font-family: 宋体;">目录下创建</span><span lang="EN-US">runServer.bat</span><span style="font-family: 宋体;">文件，其内容为：</span></p>
<p><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">cd data</span></p>
<p><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">@java -classpath ../lib/hsqldb.jar org.hsqldb.Server</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>2．<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;
</span></span></span><span style="font-family: 宋体;">保存</span><span lang="EN-US">runServer.bat</span><span style="font-family: 宋体;">文件，并双击运行该文件，此时回弹出命令行窗口，如下图，表示已启动</span><span lang="EN-US">HSQLDB</span><span style="font-family: 宋体;">数据库。</span></p>
<div><img title="Hsqldb安装与使用 - HappyFa - 冯永发的博客" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" style="margin: 0pt 10px 0pt 0pt;" src="http://img846.ph.126.net/mZOEpADrHxfpBKoheYe7NQ==/745908688284990973.bmp" /></div>
&nbsp;
<p><span style="font-family: 宋体;">此时，在</span><span lang="EN-US">data</span><span style="font-family: 宋体;">目录下产生了三个文件，如：</span></p>
<p><span lang="EN-US">test.lck </span><span style="font-family: 宋体;">——标识数据库锁状态。</span></p>
<p><span lang="EN-US">test.log </span><span style="font-family: 宋体;">——运行数据库产生的</span><span lang="EN-US">log</span><span style="font-family: 宋体;">信息，它将记录每一个运行和用户操作环节。</span></p>
<p><span lang="EN-US">test.properties</span><span style="font-family: 宋体;">——数据库的配置信息，包括分配的内存大小等，可更具需要修改。</span></p>
<p><em><span style="font-family: 宋体;">注：如果在命令行窗口中按下</span><span lang="EN-US">[Ctrl] + [C]</span></em><em><span style="font-family: 宋体;">组合键，数据库将退出并关闭。</span></em></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>3．<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;
</span></span></span><span style="font-family: 宋体;">再创建</span><span lang="EN-US">runManager.bat</span><span style="font-family: 宋体;">文件，用来启动图形界面管理工具，其内容为：</span></p>
<p><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">cd data</span></p>
<p><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">@java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>4．<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;
</span></span></span><span style="font-family: 宋体;">保存</span><span lang="EN-US">runManager.bat</span><span style="font-family: 宋体;">文件，并双击文件，此时回弹出图形界面（注意，在进行这一不之前，必须确保第二步已执行），如下图。</span></p>
<div><img title="Hsqldb安装与使用 - HappyFa - 冯永发的博客" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" style="margin: 0pt 10px 0pt 0pt;" src="http://img612.ph.126.net/yon2DeestmmMG3qm0YYcHQ==/1978487611301069622.bmp" /></div>
&nbsp;
<p><span lang="EN-US">Recent</span><span style="font-family: 宋体;">：将会列出最近的数据库配置</span></p>
<p><span lang="EN-US">Setting Name: </span><span style="font-family: 宋体;">设置名称，这里不需要填写</span></p>
<p><span lang="EN-US">Type</span><span style="font-family: 宋体;">：选择服务器模式（</span><span lang="EN-US">HSQL Database Engine Server</span><span style="font-family: 宋体;">）</span></p>
<p><span lang="EN-US">Driver</span><span style="font-family: 宋体;">：驱动名称，不需要修改</span></p>
<p><span lang="EN-US">URL</span><span style="font-family: 宋体;">：</span><span lang="EN-US">JDBC</span><span style="font-family: 宋体;">连接，无需修改</span></p>
<p><span lang="EN-US">User</span><span style="font-family: 宋体;">：用户名</span><span lang="EN-US">,</span><span style="font-family: 宋体;">根据需要设置</span></p>
<p><span lang="EN-US">Password</span><span style="font-family: 宋体;">：密码，根据需要设置</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>5．<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;
</span></span></span><span style="font-family: 宋体;">点击【</span><span lang="EN-US">OK</span><span style="font-family: 宋体;">】按钮，即可连接到</span><span lang="EN-US">test</span><span style="font-family: 宋体;">数据库。如下图所示。</span></p>
<div><img title="Hsqldb安装与使用 - HappyFa - 冯永发的博客" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" style="margin: 0pt 10px 0pt 0pt;" src="http://img623.ph.126.net/S8VdoNFLQ5Nkohvr0D8uPQ==/1945836514002758566.bmp" /></div>
&nbsp;
<p><span style="font-family: 宋体;">此时，我们可以在窗口中创建表等操作，例如，我们创建一个</span><span lang="EN-US">TBL_USERS</span><span style="font-family: 宋体;">的表。在菜单栏中选择【</span><span lang="EN-US">COMMAND</span><span style="font-family: 宋体;">】</span><span lang="EN-US">-&gt;</span><span style="font-family: 宋体;">【</span><span lang="EN-US">CREATE TABLE</span><span style="font-family: 宋体;">】命令，此时在右下文本框中显示创建表的命令，包括各式，支持的类型等。我们创建的</span><span lang="EN-US">TBL_USERS</span><span style="font-family: 宋体;">表结构如下图所示：</span></p>
<div><img title="Hsqldb安装与使用 - HappyFa - 冯永发的博客" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" style="margin: 0pt 10px 0pt 0pt;" src="http://img242.ph.126.net/UIhgI_q5CkoekzkbIq1DJQ==/2135832123282301438.bmp" /></div>
&nbsp;
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>6．<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;
</span></span></span><span style="font-family: 宋体;">点击【</span><span lang="EN-US">Execute</span><span style="font-family: 宋体;">】按钮，如果无语法错误，</span><span lang="EN-US">SQL</span><span style="font-family: 宋体;">语句将正常执行，此时，选择菜单栏中的【</span><span lang="EN-US">View</span><span style="font-family: 宋体;">】</span><span lang="EN-US">-&gt;</span><span style="font-family: 宋体;">【</span><span lang="EN-US">Refresh Tree</span><span style="font-family: 宋体;">】命令，左侧栏中将显示创建的</span><span lang="EN-US">TBL_USERS</span><span style="font-family: 宋体;">。如下图所示。并且查看</span><span lang="EN-US">test.log</span><span style="font-family: 宋体;">文件，创建表的过程都将全部记录。</span></p>
<div><img title="Hsqldb安装与使用 - HappyFa - 冯永发的博客" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" style="margin: 0pt 10px 0pt 0pt;" src="http://img241.ph.126.net/06SaqfHnZefrHhN5wr5clg==/2204230542622898955.bmp" /></div>
&nbsp;
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>7．<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;
</span></span></span><span style="font-family: 宋体;">另外还可以用</span><span lang="EN-US">DatabaseManagerSwing</span><span style="font-family: 宋体;">工具启动图形界面。创建</span><span lang="EN-US">runManagerSwing.bat</span><span style="font-family: 宋体;">文件，内容为：</span></p>
<p style="margin-left: 18pt;"><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">cd data</span></p>
<p style="text-indent: 15.75pt;"><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">@java -classpath
..\lib\hsqldb.jar org.hsqldb.util.DatabaseManagerSwing</span></p>
<p style="margin-left: 18pt;"><span style="font-family: 宋体;">保存文件，双击该文件，将启动</span><span lang="EN-US">Swing</span><span style="font-family: 宋体;">图形界面，如下图所示，具体的操作过程和</span><span lang="EN-US">DatabaseManager</span><span style="font-family: 宋体;">工具类似，不再重复。</span></p>
<div><img title="Hsqldb安装与使用 - HappyFa - 冯永发的博客" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" style="margin: 0pt 10px 0pt 0pt;" src="http://img615.ph.126.net/aNTFn4Rvvbn-kpHlBKb8DQ==/1936266364794535902.bmp" /></div>
&nbsp;
<p><span lang="EN-US">&nbsp;</span></p>
<p><span style="font-family: 宋体;">以上就是启动</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体;">数据库和创建表的整个过程，其它的功能可以通过多次联系即可掌握。按照以上操作方式，</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体;">将自动产生一个</span><span lang="EN-US">test</span><span style="font-family: 宋体;">的数据库。但是有时候我们需要自己指定数据库，数据库访问名，数据库访问端口等，该如何实现呢，很简单。只要在相对根目录下创建一个</span><span lang="EN-US">server.properties</span><span style="font-family: 宋体;">文件即可。</span></p>
<p><span style="font-family: 宋体;">创建自己制定的数据库：</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>1.<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">首先在</span><span lang="EN-US">E:\hsqldbTest</span><span style="font-family: 宋体;">目录下创建一个</span><span lang="EN-US">server.properties</span><span style="font-family: 宋体;">文件，文件内容为（注：在实际文件中，删除后面的注释内容）：</span></p>
<p><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">server.port=9001<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#</span><span style="background: none repeat scroll 0% 0% silver; font-family: 宋体; -moz-background-inline-policy: continuous;">指定端口号为</span><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">9001</span></p>
<p><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">server.database.0=file:data/mydb<span>&nbsp;
</span># </span><span style="background: none repeat scroll 0% 0% silver; font-family: 宋体; -moz-background-inline-policy: continuous;">将在</span><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">data</span><span style="background: none repeat scroll 0% 0% silver; font-family: 宋体; -moz-background-inline-policy: continuous;">目录下创建</span><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">mydb</span><span style="background: none repeat scroll 0% 0% silver; font-family: 宋体; -moz-background-inline-policy: continuous;">数据库</span></p>
<p><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">server.dbname.=mydb<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#</span><span style="background: none repeat scroll 0% 0% silver; font-family: 宋体; -moz-background-inline-policy: continuous;">指定数据库名，</span><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">jdbc</span><span style="background: none repeat scroll 0% 0% silver; font-family: 宋体; -moz-background-inline-policy: continuous;">连接时就是用此名称</span></p>
<p><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">server.silent=true</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>2.<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">在</span><span lang="EN-US">E:\hsqldbTest</span><span style="font-family: 宋体;">目录下创建</span><span lang="EN-US">runServer2.bat</span><span style="font-family: 宋体;">文件，文件内容为</span></p>
<p><span style="background: none repeat scroll 0% 0% silver; -moz-background-inline-policy: continuous;" lang="EN-US">@java -classpath lib/hsqldb.jar org.hsqldb.Server</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>3.<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">双击运行</span><span lang="EN-US">runServer2.bat</span><span style="font-family: 宋体;">文件，将会在</span><span lang="EN-US">data</span><span style="font-family: 宋体;">目录下创建</span><span lang="EN-US">mydb</span><span style="font-family: 宋体;">数据库，并启动数据库。</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>4.<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">双击运行已创建好的</span><span lang="EN-US">runManagerSwing.bat</span><span style="font-family: 宋体;">文件，打开图形管理界面，并设置连接到</span><span lang="EN-US">mydb</span><span style="font-family: 宋体;">数据库中，如下图所示：</span></p>
<div><img title="Hsqldb安装与使用 - HappyFa - 冯永发的博客" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" style="margin: 0pt 10px 0pt 0pt;" src="http://img124.ph.126.net/1gI4skwTxB2cjjKUcQdScA==/1607785066972508755.bmp" /></div>
&nbsp;
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>5.<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">配置好选项，点击【</span><span lang="EN-US">OK</span><span style="font-family: 宋体;">】按钮，即可连接到</span><span lang="EN-US">mydb</span><span style="font-family: 宋体;">数据库，在窗口中可以按照以前的步骤创建表，添加记录等操作。</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="text-indent: 18pt;"><span style="font-family: 宋体;">好了，以上就是整个</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体;">的安装、启动、创建表等的全过程，在这里特别说明的是，</span><span lang="EN-US">hsqldb.1.8.1.3</span><span style="font-family: 宋体;">是用</span><span lang="EN-US">JDK.1.5</span><span style="font-family: 宋体;">以上的版本的编译的，所以，如果你使用的是低于</span><span lang="EN-US">jdk1.5</span><span style="font-family: 宋体;">的版本时，可能出现异常情况，不能正常使用。另外，即使你安装的</span><span lang="EN-US">jdk</span><span style="font-family: 宋体;">版本是</span><span lang="EN-US">1.5</span><span style="font-family: 宋体;">以上的，可能还会出现异常，该如何办呢，此时，确保你的</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体;">是在官方网站下载的，需要检查你的</span><span lang="EN-US">java</span><span style="font-family: 宋体;">的环境变量，由于你的机器可能安装有</span><span lang="EN-US">oracle</span><span style="font-family: 宋体;">，很有可能出现问题，此时只需将</span><span lang="EN-US">%JAVA_HOME%\bin</span><span style="font-family: 宋体;">路径放置在</span><span lang="EN-US">path</span><span style="font-family: 宋体;">路径的最开头，这样，就不会出现异常情况了。</span></p>
<p style="text-indent: 18pt;"><span lang="EN-US">&nbsp;</span></p>
<p style="text-indent: 18pt;"><span style="font-family: 宋体;">接下来，我们通过一个具体的</span><span lang="EN-US">java</span><span style="font-family: 宋体;">程序来连接建立好的</span><span lang="EN-US">mydb</span><span style="font-family: 宋体;">数据库，并且在</span><span lang="EN-US">mydb</span><span style="font-family: 宋体;">数据库中创建一个</span><span lang="EN-US">TBL_USERS</span><span style="font-family: 宋体;">的表。并插入一条记录。</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>1.<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">在</span><span lang="EN-US">E:\hsqldbTest</span><span style="font-family: 宋体;">目录下创建一个</span><span lang="EN-US">HsqlDemo.java</span><span style="font-family: 宋体;">文件，内容如下：</span><span lang="EN-US"> </span></p>
<p><span lang="EN-US">import java.sql.Connection;</span></p>
<p><span lang="EN-US">import java.sql.DriverManager;</span></p>
<p><span lang="EN-US">import java.sql.Statement;</span></p>
<p><span lang="EN-US">import org.hsqldb.jdbcDriver;</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US">public class HsqlDemo {</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;
</span>public static void main(String[] args) {</span></p>
<p><span lang="EN-US"><span>&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>try {</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Class.forName("org.hsqldb.jdbcDriver");</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Connection c =
DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:9001/mydb",
"sa", "");</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>if (c != null) {</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>System.out.println("Connected db success!");</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String sql = "CREATE TABLE
TBL_USERS(ID INTEGER, NAME VARCHAR, BIRTHDAY DATE);";</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Statement st =
c.createStatement();</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>st.execute(sql);</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sql = "INSERT INTO
TBL_USERS(ID, NAME, BIRTHDAY) VALUES ('1', 'ADMIN', SYSDATE);";</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>st.executeUpdate(sql);</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (st != null) {</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>st.close();</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>c.close();</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>}</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>} catch(Exception e) {</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>System.out.println("ERROR:failed to load HSQLDB JDBC
driver.");</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>e.printStackTrace();</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>return;</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>}</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;
</span>}<span>&nbsp;&nbsp;&nbsp; </span></span></p>
<p><span lang="EN-US">}</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>2.<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">在</span><span lang="EN-US">E:\hsqldbTest</span><span style="font-family: 宋体;">目录下建立一个</span><span lang="EN-US">runJava.bat</span><span style="font-family: 宋体;">文件，用来运行</span><span lang="EN-US">HsqlDemo.java</span><span style="font-family: 宋体;">。内容如下：</span></p>
<p><span lang="EN-US">@echo off</span></p>
<p><span lang="EN-US">set path=D:\Program Files\Java\jdk1.6.0_05\bin<span>&nbsp;&nbsp;&nbsp;&nbsp; </span># jdk</span><span style="font-family: 宋体;">的路径</span></p>
<p><span lang="EN-US">javac -classpath lib/hsqldb.jar
HsqlDemo.java</span></p>
<p><span lang="EN-US">java -cp lib/hsqldb.jar;./ HsqlDemo<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># </span><span style="font-family: 宋体;">注意</span><span lang="EN-US">./ </span><span style="font-family: 宋体;">后面的空格，</span><span lang="EN-US">./[</span><span style="font-family: 宋体;">空格</span><span lang="EN-US">] HsqlDemo</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>3.<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">确定</span><span lang="EN-US">mydb</span><span style="font-family: 宋体;">数据库已经启动，如果没有，运行</span><span lang="EN-US">runServer2.bat</span><span style="font-family: 宋体;">，启动数据库。</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>4.<span style="font: 7pt &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family: 宋体;">运行</span><span lang="EN-US">runJava.bat</span><span style="font-family: 宋体;">文件，运行程序，如果无异常产生，说明已正确执行，此时，可以在</span><span lang="EN-US">mydb.log</span><span style="font-family: 宋体;">文件中看到创建的</span><span lang="EN-US">TBL_USERS</span><span style="font-family: 宋体;">，插入的记录，当然，可以用图形工具查看表。</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US">OK</span><span style="font-family: 宋体;">，以上就是所有的</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体;">启动过程和连接</span><span lang="EN-US">jdbc</span><span style="font-family: 宋体;">的过程。</span></p>
<img src ="http://www.blogjava.net/alancxx/aggbug/342947.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/alancxx/" target="_blank">蜂鸟</a> 2011-01-13 18:15 <a href="http://www.blogjava.net/alancxx/articles/342947.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>