最常用的SQL語句
更新時間:2009年10月04日 16:10:30 作者:
最常用的SQL語句,大家可以看下,都是在開發(fā)過程中,比較常用的語句。
(1)數(shù)據(jù)記錄篩選:
sql="select*from數(shù)據(jù)表where字段名=字段值orderby字段名[desc]"
sql="select*from數(shù)據(jù)表where字段名like'%字段值%'orderby字段名[desc]"
sql="selecttop10*from數(shù)據(jù)表where字段名orderby字段名[desc]"
sql="select*from數(shù)據(jù)表where字段名in('值1','值2','值3')"
sql="select*from數(shù)據(jù)表where字段名between值1and值2"
(2)更新數(shù)據(jù)記錄:
sql="update數(shù)據(jù)表set字段名=字段值where條件表達(dá)式"
sql="update數(shù)據(jù)表set字段1=值1,字段2=值2……字段n=值nwhere條件表達(dá)式"
(3)刪除數(shù)據(jù)記錄:
sql="deletefrom數(shù)據(jù)表where條件表達(dá)式"
sql="deletefrom數(shù)據(jù)表"(將數(shù)據(jù)表所有記錄刪除)
(4)添加數(shù)據(jù)記錄:
sql="insertinto數(shù)據(jù)表(字段1,字段2,字段3…)values(值1,值2,值3…)"
sql="insertinto目標(biāo)數(shù)據(jù)表select*from源數(shù)據(jù)表"(把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表)
(5)數(shù)據(jù)記錄統(tǒng)計函數(shù):
AVG(字段名)得出一個表格欄平均值
COUNT(*|字段名)對數(shù)據(jù)行數(shù)的統(tǒng)計或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計
MAX(字段名)取得一個表格欄最大的值
MIN(字段名)取得一個表格欄最小的值
SUM(字段名)把數(shù)據(jù)欄的值相加
引用以上函數(shù)的方法:
sql="selectsum(字段名)as別名from數(shù)據(jù)表where條件表達(dá)式"
setrs=conn.excute(sql)
用rs("別名")獲取統(tǒng)的計值,其它函數(shù)運用同上。
(5)數(shù)據(jù)表的建立和刪除:
CREATETABLE數(shù)據(jù)表名稱(字段1類型1(長度),字段2類型2(長度)……)
例:CREATETABLEtab01 (namevarchar (50), datetimedefaultnow ())
DROPTABLE數(shù)據(jù)表名稱(永久性刪除一個數(shù)據(jù)表)
4.記錄集對象的方法:
rs.movenext將記錄指針從當(dāng)前的位置向下移一行
rs.moveprevious將記錄指針從當(dāng)前的位置向上移一行
rs.movefirst將記錄指針移到數(shù)據(jù)表第一行
rs.movelast將記錄指針移到數(shù)據(jù)表最后一行
rs.absoluteposition=N將記錄指針移到數(shù)據(jù)表第N行
rs.absolutepage=N將記錄指針移到第N頁的第一行
rs.pagesize=N設(shè)置每頁為N條記錄
rs.pagecount根據(jù)pagesize的設(shè)置返回總頁數(shù)
rs.recordcount返回記錄總數(shù)
rs.bof返回記錄指針是否超出數(shù)據(jù)表首端,true表示是,false為否
rs.eof返回記錄指針是否超出數(shù)據(jù)表末端,true表示是,false為否
rs.delete刪除當(dāng)前記錄,但記錄指針不會向下移動
rs.addnew添加記錄到數(shù)據(jù)表末端
rs.update更新數(shù)據(jù)表記錄
Sql = "Select Distinct 字段名 From 數(shù)據(jù)表"
Distinct函數(shù),查詢數(shù)據(jù)庫存表內(nèi)不重復(fù)的記錄
Sql = "Select Count(*) From 數(shù)據(jù)表 where 字段名1>#18:0:0# and 字段名1< #19:00# "
count函數(shù),查詢數(shù)庫表內(nèi)有多少條記錄,“字段名1”是指同一字段
例:
set rs=conn.execute("select count(id) as idnum from news")
response.write rs("idnum")
sql="select * from 數(shù)據(jù)表 where 字段名 between 值1 and 值2"
Sql="select * from 數(shù)據(jù)表 where 字段名 between #2003-8-10# and #2003-8-12#"
在日期類數(shù)值為2003-8-10 19:55:08 的字段里查找2003-8-10至2003-8-12的所有記錄,而不管是幾點幾分。
select * from tb_name where datetime between #2003-8-10# and #2003-8-12#
字段里面的數(shù)據(jù)格式為:2003-8-10 19:55:08,通過sql查出2003-8-10至2003-8-12的所有紀(jì)錄,而不管是幾點幾分。
Sql="select * from 數(shù)據(jù)表 where 字段名=字段值 order by 字段名 [desc]"
Sql="select * from 數(shù)據(jù)表 where 字段名 like '%字段值%' order by 字段名 [desc]"
模糊查詢
Sql="select top 10 * from 數(shù)據(jù)表 where 字段名 order by 字段名 [desc]"
查找數(shù)據(jù)庫中前10記錄
Sql="select top n * form 數(shù)據(jù)表 order by newid()"
隨機(jī)取出數(shù)據(jù)庫中的若干條記錄的方法
top n,n就是要取出的記錄數(shù)
Sql="select * from 數(shù)據(jù)表 where 字段名 in ('值1','值2','值3')"
刪除某個表的一個列
alter table bankbill drop column zsl
alter table xx alter/add/drop column xx
復(fù)制數(shù)據(jù)庫的表
select * into 新表名 from 要復(fù)制的表的表名 where 1=2
要完全復(fù)制把where 1=2 去了就可以了
sql="select*from數(shù)據(jù)表where字段名=字段值orderby字段名[desc]"
sql="select*from數(shù)據(jù)表where字段名like'%字段值%'orderby字段名[desc]"
sql="selecttop10*from數(shù)據(jù)表where字段名orderby字段名[desc]"
sql="select*from數(shù)據(jù)表where字段名in('值1','值2','值3')"
sql="select*from數(shù)據(jù)表where字段名between值1and值2"
(2)更新數(shù)據(jù)記錄:
sql="update數(shù)據(jù)表set字段名=字段值where條件表達(dá)式"
sql="update數(shù)據(jù)表set字段1=值1,字段2=值2……字段n=值nwhere條件表達(dá)式"
(3)刪除數(shù)據(jù)記錄:
sql="deletefrom數(shù)據(jù)表where條件表達(dá)式"
sql="deletefrom數(shù)據(jù)表"(將數(shù)據(jù)表所有記錄刪除)
(4)添加數(shù)據(jù)記錄:
sql="insertinto數(shù)據(jù)表(字段1,字段2,字段3…)values(值1,值2,值3…)"
sql="insertinto目標(biāo)數(shù)據(jù)表select*from源數(shù)據(jù)表"(把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表)
(5)數(shù)據(jù)記錄統(tǒng)計函數(shù):
AVG(字段名)得出一個表格欄平均值
COUNT(*|字段名)對數(shù)據(jù)行數(shù)的統(tǒng)計或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計
MAX(字段名)取得一個表格欄最大的值
MIN(字段名)取得一個表格欄最小的值
SUM(字段名)把數(shù)據(jù)欄的值相加
引用以上函數(shù)的方法:
sql="selectsum(字段名)as別名from數(shù)據(jù)表where條件表達(dá)式"
setrs=conn.excute(sql)
用rs("別名")獲取統(tǒng)的計值,其它函數(shù)運用同上。
(5)數(shù)據(jù)表的建立和刪除:
CREATETABLE數(shù)據(jù)表名稱(字段1類型1(長度),字段2類型2(長度)……)
例:CREATETABLEtab01 (namevarchar (50), datetimedefaultnow ())
DROPTABLE數(shù)據(jù)表名稱(永久性刪除一個數(shù)據(jù)表)
4.記錄集對象的方法:
rs.movenext將記錄指針從當(dāng)前的位置向下移一行
rs.moveprevious將記錄指針從當(dāng)前的位置向上移一行
rs.movefirst將記錄指針移到數(shù)據(jù)表第一行
rs.movelast將記錄指針移到數(shù)據(jù)表最后一行
rs.absoluteposition=N將記錄指針移到數(shù)據(jù)表第N行
rs.absolutepage=N將記錄指針移到第N頁的第一行
rs.pagesize=N設(shè)置每頁為N條記錄
rs.pagecount根據(jù)pagesize的設(shè)置返回總頁數(shù)
rs.recordcount返回記錄總數(shù)
rs.bof返回記錄指針是否超出數(shù)據(jù)表首端,true表示是,false為否
rs.eof返回記錄指針是否超出數(shù)據(jù)表末端,true表示是,false為否
rs.delete刪除當(dāng)前記錄,但記錄指針不會向下移動
rs.addnew添加記錄到數(shù)據(jù)表末端
rs.update更新數(shù)據(jù)表記錄
Sql = "Select Distinct 字段名 From 數(shù)據(jù)表"
Distinct函數(shù),查詢數(shù)據(jù)庫存表內(nèi)不重復(fù)的記錄
Sql = "Select Count(*) From 數(shù)據(jù)表 where 字段名1>#18:0:0# and 字段名1< #19:00# "
count函數(shù),查詢數(shù)庫表內(nèi)有多少條記錄,“字段名1”是指同一字段
例:
set rs=conn.execute("select count(id) as idnum from news")
response.write rs("idnum")
sql="select * from 數(shù)據(jù)表 where 字段名 between 值1 and 值2"
Sql="select * from 數(shù)據(jù)表 where 字段名 between #2003-8-10# and #2003-8-12#"
在日期類數(shù)值為2003-8-10 19:55:08 的字段里查找2003-8-10至2003-8-12的所有記錄,而不管是幾點幾分。
select * from tb_name where datetime between #2003-8-10# and #2003-8-12#
字段里面的數(shù)據(jù)格式為:2003-8-10 19:55:08,通過sql查出2003-8-10至2003-8-12的所有紀(jì)錄,而不管是幾點幾分。
Sql="select * from 數(shù)據(jù)表 where 字段名=字段值 order by 字段名 [desc]"
Sql="select * from 數(shù)據(jù)表 where 字段名 like '%字段值%' order by 字段名 [desc]"
模糊查詢
Sql="select top 10 * from 數(shù)據(jù)表 where 字段名 order by 字段名 [desc]"
查找數(shù)據(jù)庫中前10記錄
Sql="select top n * form 數(shù)據(jù)表 order by newid()"
隨機(jī)取出數(shù)據(jù)庫中的若干條記錄的方法
top n,n就是要取出的記錄數(shù)
Sql="select * from 數(shù)據(jù)表 where 字段名 in ('值1','值2','值3')"
刪除某個表的一個列
alter table bankbill drop column zsl
alter table xx alter/add/drop column xx
復(fù)制數(shù)據(jù)庫的表
select * into 新表名 from 要復(fù)制的表的表名 where 1=2
要完全復(fù)制把where 1=2 去了就可以了
相關(guān)文章
SQL Server統(tǒng)計信息更新時采樣百分比對數(shù)據(jù)預(yù)估準(zhǔn)確性的影響詳解
這篇文章主要給大家介紹了關(guān)于SQL Server統(tǒng)計信息更新時采樣百分比對數(shù)據(jù)預(yù)估準(zhǔn)確性影響的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09通過T_sql語句向其中一次填入一條數(shù)據(jù)或一次填入多條數(shù)據(jù)的方式填充數(shù)據(jù)
使用T_sql語句向其中一次填入一條數(shù)據(jù)或一次填入多條數(shù)據(jù)的方式填入數(shù)據(jù),需要的朋友可以參考下2012-10-10Windows 11安裝SQL Server 2019出現(xiàn)"等待數(shù)據(jù)庫引擎恢復(fù)句
這篇文章主要介紹了Windows 11安裝SQL Server 2019出現(xiàn)"等待數(shù)據(jù)庫引擎恢復(fù)句柄失敗"問題完美解決方案,解決方案很簡單,格式化您的硬盤,刪除分區(qū)并重新指定扇區(qū)大小,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-07-07解析SQL Server聚焦移除(Bookmark Lookup、RID Lookup、Key Lookup)
本文主要講解索引性能優(yōu)化,著重對Bookmark Lookup、RID Lookup、Key Lookup三者進(jìn)行移除的實現(xiàn)進(jìn)行解析,以此來提高查詢性能。希望對大家有所幫助2016-12-12