日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

揭秘常用經(jīng)典SQL語(yǔ)句(2)_Mssql數(shù)據(jù)庫(kù)教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:解析最基本的sql語(yǔ)句操作
首先,簡(jiǎn)要介紹基礎(chǔ)語(yǔ)句: 1、說(shuō)明:創(chuàng)建數(shù)據(jù)庫(kù) CREATEDATABASEdatabase-name 2、說(shuō)明:刪除數(shù)據(jù)庫(kù) dropdatabasedbname 3、說(shuō)明:備份sqlserver ---創(chuàng)建備份數(shù)據(jù)的device USEmaster EXECsp_addumpdevice’disk’,’testBack’,’c:\mssql7backup\MyNwind_1.da


  23、說(shuō)明:初始化表table1
TRUNCATE TABLE table1
  24、說(shuō)明:選擇從10到15的記錄
select top 5 * from (select top 15 * from table order by id asc) table_別名 order by id desc
隨機(jī)選擇數(shù)據(jù)庫(kù)記錄的方法(使用Randomize函數(shù),通過(guò)SQL語(yǔ)句實(shí)現(xiàn))
  對(duì)存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)來(lái)說(shuō),隨機(jī)數(shù)特性能給出上面的效果,但它們可能太慢了些。你不能要求ASP“找個(gè)隨機(jī)數(shù)”然后打印出來(lái)。實(shí)際上常見(jiàn)的解決方案是建立如下所示的循環(huán):
Randomize 
RNumber = Int(Rnd*499) +1 
 
While Not objRec.EOF 
If objRec("ID") = RNumber THEN 
... 這里是執(zhí)行腳本 ... 
end if 
objRec.MoveNext 
Wend
  這很容易理解。首先,你取出1到500范圍之內(nèi)的一個(gè)隨機(jī)數(shù)(假設(shè)500就是數(shù)據(jù)庫(kù)內(nèi)記錄的總數(shù))。然后,你遍歷每一記錄來(lái)測(cè)試ID 的值、檢查其是否匹配RNumber。滿(mǎn)足條件的話(huà)就執(zhí)行由THEN 關(guān)鍵字開(kāi)始的那一塊代碼。假如你的RNumber 等于495,那么要循環(huán)一遍數(shù)據(jù)庫(kù)花的時(shí)間可就長(zhǎng)了。雖然500這個(gè)數(shù)字看起來(lái)大了些,但相比更為穩(wěn)固的企業(yè)解決方案這還是個(gè)小型數(shù)據(jù)庫(kù)了,后者通常在一個(gè)數(shù)據(jù)庫(kù)內(nèi)就包含了成千上萬(wàn)條記錄。這時(shí)候不就死定了?
  采用SQL,你就可以很快地找出準(zhǔn)確的記錄并且打開(kāi)一個(gè)只包含該記錄的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")
  不必寫(xiě)出RNumber 和ID,你只需要檢查匹配情況即可。只要你對(duì)以上代碼的工作滿(mǎn)意,你自可按需操作“隨機(jī)”記錄。Recordset沒(méi)有包含其他內(nèi)容,因此你很快就能找到你需要的記錄這樣就大大降低了處理時(shí)間。
再談隨機(jī)數(shù)
  現(xiàn)在你下定決心要榨干Random 函數(shù)的最后一滴油,那么你可能會(huì)一次取出多條隨機(jī)記錄或者想采用一定隨機(jī)范圍內(nèi)的記錄。把上面的標(biāo)準(zhǔn)Random 示例擴(kuò)展一下就可以用SQL應(yīng)對(duì)上面兩種情況了。
  為了取出幾條隨機(jī)選擇的記錄并存放在同一recordset內(nèi),你可以存儲(chǔ)三個(gè)隨機(jī)數(shù),然后查詢(xún)數(shù)據(jù)庫(kù)獲得匹配這些數(shù)字的記錄:
  SQL = "SELECT * FROM Customers WHERE ID = " & RNumber & " OR ID = " & RNumber2 & " OR ID = " & RNumber3
  假如你想選出10條記錄(也許是每次頁(yè)面裝載時(shí)的10條鏈接的列表),你可以用BETWEEN 或者數(shù)學(xué)等式選出第一條記錄和適當(dāng)數(shù)量的遞增記錄。這一操作可以通過(guò)好幾種方式來(lái)完成,但是 SELECT 語(yǔ)句只顯示一種可能(這里的ID 是自動(dòng)生成的號(hào)碼): 
