




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1/38,1,第四章,數(shù)據(jù)查詢(1),2/38,2,回顧,SQL分為數(shù)據(jù)操作語言、數(shù)據(jù)控制語言和數(shù)據(jù)定義語言;T-SQL是SQL的擴展 通配符經(jīng)常與LIKE一起使用來進行非精確的限制; 標識列不能插入指定的數(shù)據(jù)值 使用UPDATE更新數(shù)據(jù),一般都有限制條件 使用DELETE刪除數(shù)據(jù)時,不能刪除被外鍵值所引用的數(shù)據(jù)行 使用TRUNCATE TABLE來刪除所有數(shù)據(jù)時,效率要比DELETE語句高 上面的數(shù)據(jù)操作語句在程序中會經(jīng)常使用到,3/38,3,目標,理解查詢的機制 使用SELECT語句進行條件查詢 在查詢中返回限制行、進行查詢排序 在查詢中使用表達式、運算符和函數(shù),4/38,4,什么是查詢?
2、,客戶程序,SQL SERVER,SELECT * FROM SALES,查詢產(chǎn)生一個虛擬表,看到的是表形式顯示的結(jié)果,但結(jié)果并不真正存儲,每次執(zhí)行查詢只是現(xiàn)從數(shù)據(jù)表中提取數(shù)據(jù),并按照表的形式顯示出來,5/38,5,怎么查的?,6/38,6,編寫查詢語句之前,7/38,7,查詢,SELECT FROM WHERE ORDER BY ASC或DESC,8/38,8,數(shù)據(jù)查詢-基礎(chǔ),查詢?nèi)康男泻土?查詢部分行,9/38,9,數(shù)據(jù)查詢-列名,使用AS來命名列,使用=來命名列,10/38,10,數(shù)據(jù)查詢-空行常量列,查詢空行,使用常量列,思考:非空行怎么查?,11/38,11,數(shù)據(jù)查詢-限制行數(shù),限
3、制固定行數(shù),返回百分之多少行,12/38,12,數(shù)據(jù)查詢-排序 2-1,升序排列,降序排列,13/38,13,數(shù)據(jù)查詢-排序 2-2,按多列排序,思考:排序中的字段,可以使用表達式嗎? 如果不可以,請說明原因; 如果可以,請舉例說明;,14/38,14,SQL Server中的函數(shù),相當(dāng)于C語言中的內(nèi)部函數(shù),字符串函數(shù) 日期函數(shù) 數(shù)學(xué)函數(shù) 系統(tǒng)函數(shù),15/38,15,日期函數(shù),16/38,16,字符串函數(shù),17/38,17,數(shù)學(xué)函數(shù),18/38,18,系統(tǒng)函數(shù),19/38,19,案例分析1要求,某公司印了一批充值卡,卡的密碼是隨機生成的,現(xiàn)在出現(xiàn)這個問題: 卡里面的“O和0”(哦和零)“i和1
4、”(哎和一),用戶反映說看不清楚,公司決定,把存儲在數(shù)據(jù)庫中的密碼中所有的“哦”都改成“零”,把所有的“i”都改成“1”; 請編寫SQL語句實現(xiàn)以上要求; 數(shù)據(jù)庫表名:Card;密碼字段名:PassWord;,20/38,20,案例分析1分析,這是更新語句,需要使用UPDATE語句; 因為牽涉到字符串的替換,需要使用到SQL Server中的函數(shù)Replace;,21/38,21,案例分析1T-SQL,兩行SQL語句,一行SQL語句,22/38,22,案例分析2要求,在數(shù)據(jù)庫表中有以下字符數(shù)據(jù),如: 13-1、13-2、13-3、13-10、13-100、13-108、13-18、13-11、
5、13-15、14-1、14-2 現(xiàn)在希望通過SQL語句進行排序,并且首先要按照前半部分的數(shù)字進行排序,然后再按照后半部分的數(shù)字進行排需,輸出要排成這樣: 13-1、13-2、13-3、13-10、13-11、13-15、13-18、13-100、13-108、14-1、14-2 數(shù)據(jù)庫表名:SellRecord;字段名:ListNumber;,23/38,23,案例分析2分析,這是查詢語句,需要使用SELECT語句 需要使用到ORDER BY進行排序,并且在ORDER BY的排序列中,也需要重新計算出排序的數(shù)字來 前半部分的數(shù)字,可以從先找到“-”符號的位置,然后,取其左半部分,最后再使用Co
6、nvert函數(shù)將其轉(zhuǎn)換為數(shù)字: Convert(int, Left(ListNumber, CharIndex(-, ListNumber)-1) 后半部分的數(shù)字,可以先找到“-”符號的位置,然后把從第一個位置到該位置的全部字符替換為空格,最后再使用Convert函數(shù)將其轉(zhuǎn)換為數(shù)字: Convert(int, Stuff(ListNumber,1, Charindex(-, ListNumber), ),24/38,24,案例分析2T-SQL,思考:還有其他的計算出排序列方法嗎?,25/38,25,思考,在上一章我們學(xué)習(xí)了對表的數(shù)據(jù)的操作,其中學(xué)到了Insert語句,但Insert每次只能插入
7、一行記錄,如果我們要進行多行數(shù)據(jù)插入,能行嗎?,26/38,26,插入多行數(shù)據(jù) 4-1,INSERT INTO (新表列名) SELECT FROM ,當(dāng)新表中的表結(jié)構(gòu)與舊表的表結(jié)構(gòu)相同時,可以用下面語句把舊表中的所需數(shù)據(jù)一次性插入到新表中,27/38,27,插入多行數(shù)據(jù) 4-2,SELECT (源表列名) INTO FROM ,猜一猜:該語句可以執(zhí)行兩次嗎?,我要對一張表作測試工作,但又不想破壞表的數(shù)據(jù),怎么辦? -把這張表復(fù)制出來,28/38,28,插入多行數(shù)據(jù) 4-3,緊接上面的問題,當(dāng)我復(fù)制了源表相應(yīng)的列出來后,發(fā)現(xiàn)沒有適合做主鍵的列,怎么? -插入新的標識列,SELECT IDENTITY(數(shù)據(jù)類型,標識種子,標識增長量) AS 列名 INTO 新表 FROM 原始表,29/38,29,插入多行數(shù)據(jù) 4-4,INSERT INTO (列名) SELECT UNION SELECT UNION ,前面講的多行插入都是有源數(shù)據(jù)存在,那么我想自己輸入新的數(shù)據(jù)進去,但只想用一條Insert語句,能成功嗎?,30/38,30,總結(jié),查詢將逐行篩選表中的數(shù)據(jù),最后符合要求的記錄重新組合成“記錄集”,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 溫州消防文員管理辦法
- 云南省昆明盤龍區(qū)聯(lián)考2024年九年級化學(xué)第一學(xué)期期末質(zhì)量跟蹤監(jiān)視試題含解析
- 體檢培訓(xùn)課件下載
- 情境一高分子材料加工的基礎(chǔ)知識71課件
- 文書模板-未履行民主程序的情況說明
- 物流運輸勞動力投入計劃及保證措施
- 游戲游樂管理辦法細則
- 廣告學(xué)復(fù)習(xí)考試試題及答案
- 物業(yè)保安督查管理辦法
- Nd-YAG激光聯(lián)合烏靈膠囊治療灼口綜合征療效研究
- 2024車輛掛靠證明
- DL∕T 1833-2018 柔性直流輸電換流閥檢修規(guī)程
- 近視表征的表觀遺傳機制
- QCT1177-2022汽車空調(diào)用冷凝器
- GB/T 4074.5-2024繞組線試驗方法第5部分:電性能
- 熱水袋燙傷RCA分析2022
- 2024年單獨考試招生嬰幼兒托育與管理專業(yè)考試題庫(含答案)
- 人工智能中的圖像識別技術(shù)
- 市場監(jiān)管培訓(xùn)課件
- 2024年上海市計算機一級考試復(fù)習(xí)題庫(含答案)
- 腫瘤科放療健康宣教
評論
0/150
提交評論