歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > DOCX文檔下載  

標(biāo)準(zhǔn)sql語(yǔ)句編寫(xiě)格式規(guī)范經(jīng)典實(shí)用sql寫(xiě)法

  • 資源ID:210897026       資源大小:19.95KB        全文頁(yè)數(shù):6頁(yè)
  • 資源格式: DOCX        下載積分:9.98積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.98積分
郵箱/手機(jī):
溫馨提示:
用戶(hù)名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

標(biāo)準(zhǔn)sql語(yǔ)句編寫(xiě)格式規(guī)范經(jīng)典實(shí)用sql寫(xiě)法

項(xiàng)目中的那些SQL語(yǔ)句規(guī)范,你做到了幾條?公司有SQL語(yǔ)句規(guī)范的參考文檔,這里特別做個(gè)筆記。書(shū)寫(xiě)風(fēng)格1. 語(yǔ)句關(guān)鍵字應(yīng)全部使用小寫(xiě)。2. 引用字符時(shí)應(yīng)使用單引號(hào)。如:update testable set idcol='abcd'。3. 連接符或運(yùn)算符or、in、and、<=、>=, +,- 等前后宜加上一個(gè)空格。否則容易導(dǎo)致以下類(lèi)似問(wèn)題。例如:在語(yǔ)句select ab from table中,a,b均為變量,拼寫(xiě)該語(yǔ)句時(shí),如果a = 6,b = -3,則語(yǔ)句變?yōu)閟elect 6-3 from table。-被視為SQL的注釋?zhuān)Y(jié)果語(yǔ)句報(bào)錯(cuò)。4. 不得使用“select * from ”語(yǔ)法,必須標(biāo)明字段名。即select col1, col2, from tablea where 5. 嚴(yán)禁使用“insert into table_name values (?,?,)”語(yǔ)法,統(tǒng)一使用“insert into table_name (col1,col2,) values (?,?,.)”。6. SQL語(yǔ)句包含多表連接時(shí),必須加上表的別名,對(duì)每個(gè)字段的使用都要帶上表別名。即 select a.col1,a.col2,b.col3from tablea a, tableb bwhere a.col4=b.col57. 應(yīng)避免顯式或隱含的類(lèi)型轉(zhuǎn)換。例如在where子句中numeric型和int型的列的比較。8. 在子查詢(xún)中前后必須加上括號(hào)。select col1,col2from tableawhere col3 in (  select col4 from tableb  where col4>0)9. 執(zhí)行SQL時(shí)一次應(yīng)只執(zhí)行一條,如果多條語(yǔ)句則應(yīng)分開(kāi)執(zhí)行,但必須保持在一個(gè)事務(wù)中。不得一次執(zhí)行通過(guò)分號(hào)等分開(kāi)的多條語(yǔ)句,這樣處理不清晰。10. 如果能采用or代替,則不宜使用in 語(yǔ)句。in語(yǔ)句中的元素不得超過(guò)500個(gè),如果超過(guò),則應(yīng)拆分為多條SQL語(yǔ)句。嚴(yán)禁使用xx in(,.) or xx in(,)。11. or連接條件不得超過(guò) 500,超過(guò)時(shí)應(yīng)拆分為多條語(yǔ)句。性能優(yōu)化1. 查詢(xún)時(shí)應(yīng)盡量減少多余數(shù)據(jù)的讀取,通過(guò)使用where子句來(lái)減少返回的記錄數(shù)。2. 如果在語(yǔ)句中有not in(in)操作,應(yīng)盡量用not exists(exists)來(lái)代替。特別對(duì)大數(shù)據(jù)量的兩者檢索速度有很明顯的區(qū)別。3. 不宜使用外連接。外連接效率低。4. 一條SQL語(yǔ)句中不宜使用3層以上的嵌套查詢(xún)。如果超過(guò),則應(yīng)在Java等應(yīng)用服務(wù)器程序中處理。5. 一條SQL語(yǔ)句中不得從4個(gè)及以上表中同時(shí)取數(shù)。僅作關(guān)聯(lián)或過(guò)濾條件而不涉及取數(shù)的表不參與表個(gè)數(shù)計(jì)算;如果必須關(guān)聯(lián)4個(gè)或4個(gè)以上表,應(yīng)在Java等應(yīng)用服務(wù)器程序中處理。6. 應(yīng)盡量避免使用order by和group by排序操作,如必須使用排序操作,盡量建立在有索引的列上。因?yàn)榇罅康呐判虿僮饔绊懴到y(tǒng)性能。7. 對(duì)索引列的比較,應(yīng)盡量避免使用not 或 !=,可拆分為幾個(gè)條件。因?yàn)椤皀ot”和“!=”不會(huì)使用索引。如col1 是索引列,條件col1 !=0 可以拆分為col1 >0 or col2 <0。8. 應(yīng)盡量將數(shù)據(jù)庫(kù)函數(shù)、計(jì)算表達(dá)式寫(xiě)在邏輯操作符右邊。因?yàn)檫@些對(duì)列的操作會(huì)將導(dǎo)致表掃描,影響性能。9. 在where子句中,如果有多個(gè)過(guò)濾條件,應(yīng)將索引列或過(guò)濾記錄數(shù)最多的條件放在前面。10. 能用連接方式實(shí)現(xiàn)的功能,不得用子查詢(xún)。例如:select name from customerwhere customerId in ( select customerId from order where money > 1000)應(yīng)該用如下語(yǔ)句代替:select name from customerinner join order on customer.customerId = order.customerId where order.money > 100或 select name from customerwhere exists ( select 1 from order  where money > 1000  and customer.customerId = order.customerId) (這里需要注意:使用exists的效率依賴(lài)于匹配度,inner join效率比較穩(wěn)定)11. 多表關(guān)聯(lián)查詢(xún)時(shí),寫(xiě)法可遵循以下原則,這樣做有利于建立索引,提高查詢(xún)效率。格式如下:select sum (t1.je)from table1 t1, table2 t2, table3 t3where (t1的等值條件and (t1的非等值條件)and (t2與t1的關(guān)聯(lián)條件)and (t2的等值條件)and (t2的非等值條件)and (t3與t2的關(guān)聯(lián)條件)and (t3的等值條件)and (t3的非等值條件)跨數(shù)據(jù)庫(kù)支持1. 對(duì)于跨數(shù)據(jù)庫(kù)Java應(yīng)用程序的VO映射數(shù)據(jù)庫(kù)的數(shù)據(jù)格式建議:1) 整型字段:字段設(shè)置保存為Integer或者Long2) 數(shù)字型字段:若需要使用小數(shù)2位以上的精確計(jì)算,讀取、插入、更新使用BigDecimal類(lèi)型3) 字符型字段:讀取為String,并保存為String,插入或者更新為String4) 時(shí)間字段:讀取為String,插入或者更新時(shí)的時(shí)間格式使用中間件統(tǒng)一處理。2. 字符串連接應(yīng)使用“|”符號(hào),而不應(yīng)使用“+”。“+”是SQL Server語(yǔ)法,Oracle和DB2支持“|”,Hibernate轉(zhuǎn)化為SQL Server時(shí),會(huì)自動(dòng)將“|”轉(zhuǎn)為“+”。3. 通配符不能使用a-c%這種形式。應(yīng)寫(xiě)成如:select col1,col2 from table_namewhere col1 like 'a%' OR col1 like 'b%' OR col1 like 'c%'4. 截取字符串長(zhǎng)度函數(shù)應(yīng)使用substr,起始位置為1表示從頭開(kāi)始。因?yàn)閐b2中substr起點(diǎn)為1,0會(huì)報(bào)錯(cuò);在SqlServer數(shù)據(jù)庫(kù)中使用的是substring需要進(jìn)行轉(zhuǎn)換。5. 不得通過(guò)select percent n和select top n限制查詢(xún)結(jié)果集的記錄數(shù)。6. join 與on 必須嚴(yán)格匹配,嚴(yán)禁出現(xiàn)沒(méi)有on的join。7. joinon 后面不宜使用or,如果使用則需將or的范圍用( )括起來(lái)。8. 不得使用select into 的格式。Select into是SQL Server特有語(yǔ)法,因?yàn)镺racle和DB2不支持。9. 應(yīng)將Null值與空字符串(長(zhǎng)度為零的字符串)視為不同。雖然Oracle視Null與空字符串為相同,但DB2和SQL Server卻視為不同。

注意事項(xiàng)

本文(標(biāo)準(zhǔn)sql語(yǔ)句編寫(xiě)格式規(guī)范經(jīng)典實(shí)用sql寫(xiě)法)為本站會(huì)員(ta****fu)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!