SQL = "SELECT * FROM Customers WHERE ID BETWEEN " & RNumber & " AND " & RNumber & "+ 9"
  注意:以上代碼的執(zhí)行目的不是檢查數(shù)據(jù)庫(kù)內(nèi)是否有9條并發(fā)記錄。
  隨機(jī)讀取若干條記錄,測(cè)試過(guò)
Access語(yǔ)法: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左連接語(yǔ)法(最近開(kāi)發(fā)要用左連接,Access幫助什么都沒(méi)有,網(wǎng)上沒(méi)有Access的SQL說(shuō)明,只有自己測(cè)試, 現(xiàn)在記下以備后查)
  語(yǔ)法 select table1.fd1,table1,fd2,table2.fd2 From table1 left join table2 on table1.fd1,table2.fd1 where ...
  使用SQL語(yǔ)句 用...代替過(guò)長(zhǎng)的字符串顯示
  語(yǔ)法:
  SQL數(shù)據(jù)庫(kù):select case when len(field)>10 then left(field,10)+’...’ else field end as news_name,news_id from tablename
  Access數(shù)據(jù)庫(kù):SELECT iif(len(field)>2,left(field,2)+’...’,field) FROM tablename;
  Conn.Execute說(shuō)明
  Execute方法
  該方法用于執(zhí)行SQL語(yǔ)句。根據(jù)SQL語(yǔ)句執(zhí)行后是否返回記錄集,該方法的使用格式分為以下兩種:
  1.執(zhí)行SQL查詢(xún)語(yǔ)句時(shí),將返回查詢(xún)得到的記錄集。用法為:
  Set 對(duì)象變量名=連接對(duì)象.Execute("SQL 查詢(xún)語(yǔ)言")
  Execute方法調(diào)用后,會(huì)自動(dòng)創(chuàng)建記錄集對(duì)象,并將查詢(xún)結(jié)果存儲(chǔ)在該記錄對(duì)象中,通過(guò)Set方法,將記錄集賦給指定的對(duì)象保存,以后對(duì)象變量就代表了該記錄集對(duì)象。
  2.執(zhí)行SQL的操作性語(yǔ)言時(shí),沒(méi)有記錄集的返回。此時(shí)用法為:
  連接對(duì)象.Execute "SQL 操作性語(yǔ)句" [, RecordAffected][, Option]
  ·RecordAffected 為可選項(xiàng),此出可放置一個(gè)變量,SQL語(yǔ)句執(zhí)行后,所生效的記錄數(shù)會(huì)自動(dòng)保存到該變量中。通過(guò)訪(fǎng)問(wèn)該變量,就可知道SQL語(yǔ)句隊(duì)多少條記錄進(jìn)行了操作。
  ·Option 可選項(xiàng),該參數(shù)的取值通常為adCMDText,它用于告訴ADO,應(yīng)該將Execute方法之后的第一個(gè)字符解釋為命令文本。通過(guò)指定該參數(shù),可使執(zhí)行更高效。
  ·BeginTrans、RollbackTrans、CommitTrans方法
  這三個(gè)方法是連接對(duì)象提供的用于事務(wù)處理的方法。BeginTrans用于開(kāi)始一個(gè)事物;RollbackTrans用于回滾事務(wù);CommitTrans用于提交所有的事務(wù)處理結(jié)果,即確認(rèn)事務(wù)的處理。
  事務(wù)處理可以將一組操作視為一個(gè)整體,只有全部語(yǔ)句都成功執(zhí)行后,事務(wù)處理才算成功;若其中有一個(gè)語(yǔ)句執(zhí)行失敗,則整個(gè)處理就算失敗,并恢復(fù)到處里前的狀態(tài)。
  BeginTrans和CommitTrans用于標(biāo)記事務(wù)的開(kāi)始和結(jié)束,在這兩個(gè)之間的語(yǔ)句,就是作為事務(wù)處理的語(yǔ)句。判斷事務(wù)處理是否成功,可通過(guò)連接對(duì)象的Error集合來(lái)實(shí)現(xiàn),若Error集合的成員個(gè)數(shù)不為0,則說(shuō)明有錯(cuò)誤發(fā)生,事務(wù)處理失敗。Error集合中的每一個(gè)Error對(duì)象,代表一個(gè)錯(cuò)誤信息。
