更新時(shí)間:2020-02-26 09:33:10 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2691次
目前比較常用的數(shù)據(jù)庫(kù)有:ORACLE,DB2、SQLServer、Sybase、Informix、MySQL、VF、Access等。下列語(yǔ)句有部分是Mssql數(shù)據(jù)中支持的語(yǔ)句,不能在access數(shù)據(jù)庫(kù)中使用。

SQL分類:
DDL—數(shù)據(jù)定義語(yǔ)言(CREATE,ALTER,DROP,DECLARE)
DML—數(shù)據(jù)操縱語(yǔ)言(SELECT,DELETE,UPDATE,INSERT)
DCL—數(shù)據(jù)控制語(yǔ)言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,簡(jiǎn)要介紹基礎(chǔ)語(yǔ)句:
1、創(chuàng)建數(shù)據(jù)庫(kù)
CREATEDATABASE數(shù)據(jù)庫(kù)名稱
2、刪除數(shù)據(jù)庫(kù)
dropdatabase數(shù)據(jù)庫(kù)名稱
3、sqlserver數(shù)據(jù)庫(kù)中備份數(shù)據(jù)庫(kù)
---創(chuàng)建備份數(shù)據(jù)的磁盤設(shè)備
USEmaster
EXECsp_addumpdevice'disk','testBack','c:\mssql7
backup\MyNwind_1.dat'
---開始備份
BACKUPDATABASEpubsTOtestBack
4、創(chuàng)建表
createtable表名(列名1類型1[notnull][primary
key],列名2類型2[notnull],..)
A根據(jù)已有的表創(chuàng)建新表:
createtable新表名like舊表名(使用舊表創(chuàng)建新表)
B根據(jù)已有表的某幾個(gè)列創(chuàng)建新表:
createtable新表名asselectcol1,col2...from舊表名definitiononly
5、刪除表:
droptable表名
6、給數(shù)據(jù)表增加一列:
Altertable表名addcolumn列名列類型
注:列增加后將不能刪除。
DB2中列加上后數(shù)據(jù)類型也不能改變,唯一能改變的是增加varchar類型的長(zhǎng)度。
7、添加刪除主鍵:
添加主鍵:
Altertable表名addprimarykey(列名)
刪除主鍵:
Altertable表名dropprimarykey(列名)
8、創(chuàng)建刪除索引:
創(chuàng)建索引:
create[unique]index索引名on表名(col....)
刪除索引:
dropindex索引名
注:索引是不可更改的,想更改必須刪除重新建。
9、創(chuàng)建刪除視圖:
創(chuàng)建視圖:
createview視圖名asselectstatement
刪除視圖:
dropview視圖名
10、常用的基本的sql語(yǔ)句:
選擇:
select*from表名where范圍
插入:
insertinto表名(field1,field2)values(value1,value2)
刪除:
deletefrom表名where范圍
更新:
update表名setfield1=value1where范圍
查找:
select*from表名wherefield1like’%value1%’---like的語(yǔ)法很精妙,查資料!
排序:
select*from表名orderbyfield1,field2[desc]
總數(shù):
selectcount*as列別名from表名
求和:
selectsum(field1)as列別名from表名
平均:
selectavg(field1)as列別名from表名
最大:
selectmax(field1)as列別名from表名
最?。?/p>
selectmin(field1)as列別名from表名
11、幾個(gè)高級(jí)查詢運(yùn)算:
A:UNION運(yùn)算符
UNION運(yùn)算符通過(guò)組合其他兩個(gè)結(jié)果表(例如TABLE1和TABLE2)并消去表中任何重復(fù)行而派生出一個(gè)新的結(jié)果表。當(dāng)ALL隨UNION一起使用時(shí)(即UNIONALL),不消除重復(fù)行。兩種情況下,派生表的每一行不是來(lái)自TABLE1就是來(lái)自TABLE2。
B:EXCEPT運(yùn)算符
EXCEPT運(yùn)算符通過(guò)包括所有在TABLE1中但不在TABLE2中的行并消除所有重復(fù)行而派生出一個(gè)結(jié)果表。當(dāng)ALL隨EXCEPT一起使用時(shí)(EXCEPTALL),不消除重復(fù)行。
C:INTERSECT運(yùn)算符
INTERSECT運(yùn)算符通過(guò)只包括TABLE1和TABLE2中都有的行并消除所有重復(fù)行而派生出一個(gè)結(jié)果表。當(dāng)ALL隨INTERSECT一起使用時(shí)(INTERSECTALL),不消除重復(fù)行。
注:使用運(yùn)算詞的幾個(gè)查詢結(jié)果行的列必須是一致的。
12、外連接:
A、左外連接(左連接):結(jié)果集既包括連接表的匹配行,也包括左連接表的所有行。
SQL語(yǔ)句:
selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEF
TOUTJOINbONa.a=b.c
B:右外連接(右連接):結(jié)果集既包括連接表的匹配連接行,也包括右連接表的所有行。
C:全外連接:不僅包括符號(hào)連接表的匹配行,還包括兩個(gè)連接表中的所有記錄。
13、SQL取前10條記錄
selecttop10*form表名where范圍
14、包括所有在TableA中但不在TableB和TableC中的行并消除所有重復(fù)行而派生出一個(gè)結(jié)果表:
(selectafromtableA)except(selectafromtableB)except(selectafromtableC)
15、隨機(jī)取出10條數(shù)據(jù)
selecttop10*from表名orderbynewid()
16、刪除重復(fù)記錄
Deletefrom表名whereidnotin(selectmax(id)from表名groupbycol1,col2,...)
17、列出數(shù)據(jù)庫(kù)里所有的表名
selectnamefromsysobjectswheretype='U'
18、列出表里的所有的列
selectnamefromsyscolumnswhereid=object_id('TableName')
19、TRUNCATE初始化表table1
TRUNCATETABLEtable1
20、選擇從10到15的記錄
selecttop5*from(selecttop15*fromtableorderbyidasc)table_別名orderbyiddesc

以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java編程數(shù)據(jù)庫(kù)教程:SQL語(yǔ)言學(xué)習(xí)”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)