數(shù)據(jù)庫基本SQL語句大全_第1頁
數(shù)據(jù)庫基本SQL語句大全_第2頁
數(shù)據(jù)庫基本SQL語句大全_第3頁
數(shù)據(jù)庫基本SQL語句大全_第4頁
數(shù)據(jù)庫基本SQL語句大全_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫基本SQL語句大全數(shù)據(jù)庫基本-SQL語句大全、基礎(chǔ)1、說明:創(chuàng)建數(shù)據(jù)庫CreateDATABASE database-name2、說明:刪除數(shù)據(jù)庫drop databasedbn ame3、說明:備份 sql server- 創(chuàng)建備份數(shù)據(jù)的deviceUSE masteratEXEC sp_addumpdevice disk, testBack,c:mssql7backupMyNwind_1.d- 開始備份BACKUP DATABASE pubs TO testBack4、說明:創(chuàng)建新表create tabletab name(col1type1 notnull primarykey,c

2、ol2typnotnull ,.)根據(jù)已有的表創(chuàng)建新表:A: create tabletab_newliketab_old(使用舊表創(chuàng)建新表)B: create table tab_newas selectcol1,col2 fromtab_olddefi nionlye2tion5、說明:刪除新表drop table tab name6、說明:增加一個(gè)列Alter tabletab name add colu mn col type注:列增加后將不能刪除。DB2中列加上后數(shù)據(jù)類型也不能改變,唯一能改變的是增加varchar類型的長(zhǎng)度。7、 說明:添加主鍵: Alter tabletab na

3、me add primary key(col)說明:刪除主鍵:Alter tabletab name drop primary key(col)8、 說明:創(chuàng)建索弓丨: createuniqueindexidxnameon tabname(col .)刪除索弓丨:drop in dexidx name注:索引是不可更改的,想更改必須刪除重新建。9、 說明:創(chuàng)建視圖: create viewview name as select stateme nt刪除視圖:drop view view name10、說明:幾個(gè)簡(jiǎn)單的基本的sql語句選擇:select* from table1where 范圍插

4、入:in sertintotable1(field1,field2)values(value1,value2)刪除:deletefromtable1where 范圍更新:updatetable1set field1=value1where 范圍查找:select* from table1 where field1like %value1%-like的語法很精妙,查資料!desc排序:select* fromtable1order byfield1,field2J總數(shù):selectcou ntastotalcou ntfromtable1求和:selectsum(field1)assumvalu

5、efromtable1平均:selectavg(field1)asavgvaluefromtable1最大:selectmax(field1)asmaxvaluefromtable1最小:selectmi n(field1)asmin valuefromtable111、說明:幾個(gè)高級(jí)查詢運(yùn)算詞A:UNION運(yùn)算符UNION運(yùn)算符通過組合其他兩個(gè)結(jié)果表(例如TABLE1和任何重復(fù)行而派生岀一個(gè)結(jié)果表。當(dāng)ALL隨 UNION 起使用時(shí)(即TABLE2并消去表中UNION ALL),不消除重復(fù)行。兩種情況下,派生表的每一行不是來自B:EXCEPT運(yùn)算符EXCEPT運(yùn)算符通過包括所有在TABLE1

6、就是來自TABLE2TABLE1中但不在 TABLE2中的行并消除所有重復(fù)行而派生岀一個(gè)結(jié)果表。當(dāng) ALL隨EXCEPT 一起使用時(shí)(EXCEPT ALL),不消除重復(fù)行。C:INTERSECT 運(yùn)算符INTERSECT運(yùn)算符通過只包括TABLE1和 TABLE2中都有的行并消除所有重復(fù)行而派生岀一個(gè)結(jié)果表。當(dāng) ALL 隨INTERSECT 一起使用時(shí)(INTERSECT ALL),不消除重行。注:使用運(yùn)算詞的幾個(gè)查詢結(jié)果行必須是一致的12、說明:使用外連接A、left outer join :左外連接(左連接):結(jié)果集幾包括連接表的匹配行,也包括左連接表的所有行。SQL: select a.

7、a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.cB: right outer join:右外連接(右連接):結(jié)果集既包括連接表的匹配連接行,也包括右連接表的所有行。C: full outer join :全外連接:不僅包括符號(hào)連接表的匹配行,還包括兩個(gè)連接表中的所有記錄。二、提升1、說明:復(fù)制表法一:select(只復(fù)制結(jié)構(gòu),源表名:* into b from aa 新表名:b)where 11(Access可用)hereecte)法二:selecttop 0*into bfrom a2、說明:拷貝表in sertin

8、to(拷貝數(shù)據(jù)b(a, b,源表名:a目標(biāo)表名:b)select d,e,f fromc)(Access b;可用)3、說明:跨數(shù)據(jù)庫之間表的拷貝insert into條件例子:.from4、說明:selecta,b,c from5、說明:selectadddate from6、說明:a.aselectb.c7、說明:select8說明:b(a.b in子查詢a,b,ca where a(表名fromb, c)(具體數(shù)據(jù)使用絕對(duì)路徑select d,e,f from&Server.MapPath(. &data.mdb1: a 表名 2: b)a where a ININ (1,2,3)顯示文

9、章、提交人和最后回復(fù)時(shí)間a.title,a.user name,b.adddatetable where table.title=a.title)外連接查詢a.a, a.b,(表名1: ab.c,a.c,(selectfromtable表名2:b.d,b)b.ffromn不包括selectselect9、說明:select在線視圖查詢* frombetwee n* froma,b,c,值6)(Access 可用)infrom具體數(shù)據(jù)庫&a,(selecta LEFTwhere.或者:selmax(adddatOUT JOIN b O(表名(Selecta,b,cFROM a)T where t

10、.a 1;的用法,betweentable1 where限制查詢數(shù)據(jù)范圍時(shí)包括了邊界值time betwee ntime1from table1 where a notin的使用方法* from table1 where a not inbetwee nand數(shù)值,not betweetime21 and 數(shù)值2(值 1,值 2,值 4,10、說明:兩張關(guān)聯(lián)表,刪除主表中已經(jīng)在副表中沒有的信息delete from table1 where not exists ( select * fromtable2 where table1.field1=table2.field111、說明:四表聯(lián)查問

11、題:select * from a left inner joi n b on a.a=b.b rightinner join c on a.a=c.cinnerjoi nd on a.a=d.d where12、說明:日程安排提前五分鐘提醒select * from 日程安排 where datediff(minute,f開始時(shí)間,getdate()5匚13、說明:一條sql語句搞定數(shù)據(jù)庫分頁select top 10 b.* from (select top 20 主鍵字段,排序字段from 表名 order by 排序字段desc) a,表名 b where b.主鍵字段=a.主鍵字段o

12、rder by a.排序字段14、說明:前10條記錄select top 10 * form table1 where 范圍15、 說明:選擇在每一組b值相同的數(shù)據(jù)中對(duì)應(yīng)的a最大的記錄的所有信息(類似這樣的用法可以用于論壇每月排行榜,每月熱銷產(chǎn)品分析,按科目成績(jī)排名,等等.)select a,b,c from table name ta where a=(select max(a) from table name tb where tb.b=ta.b)16、 說明:包括所有在TableA中但不在TableB和TableC 中的行并消除所有重復(fù)行而派生出一個(gè)結(jié)果表ename group by c

13、ol1,col2,t (select(selecta from tableAa from tableC)except(selecta fromtableB)excep17、說明:隨機(jī)取岀 10條數(shù)據(jù)11select top 10 * fromtable nameorderby n ewid()18、說明:隨機(jī)選擇記錄selectn ewid()1 19、說明:刪除重復(fù)記錄Delete from table namewhere idnot in(selectmax(id)from tabl20、說明:列岀數(shù)據(jù)庫里所有的表名selectnamefromsysobjectswheretype=U21

14、、說明:列岀表里的所有的selectnamefromsyscolumnswhereid=object_id(TableName)22、 說明:列示type、vender、pcs字段,以type字段排列,case可以方便地實(shí)現(xiàn) 多重選擇,類似 select 中的case。selecttype,sum( case venderwhen Athe npcs else0 end),sum( case ven der whe n Cthe npcs else 0en d),sum(case ven der when B then pcselse 0 end)FROMtable namegroup byt

15、ype顯示結(jié)果:typeven derpcs電腦 A 11電腦 A 1光盤 B 21 光盤 A 2=手機(jī) B 31手機(jī) C 3zz23、說明:初始化表table1TRUNCATE TABLE table1呂24、說明:選擇從 10到15的記錄selecttop 5 *from (selecttop 15* from tableorder by id asc)table_ 另V名orderby id desc三、技巧1、1=1 , 1=2 的使用,在SQL語句組合時(shí)用的較多where 1=1是表示選擇全部“ where 1=2”全部不選,11如:11if strWhere != begin11s

16、et strSQL = selectcou nt(*)as Total from+ tblName + where + strWhere11endLelsebegin1setstrSQL =selectcou nt(*)as Total from + tblName +11end我們可以直接寫成set strSQL = selectcou nt(*)as Total from +tblName + where 1=1 安定+ strWhereLU2、收縮數(shù)據(jù)庫-重建索引DBCC REINDEXDBCC INDEXDEFRAG-收縮數(shù)據(jù)和日志DBCC SHRINKDBDBCC SHRINKFIL

17、E3、壓縮數(shù)據(jù)庫dbcc shri nkdatabase(db name)4、轉(zhuǎn)移數(shù)據(jù)庫給新用戶以已存在用戶權(quán)限exec sp_cha nge_users_logi nupdate_ on e, newn ame,old namego5、檢查備份集RESTORE VERIFYONLY from disk=E:dvbbs.bak6、修復(fù)數(shù)據(jù)庫Alter DATABASE dvbbs SET SINGLE_USERGODBCC CHECKDB(dvbbs,repair_allow_data_loss)WITH TABLOCKGOAlter DATABASE dvbbs SET MULTI_USER

18、GO7、日志清除SET NOCOUNTON-要操作的數(shù)據(jù)庫名-日志文件名- Limit on timeallDECLARE LogicalFileName sys name, MaxMi nutes INT, NewSize INTUSEtable nameSelectLogicalFileName = table name_log,MaxMi nutes =10,owed to wrap log.NewSize =1- 你想設(shè)定的日志文件的大小(M)- Setup / in itializeDECLARE Origi nalSize int SelectOrigi nalSize= size

19、FROM sysfilesWhere n ame = LogicalFileNameSelect Origi nal Size of + db_n ame()+ CONVERT(VARCHAR(30),Orig in alSize)+LOG is8Kpages o+ MBCONVERT(VARCHAR(30),(Origi nalSize*8/1024)FROM sysfilesWhere n ame = LogicalFileNameCreate TABLE DummyTrans(DummyColumn char (8000) not null )DECLARE Cou nterStartT

20、ime DATETIME,Tru ncLog VARCHAR(255)StartTime = GETDATE(),TruncLog = BACKUP LOG + db_name()INT,SelectWITtimethe log ifn ecessary.MaxMinutes DATEDIFF (mi, StartTime, GETDATE() expiredn ameAND OriginalSizeLogicalFileName)(Select sizeFROM sysfiles WherBEGINSelectAND (OriginalSize- Outer loop.Cou nter =*

21、8/1024)NewSizeWHILE(Cou nter Origi nalSize16) AND (CounteTRUNCATE ONLYDBCC SHRINKFILE (LogicalFileName, NewSize)EXEC (TruncLog)-WrapWHILEhas not50000)BEGINIn sertupdateDummyTrans VALUES (FillLog)ENDDeleteSelectDummyTra nsCou nter = Cou nterEXEC(Tru ncLog)ENDSelectFi nalSize of+ db_n ame() +CONVERT(VARCHAR(30),size) +C0NVERT(VARCHAR(30),(size*8/1024)LOG8Kispages or+ MBFROMsysfilesWheren ameLogicalFileNameDrop TABLE DummyTransSET NOCOUNTOFF8說明:更改某個(gè)表exec sp_cha ngeobjectow nertable name,dbo9、存儲(chǔ)更改全部表Create PROCEDUREdbo.Us

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論