SQL語句的添加、刪除、修改雖然有如下很多種方法,但在使用過程中還是不夠用,不知是否有高手把更多靈活的使用方法貢獻(xiàn)出來?
添加、刪除、修改使用db.Execute(Sql)命令執(zhí)行操作
╔----------------╗
☆ 數(shù)據(jù)記錄篩選 ☆
╚----------------╝
注意:單雙引號(hào)的用法可能有誤(沒有測(cè)式)
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的所有記錄,而不管是幾點(diǎn)幾分。
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ì)錄,而不管是幾點(diǎn)幾分。
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')"
╔----------------╗
☆ 添加數(shù)據(jù)記錄 ☆
╚----------------╝
sql="insert into 數(shù)據(jù)表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"
sql="insert into 數(shù)據(jù)表 valuess (值1,值2,值3 …)"
不指定具體字段名表示將按照數(shù)據(jù)表中字段的順序,依次添加
sql="insert into 目標(biāo)數(shù)據(jù)表 select * from 源數(shù)據(jù)表"
把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表
╔----------------╗
☆ 更新數(shù)據(jù)記錄 ☆
╚----------------╝
Sql="update 數(shù)據(jù)表 set 字段名=字段值 where 條件表達(dá)式"
Sql="update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達(dá)式"
Sql="update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n "
沒有條件則更新整個(gè)數(shù)據(jù)表中的指定字段值
╔----------------╗
☆ 刪除數(shù)據(jù)記錄 ☆
╚----------------╝
Sql="delete from 數(shù)據(jù)表 where 條件表達(dá)式"
Sql="delete from 數(shù)據(jù)表"
沒有條件將刪除數(shù)據(jù)表中所有記錄)
╔--------------------╗
☆ 數(shù)據(jù)記錄統(tǒng)計(jì)函數(shù) ☆
╚--------------------╝
AVG(字段名) 得出一個(gè)表格欄平均值
COUNT(*|字段名) 對(duì)數(shù)據(jù)行數(shù)的統(tǒng)計(jì)或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計(jì)
MAX(字段名) 取得一個(gè)表格欄最大的值
MIN(字段名) 取得一個(gè)表格欄最小的值
SUM(字段名) 把數(shù)據(jù)欄的值相加
引用以上函數(shù)的方法:
sql="select sum(字段名) as 別名 from 數(shù)據(jù)表 where 條件表達(dá)式"
set rs=conn.excute(sql)
用 rs("別名") 獲取統(tǒng)的計(jì)值,其它函數(shù)運(yùn)用同上。
╔----------------------╗
☆ 數(shù)據(jù)表的建立和刪除 ☆
╚----------------------╝
Create TABLE 數(shù)據(jù)表名稱(字段1 類型1(長度),字段2 類型2(長度) …… )
例:Create TABLE tab01(name varchar(50),datetime default now())
Drop TABLE 數(shù)據(jù)表名稱 (永久性刪除一個(gè)數(shù)據(jù)表)
╔--------------------╗
☆ 記錄集對(duì)象的方法 ☆
╚--------------------╝
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)前記錄,但記錄指針不會(huì)向下移動(dòng)
rs.addnew 添加記錄到數(shù)據(jù)表末端
rs.update 更新數(shù)據(jù)表記錄