﻿<?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-开荒者-文章分类-让我印象深刻的SQL- 语言基本语句使用记录</title><link>http://www.blogjava.net/wahahacj/category/27436.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 20 Nov 2007 21:39:55 GMT</lastBuildDate><pubDate>Tue, 20 Nov 2007 21:39:55 GMT</pubDate><ttl>60</ttl><item><title>SQL语言基本语句介绍(一)</title><link>http://www.blogjava.net/wahahacj/articles/161974.html</link><dc:creator>wahaha</dc:creator><author>wahaha</author><pubDate>Tue, 20 Nov 2007 15:40:00 GMT</pubDate><guid>http://www.blogjava.net/wahahacj/articles/161974.html</guid><wfw:comment>http://www.blogjava.net/wahahacj/comments/161974.html</wfw:comment><comments>http://www.blogjava.net/wahahacj/articles/161974.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wahahacj/comments/commentRss/161974.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wahahacj/services/trackbacks/161974.html</trackback:ping><description><![CDATA[<p><font color="#000000"><span style="color: #ff0000"><font style="background-color: #ff0000" color="#000000">(</font></span><a style="color: #99cc00" name="表的建立">表的建立</a></font><span style="background-color: #ff0000">)</span> </p>
<p>关系数据库的主要特点之一就是用表的方式组织数据。表是<font size="3">SQL</font><font face="宋体" size="3">语言存放数据、查找数据以及更新数据的基本数据结构。在</font><font size="3">SQL</font><font face="宋体" size="3">语言中，表有严格的定义，它是一种二维表，对于这种表有如下规定：</font><font size="3"></p>
<p>1)</font><font face="宋体" size="3">每一张表都有一个名字，通常称为表名或关系名。表名必须以字母开头，最大长度为</font><font size="3">30</font><font face="宋体" size="3">个字符。</font><br />
<font size="3">2)</font><font face="宋体" size="3">一张表可以由若干列组成，列名唯一，列名也称作属性名。</font><br />
<font size="3">3)</font><font face="宋体" size="3">表中的一行称为一个元组，它相当于一条记录。</font><br />
<font size="3">4)</font><font face="宋体" size="3">同一列的数据必须具有相同的数据类型。</font><br />
<font size="3">5)</font><font face="宋体" size="3">表中的每一个列值必须是不可分割的基本数据项。</font><font size="3"></p>
</font><font face="宋体" size="3">
<p></font><font face="宋体" size="2"><strong>注意</strong></font><font face="宋体" size="3">：当用户需要新的数据结构或表存放数据时，首先要生成一个表。</font><font face="黑体" size="3"></p>
<p></font><font size="3">语法：</p>
<p>CREATE TABLE </font><font face="宋体" size="3">表名 </font><font size="3">[</font><font face="宋体" size="3">表约束</font><font size="3">]</p>
<p>(</font><font face="宋体" size="3">列名</font><font size="3">1 </font><font face="宋体" size="3">数据类型 </font><font size="3">[</font><font face="宋体" size="3">缺省值1，列约束</font><font size="3">1]</p>
<p>(</font><font face="宋体" size="3">列名</font><font size="3">2 </font><font face="宋体" size="3">数据类型 </font><font size="3">[</font><font face="宋体" size="3">缺省值2，列约束</font><font size="3">2]</font><font face="@??&#236;?&#183;&#177;&#236;?,@&#20;" size="3"></p>
<p>&#8230;</font><font face="宋体" size="3"></p>
<p>列名</font><font size="3">n </font><font face="宋体" size="3">数据类型 </font><font size="3">[</font><font face="宋体" size="3">缺省值n，列约束</font><font size="3">n]</p>
<p>[TABLESPACE </font><font face="宋体" size="3">表空间名</font><font size="3">称]</p>
<p>[STORAGE (</font><font face="宋体" size="3">存贮的子句）</font><font size="3">]</p>
<p>[ENABLE </font><font face="宋体" size="3">约束名</font><font size="3">]</p>
<p>[DISABLE </font><font face="宋体" size="3">约束名</font><font size="3">]</p>
<p><a style="color: #99cc00" name="插入数据">插入数据</a></font><font face="宋体" size="3">
<p>当一个表新建成时，它里面没有数据，通过向表中扦入数据，建成表的实例。</p>
<p>语句句法：</font><font size="3"></p>
<p>INSERT INTO </font><font face="宋体" size="3">表名</font><font size="3">[(</font><font face="宋体" size="3">列名</font><font size="3">1,</font><font face="宋体" size="3">&#8230;</font><font size="3">)]</p>
<p>VALUES(</font><font face="宋体" size="3">值</font><font size="3">1</font><font face="宋体" size="3">，值</font><font size="3">2</font><font face="宋体" size="3">，&#8230;</font><font size="3">,值n)</p>
<p>[</font><font face="宋体" size="3">子查询</font><font size="3">]</font><font face="宋体" size="3">；</font><font size="3"></p>
<p></font><font face="宋体" size="3">假设有一张表Student如下所示：<br />
<table style="width: 424px; height: 76px" cellspacing="2" cellpadding="2" width="424" border="0">
    <tbody>
        <tr>
            <td>NO </td>
            <td>NAME</td>
            <td>AGE</td>
        </tr>
        <tr>
            <td>1001</td>
            <td>A</td>
            <td>12</td>
        </tr>
        <tr>
            <td>1002</td>
            <td>B</td>
            <td>14</td>
        </tr>
    </tbody>
</table>
</font><font size="3"></p>
<p></font><font face="宋体" size="3">将新学</font><font size="3"><font size="3"><font face="宋体">生</font></font>E<font face="宋体" size="3">增加到</font>上</font><font face="宋体" size="3">表中，并按照表的结构将信息添加完整，需要如下语句：</font><font size="3"></p>
<p>INSERT INTO STUDENT VALUSE(1003, 'E',12);　 </p>
<p><span style="color: #99cc00"><a name="修改数据">修改数据</a><a name="修改数据"></font> </span></a></font></p>
<font face="宋体" size="3">
<p>对表中已有数据进行修改，语句句法：</font><font size="3"></p>
<p>UPDATE </font><font face="宋体" size="3">表名</font><font size="3">SET </font><font face="宋体" size="3">列名</font><font size="3">1</font><font face="宋体" size="3">＝表达式</font><font size="3">1</font><font face="宋体" size="3">，列名</font><font size="3">2</font><font face="宋体" size="3">＝表达式</font><font size="3">2</font><font face="宋体" size="3">，&#8230;</font><font size="3"></p>
<p>WHERE </font><font face="宋体" size="3">条件；</p>
<p>例如：<font size="3">对下表Student<br />
</p>
<center>
<table style="width: 453px; height: 56px" cellspacing="0" cellpadding="0" width="453" align="left" border="1">
    <tbody>
        <tr>
            <td width="33%">NO</td>
            <td width="33%">NAME</td>
            <td width="34%">AGE</td>
        </tr>
        <tr>
            <td width="33%">1001</td>
            <td width="33%">A</td>
            <td width="34%">12</td>
        </tr>
        <tr>
            <td width="33%">1002</td>
            <td width="33%">B</td>
            <td width="34%">14</td>
        </tr>
    </tbody>
</table>
</font></center>
<center>&nbsp;</center>
<p><br />
<br />
<br />
将</font><font size="3">B的年纪改为18；应该执行以下语句：</p>
<p>UPDATE STUDENT SET AGE=18 WHERE NAME='B';</p>
</font>
<p><font size="3"><a style="color: #99cc00" name="删除数据">删除数据</a></font>
<p><font face="宋体" size="3">删除表中已有数据，不能删除不存在的数据。</font></p>
<p><font face="宋体" size="3">语句句法:</font> <br />
<font size="3">DELETE FROM </font><font face="宋体" size="3">表名 </font><font size="3">WHERE </font><font face="宋体" size="3">条件；<br />
</font><font face="宋体" size="3">例如：<br />
</font><font face="宋体" size="3">对下面Student</font><font size="3"><font face="宋体">表进行删除，要删除其中年纪为12的学生；
<center>
<table style="width: 384px; height: 56px" cellspacing="0" cellpadding="0" width="384" align="left" border="1">
    <tbody>
        <tr>
            <td width="33%">NO</td>
            <td width="33%">NAME</td>
            <td width="34%">AGE</td>
        </tr>
        <tr>
            <td width="33%">1001</td>
            <td width="33%">A</td>
            <td width="34%">12</td>
        </tr>
        <tr>
            <td width="33%">1002</td>
            <td width="33%">B</td>
            <td width="34%">14</td>
        </tr>
    </tbody>
</table>
</font><br />
<br />
<br />
DELETE FROM STUDENT WHERE AGE</font><font face="宋体" size="3">＝</font><font size="3">12</font><font face="宋体" size="3">；<br />
</center></font>
<p><font face="宋体" size="3"><span style="color: #99cc00"><font face="宋体" size="3"><a name="表结构的修改">表结构的修改</a><a name="表结构的修改"></font> </span></a></font></p>
<font face="黑体" size="3">
<p></font><font size="3">在已存在的表中增加新列，<font face="黑体" size="3">语句句法：</font></p>
<p>ALTER TABLE </font><font face="宋体" size="3">表名 </font><font size="3">ADD(</font><font face="宋体" size="3">新列名 数据类型</font><font size="3">(</font><font face="宋体" size="3">长度</font><font size="3">))</font><font face="宋体" size="3">；</p>
<p>&nbsp;&nbsp;&nbsp; 例如：</font><font size="3"></p>
<p>&nbsp;&nbsp;&nbsp; ALTER TABLE STUDENT ADD (DEPARTMENT CHAR(8));</font><font face="黑体" size="3"></p>
<p>b.</font><font size="3">增加已有列的数据类型。</p>
<p>&nbsp;&nbsp;&nbsp; 例如：</p>
<p>&nbsp;&nbsp;&nbsp; ALTER TABLE STUDENT MODIFY(NAME VARCHAR2(25));<br />
<br />
</font><a name="表的删除"><font style="color: #99cc00" size="3">表的删除</font></a> </p>
<p><font size="3">将已经存在的表删除，语句句法:</p>
<p>&nbsp;&nbsp;&nbsp; DROP TABLE</font><font face="宋体" size="3">表名；</p>
<p>&nbsp;&nbsp;&nbsp; 例如：</font><font size="3"></p>
<p>&nbsp;&nbsp;&nbsp; DROP TABLE EMP</font><font face="宋体" size="3">；</font><font face="黑体" size="3"></p>
<p></font><font size="3"><a name="查询语句"><font style="color: #99cc00" size="3">查询语句</font></a>
<p>SELECT</font><font face="宋体" size="3">命令的语法为：</font><font size="3"></p>
<p>SELECT [DISTINCT|ALL] {*|</font><font face="宋体" size="3">模式名</font><font size="3">.] {</font><font face="宋体" size="3">表名</font><font size="3">|</font><font face="宋体" size="3">视图名</font><font size="3">|</font><font face="宋体" size="3"></p>
<p>快照名<font size="3">] .*</font>&#8230;<font size="3">| {</font>表达式<font size="3">[</font>列别名<font size="3">]</font>&#8230;}<font size="3"> } [, [</font>模式名<font size="3">. ] {</font>表名<font size="3">|</font></p>
<p>视图名</font><font size="3">|} .*</font><font face="宋体" size="3">&#8230;</font><font size="3">| </font><font face="宋体" size="3">表达式</font><font size="3">[</font><font face="宋体" size="3">列别名</font><font size="3">] ]</font><font face="宋体" size="3">&#8230;</font><font size="3"></p>
<p><font face="宋体" size="3">FROM [模式名.] {表名|视图名|快照名} [@数据库链名] [表别名]</font></p>
<p>[, [<font face="宋体" size="3">模式名</font>.] {<font face="宋体" size="3">表名</font>|<font face="宋体" size="3">视图名</font>|<font face="宋体" size="3">快照名}</font> [@<font face="宋体" size="3">数据库链名</font>]</p>
<p>[</font><font face="宋体" size="3">表别名</font><font size="3">] ]</font><font face="宋体" size="3">&#8230;</font><font size="3"></p>
<p>[WHERE</font><font face="宋体" size="3">条件</font><font size="3">]</p>
<p>[START WITH</font><font face="宋体" size="3">条件 </font><font size="3">CONNECT BY </font><font face="宋体" size="3">条件</font><font size="3">]</p>
<p>[GROUP BY</font><font face="宋体" size="3">表达式</font><font size="3">[</font><font face="宋体" size="3">，表达式</font><font size="3">] </font><font face="宋体" size="3">&#8230;</font><font size="3">[HAVING</font><font face="宋体" size="3">条件</font><font size="3">]</p>
<p>[UNION|UNION ALL |INTERSECT|MINUS]SELECT</font><font face="宋体" size="3">命令</font><font size="3"></p>
<p>[ORDER BY{</font><font face="宋体" size="3">表达式</font><font size="3">|</font><font face="宋体" size="3">位置}</font><font size="3"> [ASC|DESC] [, {</font><font face="宋体" size="3">表达式</font><font size="3">|</font><font face="宋体" size="3">位置</font><font size="3">[ASC|DESC]}]</font><font face="宋体" size="3">&#8230;</font><font size="3">]</p>
</font><font face="黑体" size="3">
<p align="left"></font><font size="3">例如：对于STUDENT表:<br />
</p>
<center>
<table style="width: 369px; height: 65px" cellspacing="0" cellpadding="0" width="369" align="left" border="1">
    <tbody>
        <tr>
            <td width="33%">NO</td>
            <td width="33%">NAME</td>
            <td width="34%">AGE</td>
        </tr>
        <tr>
            <td width="33%">1001</td>
            <td width="33%">AE</td>
            <td width="34%">12</td>
        </tr>
        <tr>
            <td width="33%">1002</td>
            <td width="33%">BT</td>
            <td width="34%">14</td>
        </tr>
    </tbody>
</table>
</center>
<p align="left"><br />
</p>
<center>&nbsp;</center>
<p><br />
<br />
(1) 查询年纪为12的学生姓名；</p>
<p>SELECT STUDENT.NAME FROM STUDENT WHERE AGE=12;</p>
<p>(2) 查询年纪在12至16岁之间的学生姓名；</p>
<p>SELECT STUDENT.NAME FROM STUDENT WHERE AGE BETWEEN 12 AND 16;</p>
<p>(3) 查询年纪<strong>不</strong>在12至16岁之间的学生姓名；</p>
<p>SELECT STUDENT.NAME FROM STUDENT WHERE AGE NOT BETWEEN 12 AND 16;</p>
<p>(4) 查询所有姓名以A开头的学生的姓名；</p>
</font>
<p><font size="3">SELECT STUDENT.NAME FROM STUDENT WHERE NAME LIKE 'A%';</font></p>
<p><font size="3">(5) 列出所有学生年纪的和，年纪的平均值，最大值，最小值，最大值与最小值之间的差值；</font></p>
<p><font size="3">SELECT AVG(AGE), SUM(AGE), MAX(AGE), MIN(AGE), MAX(AGE)-MIN(AGE);</font></p>
<p><font size="3">(6) 将所有学生按学号顺序升序排列；</font></p>
<p><font size="3">SELECT * FROM STUDENT ORDER BY NO DESC;</font></p>
<p><font size="3">(7) 将所有学生按学号顺序升序排列；</font></p>
<p><font size="3">SELECT * FROM STUDENT ORDER BY NO ASC;</font></p>
<img src ="http://www.blogjava.net/wahahacj/aggbug/161974.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wahahacj/" target="_blank">wahaha</a> 2007-11-20 23:40 <a href="http://www.blogjava.net/wahahacj/articles/161974.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>