⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asp12.htm

📁 一本关于sap的电子书
💻 HTM
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>ASP教程:数据库查询语言(2)</TITLE>
<META NAME="Template" CONTENT="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
<link rel="stylesheet" href="../../cpcw.css"></HEAD>
<BODY LINK="#0000ff" VLINK="#800080" background="../bg.gif">
<table width="85%" border="0" align="center">
  <tr bgcolor="#FFFFFF"> 
    <td> 
      <p align="CENTER"><font color="#FF3333" class="title"><b>ASP教程:数据库查询语言(2) 
        </b></font></p>
      <p align="right"><b>作者:<font color="#FF3333"><a href="mailto:shusheng@pchome.net">书生</a></font></b></p>
      <p align="JUSTIFY"></p>
      <hr>
         在本篇的开头,我要感谢一些朋友来信给我指出了前几篇文章中的错误。不知大家是否记得在第八篇中我举了一个简单的利用 Application 制作的页面访问计数器?有位朋友来信问我,为何当他改变计数器起始变量 
      NumVisits 的值后对最后的记数结果没有任何作用?起初我也大惑不解,让我们来回忆一下这段源程序,如下: <br>
      &lt; %<br>
      Dim NumVisits<br>
      NumVisits=0<br>
      Application.Lock<br>
      Application(&quot;NumVisits&quot;) = Application(&quot;NumVisits&quot;) 
      + 1 <br>
      Application.Unlock<br>
      %&gt;<br>
      欢迎光临本网页,你是本页的第 &lt; %= Application(&quot;NumVisits&quot;) %&gt; 位访客 !<br>
      <br>
         在这段程序中,如果你试图通过改变变量 NumVisits 的值来改变记数器结果,是绝对办不到的。因为用变量的值去改变 Application 
      的值是不可以的,这两者是不相关的。所以这里对变量的定义和赋值都是多余的。那么我们究竟应该如何来给 Application(&quot;NumVisits&quot;) 
      定义一个初始值呢?请看以下修正后程序: <br>
      &lt; %<br>
      If Application(&quot;NumVisits&quot;)&lt; 999 then<br>
      Application(&quot;NumVisits&quot;)=999<br>
      End If<br>
      Application.Lock<br>
      Application(&quot;NumVisits&quot;)=Application(&quot;NumVisits&quot;)+1<br>
      Application.Unlock<br>
      %&gt;<br>
      欢迎光临本网页,你是本页的第 &lt; %= Application(&quot;NumVisits&quot;) %&gt; 位访客 !<br>
      <br>
         这里的 999 就是你要设定的计数器初始值,如此一来问题就迎刃而解了。我非常感谢这位姓康的朋友给我指出了这个错误,虽然这只是一个很小的漏洞,但我们在共同学程序写程序的过程中非常需要这种严谨细致的作风,希望今后朋友们们一旦发现文中的错误即刻来信告知,我也能及时纠正,谢谢。<br>
      <br>
         SQL 语言可以分为两大部分:数据定义语言和数据操纵语言,继上一篇我们学习了数据操纵语言中的 Select 语句后,今天作者要继续给大家简要介绍其余的 
      SQL 语句。<br>
      <br>
         SQL 是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,与支持 SQL 查询的 Select 语句的复杂性相比较,更改数据库内容的 
      SQL 语句就格外简单。然而对于一个 DBMS 来说,数据更新所造成的风险大大超出了数据查询。数据库管理系统必须在更改期内保护所存储的数据的一致性,确保有效的数据进入数据库,数据库必须保持一致性, 
      DBMS 还必须协调多用户的并行更新,以确保用户和他们的更改不至于影响其他用户的作业。 
      <p>   用于修改数据库内容的 SQL 语句主要有以下三个: </p>
      <p>   1、 Insert,向一个表中加入新的数据行 </p>
      <p>   2、 Delete,从一个表中删除数据行 </p>
      <p>   3、 Update,更改数据库中已经存在的数据 </p>
      <p>   首先我们来看看 Insert 的用法: </p>
         标准语法: <br>
         INSERT INTO table_name<br>
         (col1, col2...)<br>
         VALUES(value1, value2...)<br>
      <br>
         下例要将书生作为一个新的销售员加入表 Salesreps 中 <br>
         Insert Into<br>
         Salesreps (name,num,sales,hire_date,income) <br>
         values ('shusheng',9,10000,'23-Feb-99',2000)<br>
      <br>
         在此语句中,列的名称列在括号中以逗号隔开,接下去是 Value 短语和括号中同样以逗号隔开的每列数据,应该注意的是数据和列名称的顺序是相同的,而且若是字符串型则以单引号隔开。从概念上来讲, 
      Insert 语句建立的一个与表列结构相一致的数据行,用取自 Values 子句的数据来填充它,然后将该新行加入表中,表中的行是不排序的,因此不存在将该行插入到表的头或尾或两行之间的这个概念。 
      Insert 语句结束后,新行就是表的一部分了。<br>
      <br>
         Insert 语句还可以将多行数据添加到目标表中去,在这种形式的 Insert 语句中,新行的数据值不是在语句正文中明确地指定的,而是语句中指定的一个数据库查询。添加的值来自数据库自身的行,这乍看起来似乎有些奇怪,但是在某些特定的状态下,这是非常有用的。比如,你想把 
      1998 年 12 月 30 日之前产生的订单编号、日期和数目从 order 表中拷贝到另一个名为 oldorder 的表中去,多行 Insert 
      语句为拷贝数据提供了一种紧凑而高效的方法,如下: <br>
         Insert into oldorder (Num,Date,Amount)<br>
         Select Num,Date,Amount<br>
         From order<br>
         Where Date&lt;'30-12-98'<br>
      <br>
         这条语句看起来有些复杂,其实很简单,语句标识了接收新行的表 oldorder 和接收数据的列,完全类似于单行 Insert 语句。语句的剩余部分是一个查询,它检索 
      order 表中的数据。 SQL 先执行对 order 表的查询,然后将查询结果逐行插入到 oldorder 表中去。<br>
      <br>
         下面我们来看看 Update 的用法, Update 语句用于更新单表中选定行的一列或多列的值。要更新的目标表在语句中定义, Set 子句则指定要更新哪些列并计算他们的值。 
      Update 语句总是包含 Where 语句,而且 Update 语句比较危险,所以您必须明确地认识到 Where 语句的重要性, Where 
      语句被用来指定需要更新的行。 
      <p>   标准语法: <br>
           UPDATE table_name<br>
           SET columnname1 = value1<br>
           [, columname2 = value2]...<br>
           WHERE search_condition<br>
      </p>
      <p>   以下是一个简单的 Update 语句的例子 : <br>
           Update customers<br>
           Set credit=100000.00,id=99<br>
           Where name='asp'<br>
      </p>
      <p>   在此例中我们将表 customers 中客户名为 asp 的客户的信贷值更新为 10 万并将他的 ID 变更为 99。再看下例: <br>
           Update customers<br>
           Set credit=200000.00,state=021<br>
           Where ID in (80,90,100,120)<br>
      </p>
      <p>   我们可以发现,其实 SQL 处理 Update 语句的过程就是逐行遍历所指定的表,更新其搜索条件结果为“真”的行,跳过其搜索条件结果为“假”或“空”的行。 
      </p>
      <p>   最后,来看看 Delete 语句。 </p>
      <p>   标准语法: <br>
           DELETE FROM tablename<br>
           WHERE condition<br>
      </p>
         由于它过于简单,所以所造成的后果也是严重的,虽然其中的 Where 子句是任选的,但它几乎总是存在的,若将 Where 子句从 Delete 
      语句中省略掉,则目标表的所有行都将被删除。看下例: <br>
         Delete from order Where ID=99 <br>
      <p>   在文章的末尾,作者在给大家简要介绍一下数据定义语言。它是用来创建和修改数据库结构的一种语句,包括 Create 和 Drop 语句。 
      </p>
      <p>   1、 Create 语句 </p>
         标准语法: <br>
         CREATE TABLE table_name<br>
         ( field1 datatype [ NOT NULL ],<br>
         field2 datatype [ NOT NULL ],<br>
         field3 datatype [ NOT NULL ]...)<br>
      <br>
         如: <br>
         CREATE TABLE BILLS <br>
         ( NAME CHAR(30),<br>
         AMOUNT NUMBER,<br>
         ACCOUNT_ID NUMBER)<br>
      <p>   尽管 Create Table 比前面介绍的语句难理解一些,但仍然很直观。它将 bills 赋予一个新表,并指定表中三列的名称和数据类型。表被建立后我们就可以添入数据了。如: 
      </p>
      <p>   Insert into bills(name,amout,account_id) values('gates',100,1) </p>
      <p>   如果,你觉得不再需要保存产品信息,则可用 Drop table 语句将该表及其所包含的所有数据从数据库中删除掉。 </p>
      <p>   标准语法: </p>
      <p>   DROP TABLE table_name </p>
         至此,我们已经了解了所有常用的 SQL 语句,可别小看这些貌似英文的简单语句,它们的功能十分强大,当我们编写 asp 程序时必须使用他们对数据库进行操作。从下一篇开始,作者将给大家介绍 
      ASP 的内建 ActiveX 组件,敬请关注。 
      <p align="CENTER"><a href="../homepage.htm"><font face="宋体" lang="ZH-CN">返回主页</font></a> 
        <a href="asp11.htm">上一节</a> <a href="asp13.htm">下一节</a></p>
      <p align="CENTER"><a href="http://www.cpcw.com">电脑报首页</a> <a href="../index.htm">网络学院首页</a></p>
      </td>
  </tr>
</table>
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -