青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
蝸牛的家
男兒當自強
C++博客
首頁
新文章
新隨筆
聚合
管理
posts - 48, comments - 21, trackbacks - 0
SQL操作全集
下列語句部分是Mssql語句,不可以在access中使用。
SQL分類:
DDL—數據定義語言(
CREATE
,
ALTER
,
DROP
,
DECLARE
)
DML—數據操縱語言(
SELECT
,
DELETE
,
UPDATE
,
INSERT
)
DCL—數據控制語言(
GRANT
,
REVOKE
,
COMMIT
,
ROLLBACK
)
首先,簡要介紹基礎語句:
1
、說明:創建數據庫
CREATE
DATABASE
database
-
name
2
、說明:刪除數據庫
drop
database
dbname
3
、說明:備份sql server
--
- 創建 備份數據的 device
USE
master
EXEC
sp_addumpdevice
'
disk
'
,
'
testBack
'
,
'
c:\mssql7backup\MyNwind_1.dat
'
--
- 開始 備份
BACKUP
DATABASE
pubs
TO
testBack
4
、說明:創建新表
create
table
tabname(col1 type1
[
not null
]
[
primary key
]
,col2 type2
[
not null
]
,..)
根據已有的表創建新表:
A:
create
table
tab_new
like
tab_old (使用舊表創建新表)
B:
create
table
tab_new
as
select
col1,col2…
from
tab_old definition
only
5
、說明:刪除新表drop
table
tabname
6
、說明:增加一個列
Alter
table
tabname
add
column
col type
注:列增加后將不能刪除。DB2中列加上后數據類型也不能改變,唯一能改變的是增加varchar類型的長度。
7
、說明:添加主鍵:
Alter
table
tabname
add
primary
key
(col)
說明:刪除主鍵:
Alter
table
tabname
drop
primary
key
(col)
8
、說明:創建索引:
create
[
unique
]
index
idxname
on
tabname(col….)
刪除索引:
drop
index
idxname
注:索引是不可更改的,想更改必須刪除重新建。
9
、說明:創建視圖:
create
view
viewname
as
select
statement
刪除視圖:
drop
view
viewname
10
、說明:幾個簡單的基本的sql語句
選擇:
select
*
from
table1
where
范圍
插入:
insert
into
table1(field1,field2)
values
(value1,value2)
刪除:
delete
from
table1
where
范圍
更新:
update
table1
set
field1
=
value1
where
范圍
查找:
select
*
from
table1
where
field1
like
’
%
value1
%
’
--
-like的語法很精妙,查資料!
排序:
select
*
from
table1
order
by
field1,field2
[
desc
]
總數:
select
count
*
as
totalcount
from
table1
求和:
select
sum
(field1)
as
sumvalue
from
table1
平均:
select
avg
(field1)
as
avgvalue
from
table1
最大:
select
max
(field1)
as
maxvalue
from
table1
最?。?/span>
select
min
(field1)
as
minvalue
from
table1
11
、說明:幾個高級查詢運算詞
A:
UNION
運算符
UNION
運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)并消去表中任何重復行而派生出一個結果表。當
ALL
隨
UNION
一起使用時(即
UNION
ALL
),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。
B:
EXCEPT
運算符
EXCEPT
運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重復行而派生出一個結果表。當
ALL
隨
EXCEPT
一起使用時 (
EXCEPT
ALL
),不消除重復行。
C:
INTERSECT
運算符
INTERSECT
運算符通過只包括 TABLE1 和 TABLE2 中都有的行并消除所有重復行而派生出一個結果表。當
ALL
隨
INTERSECT
一起使用時 (
INTERSECT
ALL
),不消除重復行。
注:使用運算詞的幾個查詢結果行必須是一致的。
12
、說明:使用外連接
A、
left
outer
join
:
左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。
SQL:
select
a.a, a.b, a.c, b.c, b.d, b.f
from
a
LEFT
OUT
JOIN
b
ON
a.a
=
b.c
B:
right
outer
join
:
右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。
C:
full
outer
join
:
全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。
其次,大家來看一些不錯的sql語句
1
、說明:復制表(只復制結構,源表名:a 新表名:b) (Access可用)
法一:
select
*
into
b
from
a
where
1
<>
1
法二:
select
top
0
*
into
b
from
a
2
、說明:拷貝表(拷貝數據,源表名:a 目標表名:b) (Access可用)
insert
into
b(a, b, c)
select
d,e,f
from
b;
3
、說明:跨數據庫之間表的拷貝(具體數據使用絕對路徑) (Access可用)
insert
into
b(a, b, c)
select
d,e,f
from
b
in
‘具體數據庫’
where
條件
例子:..
from
b
in
'
"&Server.MapPath(".")&"\data.mdb" &"
'
where
..
4
、說明:子查詢(表名1:a 表名2:b)
select
a,b,c
from
a
where
a
IN
(
select
d
from
b ) 或者:
select
a,b,c
from
a
where
a
IN
(
1
,
2
,
3
)
5
、說明:顯示文章、提交人和最后回復時間
select
a.title,a.username,b.adddate
from
table
a,(
select
max
(adddate) adddate
from
table
where
table
.title
=
a.title) b
6
、說明:外連接查詢(表名1:a 表名2:b)
select
a.a, a.b, a.c, b.c, b.d, b.f
from
a
LEFT
OUT
JOIN
b
ON
a.a
=
b.c
7
、說明:在線視圖查詢(表名1:a )
select
*
from
(
SELECT
a,b,c
FROM
a) T
where
t.a
>
1
;
8
、說明:between的用法,between限制查詢數據范圍時包括了邊界值,
not
between不包括
select
*
from
table1
where
time
between
time1
and
time2
select
a,b,c,
from
table1
where
a
not
between
數值1
and
數值2
9
、說明:
in
的使用方法
select
*
from
table1
where
a
[
not
]
in
(‘值1’,’值2’,’值4’,’值6’)
10
、說明:兩張關聯表,刪除主表中已經在副表中沒有的信息
delete
from
table1
where
not
exists
(
select
*
from
table2
where
table1.field1
=
table2.field1 )
11
、說明:四表聯查問題:
select
*
from
a
left
inner
join
b
on
a.a
=
b.b
right
inner
join
c
on
a.a
=
c.c
inner
join
d
on
a.a
=
d.d
where
.....
12
、說明:日程安排提前五分鐘提醒
SQL:
select
*
from
日程安排
where
datediff
(
'
minute
'
,f開始時間,
getdate
())
>
5
13
、說明:一條sql 語句搞定數據庫分頁
select
top
10
b.
*
from
(
select
top
20
主鍵字段,排序字段
from
表名
order
by
排序字段
desc
) a,表名 b
where
b.主鍵字段
=
a.主鍵字段
order
by
a.排序字段
14
、說明:前10條記錄
select
top
10
*
form table1
where
范圍
15
、說明:選擇在每一組b值相同的數據中對應的a最大的記錄的所有信息(類似這樣的用法可以用于論壇每月排行榜,每月熱銷產品分析,按科目成績排名,等等.)
select
a,b,c
from
tablename ta
where
a
=
(
select
max
(a)
from
tablename tb
where
tb.b
=
ta.b)
16
、說明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重復行而派生出一個結果表
(
select
a
from
tableA )
except
(
select
a
from
tableB)
except
(
select
a
from
tableC)
17
、說明:隨機取出10條數據
select
top
10
*
from
tablename
order
by
newid
()
18
、說明:隨機選擇記錄
select
newid
()
19
、說明:刪除重復記錄
Delete
from
tablename
where
id
not
in
(
select
max
(id)
from
tablename
group
by
col1,col2,...)
20
、說明:列出數據庫里所有的表名
select
name
from
sysobjects
where
type
=
'
U
'
21
、說明:列出表里的所有的
select
name
from
syscolumns
where
id
=
object_id
(
'
TableName
'
)
22
、說明:列示type、vender、pcs字段,以type字段排列,case可以方便地實現多重選擇,類似select 中的case。
select
type,
sum
(
case
vender
when
'
A
'
then
pcs
else
0
end
),
sum
(
case
vender
when
'
C
'
then
pcs
else
0
end
),
sum
(
case
vender
when
'
B
'
then
pcs
else
0
end
)
FROM
tablename
group
by
type
顯示結果:
type vender pcs
電腦 A
1
電腦 A
1
光盤 B
2
光盤 A
2
手機 B
3
手機 C
3
23
、說明:初始化表table1
TRUNCATE
TABLE
table1
24
、說明:選擇從10到15的記錄
select
top
5
*
from
(
select
top
15
*
from
table
order
by
id
asc
) table_別名
order
by
id
desc
隨機選擇數據庫記錄的方法(使用Randomize函數,通過SQL語句實現)
對存儲在數據庫中的數據來說,隨機數特性能給出上面的效果,但它們可能太慢了些。你不能要求ASP“找個隨機數”然后打印出來。實際上常見的解決方案是建立如下所示的循環:
Randomize
RNumber
=
Int
(Rnd
*
499
)
+
1
While
Not
objRec.EOF
If
objRec("ID")
=
RNumber
THEN
... 這里是執行腳本 ...
end
if
objRec.MoveNext
Wend
這很容易理解。首先,你取出1到500范圍之內的一個隨機數(假設500就是數據庫內記錄的總數)。然后,你遍歷每一記錄來測試ID 的值、檢查其是否匹配RNumber。滿足條件的話就執行由THEN 關鍵字開始的那一塊代碼。假如你的RNumber 等于495,那么要循環一遍數據庫花的時間可就長了。雖然500這個數字看起來大了些,但相比更為穩固的企業解決方案這還是個小型數據庫了,后者通常在一個數據庫內就包含了成千上萬條記錄。這時候不就死定了?
采用SQL,你就可以很快地找出準確的記錄并且打開一個只包含該記錄的recordset,如下所示:
Randomize
RNumber
=
Int
(Rnd
*
499
)
+
1
SQL
=
"
SELECT
*
FROM
Customers
WHERE
ID
=
"
&
RNumber
set
objRec
=
ObjConn.
Execute
(SQL)
Response.WriteRNumber
&
"
=
"
&
objRec("ID")
&
" "
&
objRec("c_email")
不必寫出RNumber 和ID,你只需要檢查匹配情況即可。只要你對以上代碼的工作滿意,你自可按需操作“隨機”記錄。Recordset沒有包含其他內容,因此你很快就能找到你需要的記錄這樣就大大降低了處理時間。
再談隨機數
現在你下定決心要榨干Random 函數的最后一滴油,那么你可能會一次取出多條隨機記錄或者想采用一定隨機范圍內的記錄。把上面的標準Random 示例擴展一下就可以用SQL應對上面兩種情況了。
為了取出幾條隨機選擇的記錄并存放在同一recordset內,你可以存儲三個隨機數,然后查詢數據庫獲得匹配這些數字的記錄:
SQL
=
"
SELECT
*
FROM
Customers
WHERE
ID
=
"
&
RNumber
&
"
OR
ID
=
"
&
RNumber2
&
"
OR
ID
=
"
&
RNumber3
假如你想選出10條記錄(也許是每次頁面裝載時的10條鏈接的列表),你可以用BETWEEN 或者數學等式選出第一條記錄和適當數量的遞增記錄。這一操作可以通過好幾種方式來完成,但是
SELECT
語句只顯示一種可能(這里的ID 是自動生成的號碼):
SQL
=
"
SELECT
*
FROM
Customers
WHERE
ID
BETWEEN
"
&
RNumber
&
"
AND
"
&
RNumber
&
"
+
9
"
注意:以上代碼的執行目的不是檢查數據庫內是否有9條并發記錄。
隨機讀取若干條記錄,測試過
Access語法:
SELECT
top
10
*
From
表名
ORDER
BY
Rnd(id)
Sql server:
select
top
n
*
from
表名
order
by
newid
()
mysqlelect
*
From
表名
Order
By
rand
() Limit n
Access左連接語法(最近開發要用左連接,Access幫助什么都沒有,網上沒有Access的SQL說明,只有自己測試, 現在記下以備后查)
語法elect table1.fd1,table1,fd2,table2.fd2
From
table1
left
join
table2
on
table1.fd1,table2.fd1
where
...
使用SQL語句 用...代替過長的字符串顯示
語法:
SQL數據庫:
select
case
when
len
(field)
>
10
then
left
(field,
10
)
+
'
...
'
else
field
end
as
news_name,news_id
from
tablename
Access數據庫:
SELECT
iif(
len
(field)
>
2
,
left
(field,
2
)
+
'
...
'
,field)
FROM
tablename;
Conn.Execute說明
Execute方法
該方法用于執行SQL語句。根據SQL語句執行后是否返回記錄集,該方法的使用格式分為以下兩種:
1
.執行SQL查詢語句時,將返回查詢得到的記錄集。用法為:
Set
對象變量名
=
連接對象.
Execute
("SQL 查詢語言")
Execute方法調用后,會自動創建記錄集對象,并將查詢結果存儲在該記錄對象中,通過Set方法,將記錄集賦給指定的對象保存,以后對象變量就代表了該記錄集對象。
2
.執行SQL的操作性語言時,沒有記錄集的返回。此時用法為:
連接對象.
Execute
"SQL 操作性語句"
[
, RecordAffected
][
, Option
]
·RecordAffected 為可選項,此出可放置一個變量,SQL語句執行后,所生效的記錄數會自動保存到該變量中。通過訪問該變量,就可知道SQL語句隊多少條記錄進行了操作。
·
Option
可選項,該參數的取值通常為adCMDText,它用于告訴ADO,應該將Execute方法之后的第一個字符解釋為命令文本。通過指定該參數,可使執行更高效。
posted on 2008-09-18 17:47
黑色天使
閱讀(132)
評論(0)
編輯
收藏
引用
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2025年11月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆分類
C\C++(8)
Hacker(1)
STL
VC&MFC(4)
操作系統(1)
多進程&多線程
流媒體開發
內存管理技術(2)
軟件工程(1)
設計模式(20)
數據結構&算法(2)
網絡開發(3)
隨筆檔案
2011年4月 (1)
2011年3月 (2)
2009年7月 (1)
2009年6月 (2)
2009年3月 (1)
2009年2月 (3)
2009年1月 (3)
2008年12月 (5)
2008年11月 (1)
2008年10月 (3)
2008年9月 (3)
2008年8月 (23)
文章檔案
2011年3月 (1)
2009年6月 (1)
2008年11月 (1)
搜索
最新評論
1.?re: C++設計模式-Observer
評論內容較長,點擊標題查看
--no7dw
2.?re: YUV格式詳細解釋與FFMPEG的關系
評論內容較長,點擊標題查看
--windsome
3.?re: 鍵盤過濾驅動源代碼
@soul
再怎么懶也應該自己實現一部分吧
--黑色天使
4.?re: 鍵盤過濾驅動源代碼[未登錄]
再怎么懶也該加上unload例程吧
--soul
5.?re: CHttpDownLoad Beta 1.0
評論內容較長,點擊標題查看
--tangxinfa
閱讀排行榜
1.?RGB、YUY2、YUYV、YVYU、UYVY與AYUV(轉)(6740)
2.?YUV格式詳細解釋與FFMPEG的關系(4346)
3.?如何檢測內存泄漏(轉)(3921)
4.?memcpy的BUG(2749)
5.?內存池技術學習筆記(2383)
評論排行榜
1.?CHttpDownLoad Beta 1.0(10)
2.?memcpy的BUG(5)
3.?事件模型SOCKET封裝(2)
4.?鍵盤過濾驅動源代碼(2)
5.?C++設計模式-Observer(1)
Copyright ©2025 黑色天使 Powered By
博客園
模板提供:
滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
欧美尤物巨大精品爽
|
国产一区二区三区免费观看
|
亚洲国产精品成人综合
|
欧美成人在线网站
|
欧美日韩国产综合视频在线观看
|
亚洲免费一在线
|
久久蜜桃精品
|
一区二区三区视频观看
|
午夜精品影院
|
99精品视频一区
|
久久成人免费视频
|
日韩一级在线
|
久久黄色小说
|
亚洲欧美国产精品va在线观看
|
久久久久9999亚洲精品
|
亚洲午夜电影在线观看
|
久久在线免费观看视频
|
亚洲欧美一区二区激情
|
欧美激情精品久久久久久大尺度
|
亚洲一区二区三区免费在线观看
|
亚洲自啪免费
|
中文欧美在线视频
|
久久人人97超碰国产公开结果
|
亚洲乱码精品一二三四区日韩在线
|
久久综合伊人77777尤物
|
欧美人与禽猛交乱配
|
久久综合给合
|
国产亚洲激情
|
亚洲伦理自拍
|
亚洲人成77777在线观看网
|
欧美在线高清
|
久久成人综合视频
|
国产欧美日韩
|
亚洲素人一区二区
|
亚洲一区二区三区乱码aⅴ
|
欧美伦理a级免费电影
|
欧美成人性网
|
亚洲电影自拍
|
美女诱惑黄网站一区
|
免费影视亚洲
|
在线成人亚洲
|
麻豆成人小视频
|
免费不卡中文字幕视频
|
黄色成人免费观看
|
久久xxxx精品视频
|
久久美女艺术照精彩视频福利播放
|
国产精品久久久久av
|
一本久久a久久免费精品不卡
|
一区二区三区高清在线观看
|
欧美国产日本在线
|
欧美黄色小视频
|
亚洲人成7777
|
欧美日韩高清不卡
|
亚洲精品免费一区二区三区
|
激情欧美一区二区三区在线观看
|
久久国产精品99国产
|
久久久免费观看视频
|
精品999在线播放
|
久久一区二区三区四区五区
|
欧美电影打屁股sp
|
亚洲人成绝费网站色www
|
免费在线成人av
|
亚洲国产成人高清精品
|
日韩视频在线观看国产
|
欧美视频观看一区
|
亚洲欧美国产另类
|
蜜桃久久精品乱码一区二区
|
亚洲人成人一区二区三区
|
欧美日韩国产一区二区
|
亚洲永久免费精品
|
久久久噜噜噜久噜久久
|
91久久在线视频
|
国产精品盗摄久久久
|
久久成人免费视频
|
你懂的视频一区二区
|
亚洲精品一区二区网址
|
国产精品欧美日韩一区
|
久久精品一二三区
|
亚洲精品一区在线观看香蕉
|
久久大逼视频
|
亚洲乱码国产乱码精品精可以看
|
国产精品久久久久影院色老大
|
欧美一区二区日韩
|
激情国产一区二区
|
欧美日本不卡
|
久久这里只有精品视频首页
|
欧美岛国在线观看
|
亚洲另类自拍
|
国产日韩欧美精品一区
|
欧美14一18处毛片
|
亚洲欧美国产另类
|
欧美国产精品一区
|
亚洲欧美国产精品专区久久
|
一区在线影院
|
欧美三级特黄
|
久久亚洲综合色
|
亚洲午夜精品久久久久久浪潮
|
国产精品大片
|
免费久久99精品国产自在现线
|
在线亚洲免费
|
欧美电影免费观看大全
|
欧美在线综合
|
亚洲性感美女99在线
|
亚洲日本va午夜在线电影
|
国产自产在线视频一区
|
欧美视频在线观看免费
|
久久夜精品va视频免费观看
|
亚洲午夜极品
|
亚洲精品综合
|
欧美成人国产va精品日本一级
|
亚洲欧美在线一区二区
|
亚洲精品一区中文
|
国产综合色产
|
国产精品一区二区在线观看
|
欧美日本高清一区
|
玖玖视频精品
|
亚洲欧美日韩一区二区三区在线观看
|
亚洲黄色毛片
|
欧美激情成人在线
|
美女诱惑一区
|
久久精品99国产精品
|
亚洲欧美一区二区在线观看
|
一区二区三区视频免费在线观看
|
在线不卡亚洲
|
国产日韩一区欧美
|
国产精品一区二区久激情瑜伽
|
欧美日韩国产精品一区
|
男人的天堂成人在线
|
美女视频一区免费观看
|
久久久久久九九九九
|
久久精品亚洲热
|
久久九九电影
|
欧美在线视频一区
|
性色一区二区三区
|
久久成人免费日本黄色
|
一区二区三区偷拍
|
最新国产拍偷乱拍精品
|
伊人久久综合97精品
|
国产精品午夜国产小视频
|
欧美性开放视频
|
欧美午夜精品伦理
|
欧美性色综合
|
国产老肥熟一区二区三区
|
国产麻豆综合
|
国产午夜久久久久
|
国产亚洲综合在线
|
国产日韩欧美在线看
|
国产欧美欧洲在线观看
|
国产亚洲视频在线
|
激情欧美丁香
|
亚洲国产欧美另类丝袜
|
亚洲日本中文字幕区
|
一区二区高清视频
|
亚洲永久免费
|
欧美一区高清
|
麻豆成人综合网
|
亚洲黄色精品
|
亚洲私拍自拍
|
香蕉久久精品日日躁夜夜躁
|
久久成人免费网
|
国内精品伊人久久久久av一坑
|
亚洲最新色图
|
亚洲电影免费
|
一本久久知道综合久久
|
亚洲永久在线
|
国产亚洲日本欧美韩国
|
亚洲精品日日夜夜
|
在线观看成人小视频
|
国产嫩草一区二区三区在线观看
|
欧美久久久久久久久久
|
欧美高清视频在线
|
久久蜜臀精品av
|
欧美亚洲三区
|
亚洲视频免费在线
|
亚洲欧美另类在线
|
久久躁日日躁aaaaxxxx
|
欧美日韩国产一区二区
|
国产精品免费福利
|
伊人久久久大香线蕉综合直播
|
亚洲日本欧美在线
|
亚洲性感激情
|
蜜臀av一级做a爰片久久
|
欧美日韩午夜剧场
|
一区在线视频
|
亚洲影院色无极综合
|
欧美高清影院
|
亚洲欧美日韩人成在线播放
|
欧美不卡视频
|
国产一区二区三区久久
|
日韩亚洲欧美一区
|
久久噜噜噜精品国产亚洲综合
|
亚洲精品国产欧美
|
久久aⅴ国产欧美74aaa
|
欧美日韩成人综合
|
亚洲电影中文字幕
|
久久精品国产99国产精品
|
亚洲影视在线
|
一本色道久久88亚洲综合88
|
亚洲免费电影在线
|
亚洲国产成人精品视频
|