·
sql的簡單查詢例項教程
while not objrec.eof
if objrec("id") = rnumber then
... 這裡是執行指令碼 ...
end if
objrec.movenext
wend
這很容易理解。首先,你取出1到500範圍之內的乙個隨機數(假設500就是資料庫內記錄的總數)。然後,你遍歷每一記錄來測試id 的值、檢查其是否匹配rnumber。滿足條件的話就執行由then 關鍵字開始的那一塊**。假如你的rnumber 等於495,那麼要迴圈一遍資料庫花的時間可就長了。雖然500這個數字看起來大了些,但相比更為穩固的企業解決方案這還是個小型資料庫了,後者通常在乙個資料庫內就包含了成千上萬條記錄。這時候不就死定了?
採用sql,你就可以很快地找出準確的記錄並且開啟乙個只包含該記錄的 recordset,如下所示:
randomize
rnumber = int(rnd*499) + 1
sql = "select * from customers where id = " & rnumber
set objrec = objconn.execute(sql)
response.writernumber & " = " & objrec("id") & " " & objrec("c_email")
不必寫出rnumber 和id,你只需要檢查匹配情況即可。只要你對以上**的工作滿意,你自可按需操作「隨機」記錄。recordset沒有包含其他內容,因此你很快就能找到你需要的記錄這樣就大大降低了處理時間。
再談隨機數
現在你下定決心要榨乾random 函式的最後一滴油,那麼你可能會一次取出多條隨機記錄或者想採用一定隨機範圍內的記錄。把上面的標準random 示例擴充套件一下就可以用sql應對上面兩種情況了。
為了取出幾條隨機選擇的記錄並存放在同一recordset內,你可以儲存三個隨機數,然後查詢資料庫獲得匹配這些數字的記錄:
sql = "select * from customers where id = " & rnumber & " or id = " & rnumber2 & " or id = " & rnumber3
假如你想選出10條記錄(也許是每次頁面裝載時的10條鏈結的列表),你可以用between 或者數學等式選出第一條記錄和適當數量的遞增記錄。這一操作可以通過好幾種方式來完成,但是 select 語句只顯示一種可能(這裡的id 是自動生成的號碼):
sql = "select * from customers where id between " & rnumber & " and " & rnumber & "+ 9"
注意:以上**的執行目的不是檢查資料庫內是否有9條併發記錄。
隨機讀取若干條記錄,測試過
access語法:select top 10 * from 表名 order by rnd(id)
sql server:select top n * from 表名 order by newid()
mysql select * from 表名 order by rand() limit n
access左連線語法(最近開發要用左連線,access幫助什麼都沒有,網上沒有access的sql說明,只有自己測試, 現在記下以備後查)
語法 select table1.fd1,table1,fd2,table2.fd2 from table1 left join table2 on table1.fd1,table2.fd1 where ...
使用sql語句 用...代替過長的字串顯示
語法:sql資料庫:select case when len(field)>10 then left(field,10)+'...' else field end as news_name,news_id from tablename
access資料庫:select iif(len(field)>2,left(field,2)+'...',field) from tablename;
conn.execute說明
execute方法
該方法用於執行sql語句。根據sql語句執行後是否返回記錄集,該方法的使用格式分為以下兩種:
1.執行sql查詢語句時,將返回查詢得到的記錄集。用法為:
set 物件變數名=連線物件.execute("sql 查詢語言")
execute方法呼叫後,會自動建立記錄集物件,並將查詢結果儲存在該記錄物件中,通過set方法,將記錄集賦給指定的物件儲存,以後物件變數就代表了該記錄集物件。
2.執行sql的操作性語言時,沒有記錄集的返回。此時用法為:
連線物件.execute "sql 操作性語句" [, recordaffected][, option]
·recordaffected 為可選項,此齣可放置乙個變數,sql語句執行後,所生效的記錄數會自動儲存到該變數中。通過訪問該變數,就可知道sql語句隊多少條記錄進行了操作。
·option 可選項,該引數的取值通常為adcmdtext,它用於告訴ado,應該將execute方法之後的第乙個字元解釋為命令文字。通過指定該引數,可使執行更高效。
·begintrans、rollbacktrans、committrans方法
這三個方法是連線物件提供的用於事務處理的方法。begintrans用於開始乙個事物;rollbacktrans用於回滾事務;committrans用於提交所有的事務處理結果,即確認事務的處理。
事務處理可以將一組操作視為乙個整體,只有全部語句都成功執行後,事務處理才算成功;若其中有乙個語句執行失敗,則整個處理就算失敗,並恢復到處裡前的狀態。
begintrans和committrans用於標記事務的開始和結束,在這兩個之間的語句,就是作為事務處理的語句。判斷事務處理是否成功,可通過連線物件的error集合來實現,若error集合的成員個數不為0,則說明有錯誤發生,事務處理失敗。 error集合中的每乙個error物件,代表乙個錯誤資訊。
sql語句大全精要
2006/10/26 13:46
delete 語句
delete語句:用於建立乙個刪除查詢,可從列在 from 子句之中的乙個或多個表中刪除記錄,且該子句滿足 where 子句中的條件,可以使用delete刪除多個記錄。
語法:delete [table.*] from table where criteria
語法:delete * from table where criteria='查詢的字'
說明:table引數用於指定從其中刪除記錄的表的名稱。
criteria引數為乙個表示式,用於指定哪些記錄應該被刪除的表示式。
可以使用 execute 方法與乙個 drop 語句從資料庫中放棄整個表。不過,若用這種方法刪除表,將會失去表的結構。不同的是當使用 delete,只有資料會被刪除;表的結構以及表的所有屬性仍然保留,例如字段屬性及索引。
update
有關update,急!!!!!!!!!!!
在oracle資料庫中
表 a ( id ,firstname,lastname )
表 b( id,lastname)
表 a 中原來id,firstname兩個欄位的資料是完整的
表 b中原來id,lastname兩個欄位的資料是完整的
現在要把表 b中的lastname欄位的相應的資料填入到a表中lastname相應的位置。兩個表中的id欄位是相互關聯的。
先謝謝了!!!!
update a set a.lastname=(select b.lastname from b where a.id=b.id)
掌握 sql四條最基本的資料操作語句:insert,select,update和delete。
練掌握sql是資料庫使用者的寶貴財 富。在本文中,我們將引導你掌握四條最基本的資料操作語句—sql的核心功能—來依次介紹比較操作符、選擇斷言以及三值邏輯。當你完成這些學習後,顯然你已經開始算是精通sql了。
在我們開始之前,先使用create table語句來建立乙個表(如圖1所示)。ddl語句對資料庫物件如表、列和視進行定義。它們並不對錶中的行進行處理,這是因為ddl語句並不處理資料庫中實際的資料。這些工作由另一類sql語句—資料操作語言(dml)語句進行處理。
sql中有四種基本的dml操作:insert,select,update和delete。由於這是大多數sql使用者經常用到的,我們有必要在此對它們進行一一說明。在圖1中我們給出了乙個名為employees的表。其中的每一行對應乙個特定的雇員記錄。請熟悉這張表,我們在後面的例子中將要用到它
SQL Server 約束大全
約束的作用 主要用來保證資料的正確性和完整性。sql server的主要約束有 主鍵約束 primary key constraint 唯一性約束 unique constraint 檢查性約束 check constraint 預設約束 default constraint 和外來鍵約束 fore...
JSP SQL語句大全
jsp sql語句大全 這裡用例子來說明,簡單明瞭。首先,插入 sql insert intoinformation name,phone,qq values name phone qq jsp中資料庫執行 executeupdate insert intoinformation name,phon...
《SQL語句大全》
語 句 功 能 資料操作 select 從資料庫表中檢索資料行和列 insert 向資料庫表新增新資料行 delete 從資料庫表中刪除資料行 update 更新資料庫表中的資料 資料定義 create table 建立乙個資料庫表 drop table 從資料庫中刪除表 alter table 修...