熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP基礎入門:數據庫查詢語言(2)

2013-11-13 10:43:23  來源: .NET編程 

  在本篇的開頭我要感謝一些朋友來信給我指出了前幾篇文章中的錯誤不知大家是否記得在第八篇中我舉了一個簡單的利用

  Application

  制作的頁面訪問計數器?有位朋友來信問我為何當他改變計數器起始變量

  NumVisits

  的值後對最後的記數結果沒有任何作用?起初我也大惑不解讓我們來回憶一下這段源程序如下

  < %

  Dim NumVisits

  NumVisits=

  ApplicationLock

  Application("NumVisits") = Application("NumVisits") +

  ApplicationUnlock

  %>

  歡迎光臨本網頁你是本頁的第 < %= Application("NumVisits")

  %> 位訪客 !

  在這段程序中如果你試圖通過改變變量 NumVisits

  的值來改變記數器結果是絕對辦不到的因為用變量的值去改變

  Application

  的值是不可以的這兩者是不相關的所以這裡對變量的定義和賦值都是多余的那麼我們究竟應該如何來給

  Application("NumVisits")

  定義一個初始值呢?請看以下修正後程序

  < %

  If Application("NumVisits")< then

  Application("NumVisits")=

  End If

  ApplicationLock

  Application("NumVisits")=Application("NumVisits")+

  ApplicationUnlock

  %>

  歡迎光臨本網頁你是本頁的第 < %= Application("NumVisits")

  %> 位訪客 !

  這裡的

  就是你要設定的計數器初始值如此一來問題就迎刃而解了我非常感謝這位姓康的朋友給我指出了這個錯誤雖然這只是一個很小的漏洞但我們在共同學程序寫程序的過程中非常需要這種嚴謹細致的作風希望今後朋友們們一旦發現文中的錯誤即刻來信告知我也能及時糾正謝謝

  SQL

  語言可以分為兩大部分數據定義語言和數據操縱語言繼上一篇我們學習了數據操縱語言中的

  Select 語句後今天作者要繼續給大家簡要介紹其余的 SQL 語句

  SQL

  是一種完備的數據處理語言不僅用於數據庫查詢而且用於數據庫中的數據修改和更新與支持

  SQL 查詢的 Select 語句的復雜性相比較更改數據庫內容的 SQL

  語句就格外簡單然而對於一個 DBMS

  來說數據更新所造成的風險大大超出了數據查詢數據庫管理系統必須在更改期內保護所存儲的數據的一致性確保有效的數據進入數據庫數據庫必須保持一致性

  DBMS

  還必須協調多用戶的並行更新以確保用戶和他們的更改不至於影響其他用戶的作業

  用於修改數據庫內容的 SQL 語句主要有以下三個

   Insert向一個表中加入新的數據行

   Delete從一個表中刪除數據行

   Update更改數據庫中已經存在的數據

  首先我們來看看 Insert 的用法

  標准語法

  INSERT INTO table_name

  (col col)

  VALUES(value value)

  下例要將書生作為一個新的銷售員加入表 Salesreps 中

  Insert Into

  Salesreps (namenumsaleshire_dateincome)

  values (shushengFeb)

  在此語句中列的名稱列在括號中以逗號隔開接下去是 Value

  短語和括號中同樣以逗號隔開的每列數據應該注意的是數據和列名稱的順序是相同的而且若是字符串型則以單引號隔開從概念上來講

  Insert 語句建立的一個與表列結構相一致的數據行用取自 Values

  子句的數據來填充它然後將該新行加入表中表中的行是不排序的因此不存在將該行插入到表的頭或尾或兩行之間的這個概念

  Insert 語句結束後新行就是表的一部分了

  Insert 語句還可以將多行數據添加到目標表中去在這種形式的

  Insert

  語句中新行的數據值不是在語句正文中明確地指定的而是語句中指定的一個數據庫查詢添加的值來自數據庫自身的行這乍看起來似乎有些奇怪但是在某些特定的狀態下這是非常有用的比如你想把

   日之前產生的訂單編號日期和數目從 order

  表中拷貝到另一個名為 oldorder 的表中去多行 Insert

  語句為拷貝數據提供了一種緊湊而高效的方法如下

  Insert into oldorder (NumDateAmount)

  Select NumDateAmount

  From order

  Where Date<

  這條語句看起來有些復雜其實很簡單語句標識了接收新行的表

  oldorder 和接收數據的列完全類似於單行 Insert

  語句語句的剩余部分是一個查詢它檢索 order 表中的數據 SQL

  先執行對 order 表的查詢然後將查詢結果逐行插入到 oldorder

  表中去

  下面我們來看看 Update 的用法 Update

  語句用於更新單表中選定行的一列或多列的值要更新的目標表在語句中定義

  Set 子句則指定要更新哪些列並計算他們的值 Update 語句總是包含

  Where 語句而且 Update 語句比較危險所以您必須明確地認識到 Where

  語句的重要性 Where 語句被用來指定需要更新的行

  標准語法

  UPDATE table_name

  SET columnname = value

  [ columname = value]

  WHERE search_condition

  以下是一個簡單的 Update 語句的例子 :

  Update customers

  Set credit=id=

  Where name=asp

  在此例中我們將表 customers 中客戶名為 asp

  的客戶的信貸值更新為 萬並將他的 ID 變更為 再看下例

  Update customers

  Set credit=state=

  Where ID in ()

  我們可以發現其實 SQL 處理 Update

  語句的過程就是逐行遍歷所指定的表更新其搜索條件結果為“真”的行跳過其搜索條件結果為“假”或“空”的行

  最後來看看 Delete 語句

  標准語法

  DELETE FROM tablename

  WHERE condition

  由於它過於簡單所以所造成的後果也是嚴重的雖然其中的

  Where 子句是任選的但它幾乎總是存在的若將 Where 子句從 Delete

  語句中省略掉則目標表的所有行都將被刪除看下例

  Delete from order Where ID=

  在文章的末尾作者在給大家簡要介紹一下數據定義語言它是用來創建和修改數據庫結構的一種語句包括

  Create 和 Drop 語句

   Create 語句

  標准語法

  CREATE TABLE table_name

  ( field datatype [ NOT NULL ]

  field datatype [ NOT NULL ]

  field datatype [ NOT NULL ])

  如

  CREATE TABLE BILLS

  ( NAME CHAR()

  AMOUNT NUMBER

  ACCOUNT_ID NUMBER)

  盡管 Create Table

  比前面介紹的語句難理解一些但仍然很直觀它將 bills

  賦予一個新表並指定表中三列的名稱和數據類型表被建立後我們就可以添入數據了

  Insert into bills(nameamoutaccount_id) values(gates)

  如果你覺得不再需要保存產品信息則可用 Drop table

  語句將該表及其所包含的所有數據從數據庫中刪除掉

  標准語法

  DROP TABLE table_name

  至此我們已經了解了所有常用的 SQL

  語句可別小看這些貌似英文的簡單語句它們的功能十分強大當我們編寫

  asp

  程序時必須使用他們對數據庫進行操作


From:http://tw.wingwit.com/Article/program/net/201311/14377.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.