SQL語(yǔ)句大全精要
2006/10/26 13:46
DELETE語(yǔ)句 
DELETE語(yǔ)句:用于創(chuàng)建一個(gè)刪除查詢(xún),可從列在 FROM 子句之中的一個(gè)或多個(gè)表中刪除記錄,且該子句滿(mǎn)足 WHERE 子句中的條件,可以使用DELETE刪除多個(gè)記錄。
語(yǔ)法:DELETE [table.*] FROM table WHERE criteria
語(yǔ)法:DELETE * FROM table WHERE criteria=’查詢(xún)的字’
說(shuō)明:table參數(shù)用于指定從其中刪除記錄的表的名稱(chēng)。
criteria參數(shù)為一個(gè)表達(dá)式,用于指定哪些記錄應(yīng)該被刪除的表達(dá)式。
可以使用 Execute 方法與一個(gè) DROP 語(yǔ)句從數(shù)據(jù)庫(kù)中放棄整個(gè)表。不過(guò),若用這種方法刪除表,將會(huì)失去表的結(jié)構(gòu)。不同的是當(dāng)使用 DELETE,只有數(shù)據(jù)會(huì)被刪除;表的結(jié)構(gòu)以及表的所有屬性仍然保留,例如字段屬性及索引。

UPDATE 
有關(guān)UPDATE,急!�。。。。。。。。�!
在ORACLE數(shù)據(jù)庫(kù)中
表 A ( ID ,FIRSTNAME,LASTNAME ) 
表 B( ID,LASTNAME)
表 A 中原來(lái)ID,FIRSTNAME兩個(gè)字段的數(shù)據(jù)是完整的
表 B中原來(lái)ID,LASTNAME兩個(gè)字段的數(shù)據(jù)是完整的
現(xiàn)在要把表 B中的LASTNAME字段的相應(yīng)的數(shù)據(jù)填入到A表中LASTNAME相應(yīng)的位置。兩個(gè)表中的ID字段是相互關(guān)聯(lián)的。
先謝謝了!!!!
update a set a.lastname=(select b.lastname from b where a.id=b.id)

  掌握SQL四條最基本的數(shù)據(jù)操作語(yǔ)句:Insert,Select,Update和Delete。
   練掌握SQL是數(shù)據(jù)庫(kù)用戶(hù)的寶貴財(cái) 富。在本文中,我們將引導(dǎo)你掌握四條最基本的數(shù)據(jù)操作語(yǔ)句—SQL的核心功能—來(lái)依次介紹比較操作符、選擇斷言以及三值邏輯。當(dāng)你完成這些學(xué)習(xí)后,顯然你已經(jīng)開(kāi)始算是精通SQL了。
  在我們開(kāi)始之前,先使用CREATE TABLE語(yǔ)句來(lái)創(chuàng)建一個(gè)表(如圖1所示)。DDL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)對(duì)象如表、列和視進(jìn)行定義。它們并不對(duì)表中的行進(jìn)行處理,這是因?yàn)镈DL語(yǔ)句并不處理數(shù)據(jù)庫(kù)中實(shí)際的數(shù)據(jù)。這些工作由另一類(lèi)SQL語(yǔ)句—數(shù)據(jù)操作語(yǔ)言(DML)語(yǔ)句進(jìn)行處理。
  SQL中有四種基本的DML操作:INSERT,SELECT,UPDATE和DELETE。由于這是大多數(shù)SQL用戶(hù)經(jīng)常用到的,我們有必要在此對(duì)它們進(jìn)行一一說(shuō)明。在圖1中我們給出了一個(gè)名為EMPLOYEES的表。其中的每一行對(duì)應(yīng)一個(gè)特定的雇員記錄。請(qǐng)熟悉這張表,我們?cè)诤竺娴睦又袑⒁玫剿?p style="padding: 8px 16px;background: #F5FCEE;border: 1px solid #DCDDDD; margin:8px auto; font-size:12px;">分享:SQL語(yǔ)句查詢(xún)是否為空 =null及null
abcd 980515精頂企業(yè)有限公司簡(jiǎn)家豪NULL 980514全欣木業(yè)有限公司NULL123 980514迅億科技股份有限公司簡(jiǎn)逢浚NULL 980515聖越國(guó)際企業(yè)有限公司NULL111 表結(jié)構(gòu)如上所示,要查詢(xún)C列為空的記錄的SQL語(yǔ)句不是select*fromtablewherec=null;或者select*fromtablewh

共2頁(yè)上一頁(yè)12下一頁(yè)
來(lái)源:模板無(wú)憂(yōu)//所屬分類(lèi):Mssql數(shù)據(jù)庫(kù)教程/更新時(shí)間:2010-01-09
相關(guān)Mssql數(shù)據(jù)庫(kù)教程