¶à±íÁª½Ó²éѯ
Ò»¡¢¶à±íÁª½Ó²éѯµÄ·ÖÀà
¶à±íÁª½Ó²éѯʵ¼ÊÉÏÊÇͨ¹ý¸÷¸ö±íÖ®¼ä¹²Í¬ÁеĹØÁªÐÔÀ´²éѯÊý¾ÝµÄ£¬ËüÊǹØÏµÊý¾Ý¿â²éѯ×îÖ÷ÒªµÄÌØÕ÷¡£
Áª½Ó²éѯ¿É·ÖΪÈý´óÀ࣬·ÖÁíΪ£º
1£® ÄÚÁª½Ó¡£
2£® ÍâÁª½Ó¡£
3£® ½»²æÁª½Ó¡£
ÄÇôÎÒÃÇÒ»ÆðÀ´¿´Ò»ÏÂÈçºÎʹÓöà±íÁª½Ó²éѯ¡£
A. ÄÚÁª½Ó£ºÄÚÁª½ÓÊÇ×îµäÐÍ¡¢×î³£ÓõÄÁª½Ó²éѯ£¬Ëü¸ù¾Ý±íÖй²Í¬µÄÁÐÀ´½øÐÐÆ¥Å䣬ֻÓÐÂú×ãÆ¥ÅäµÄÌõ¼þµÄÊý¾Ý²ÅÄܱ»²éѯ³öÀ´¡£Í¨³££¬Á½¸ö±í´æÔÚÖ÷Íâ¼ü¹ØÏµÊ±»áʹÓõ½ÄÚÁª½Ó²éѯ¡£
ÄÚÁª½á³£Ê¹ÓÓ=”±È½ÏÔËËã·ûÀ´ÅжÏÁ½ÁÐÊý¾ÝÊÇ·ñÏàµÈ£¬ÔÚÕâÀïÎÒÃÇͨ¹ý¼¸¸öʵÀýÀ´Ñ§Ï°ÄÚÁª½Ó²éѯ¡£
a) ÏÈÔÚSQL Server 2005ÖÐн¨Á½¸ö±íusersTableºÍusersNote,Á½±íµÄÄÚÈÝÈçÏÂÃæµÄͼÖÐËùʾ¡£
±íusersTable
±íusersNote
b) ÔÚ½¨ºÃÏàÓ¦µÄ±íºó£¬ÎÒÃǾͿÉÒÔ½øÐжà±í²éѯÁË£¬Ê×ÏÈÄÚÁª½ÓÎÒÃÇÓÐÁ½ÖÖ·½Ê½À´²éѯ¡£
µÚÒ»ÖÖ£ºÖ±½ÓÔÚWhereÌõ¼þÀïͨ¹ý±í´ïʽÀ´½ ......
1.ʲô½ÐSQL×¢È룿ÈçºÎ·ÀÖ¹£¿Çë¾ÙÀý˵Ã÷
´ð£ºSQL×¢ÈëÊdz£¼ûµÄÀûÓóÌÐò©¶´½øÐй¥»÷µÄ·½·¨¡£µ¼ÖÂsql×¢Èë¹¥»÷²¢·ÇϵͳÔì³ÉµÄ£¬Ö÷ÒªÊdzÌÐòÖкöÂÔÁ˰²È«ÒòËØ£¬ÀûÓÃsqlÓïÑÔ©¶´»ñµÃºÏ·¨Éí·ÝµÇ½ϵͳ
ÀýÈ磺
"Select * from users where name='"+uName+"' and pwd='"+uPwd+"' "
ÈçÓû§ÔÚt_nameÖÐÊäÈëtom’ or 1=‘1 ¾Í¿ÉÒÔ½øÈëϵͳÁË¡£
Éú³ÉÓï¾ä£º
Select * from users where name = ‘tom’ or 1=‘1’ and pwd=‘123’
·ÀÖ¹sql×¢ÈëµÄ·½·¨ÓÐÈçϼ¸µã£º
ʹÓòÎÊý»¯¹ýÂËÓï¾ä
ÔÚwebÓ¦ÓóÌÐòµÄ¿ª·¢¹ý³ÌÖÐËùÓн׶Îʵʩ´úÂ밲ȫ¼ì²ì
ʹÓô洢¹ý³Ì
......
alert index mem_ct monitoring usage;
desc v$object_usage;
set linesize 190
select * from v$object_usage;
SQL>SET AUTOTRACE ON;
¡¡¡¡*autotrace¹¦ÄÜÖ»ÄÜÔÚSQL*PLUSÀïʹÓÃ
¡¡¡¡ÆäËûһЩʹÓ÷½·¨£º
¡¡¡¡2.2.1¡¢ÔÚSQLPLUSÖеõ½Óï¾ä×ܵÄÖ´ÐÐʱ¼ä
¡¡¡¡SQL> set timing on;
2.2.2¡¢Ö»ÏÔʾִÐмƻ®--(»áͬʱִÐÐÓï¾äµÃµ½½á¹û)
¡¡¡¡SQL>set autotrace on explain
¡¡¡¡±ÈÈ磺
¡¡¡¡sql> select count(*) from test;
¡¡¡¡count(*)
¡¡¡¡-------------
¡¡¡¡4
¡¡¡¡Execution plan
¡¡¡¡----------------------------
¡¡¡¡0 select statement ptimitzer=choose (cost=3 card=1)
¡¡¡¡1 0 sort(aggregate)
¡¡¡¡2 1 partition range(all)
¡¡¡¡3 2 table access (full) of 't_test' (cost=3 card=900)
¡¡¡¡2.2.3¡¢Ö»ÏÔʾͳ¼ÆÐÅÏ¢---(»áͬʱִÐÐÓï¾äµÃµ½½á¹û)
¡¡¡¡SQL>set autotrace on statistics;
¡¡¡¡(±¸×¢£º¶ÔÓÚSYSÓû§£¬Í³¼ÆÐÅÏ¢½«»áÊÇ0)
¡¡¡¡2.2.4¡¢ÏÔʾִÐмƻ®£¬ÆÁ±ÎÖ´Ðнá¹û--(µ«Óï¾äʵÖÊ»¹Ö´ÐеÄ
¡¡¡¡SQL> set autotrace on traceonly;
¡¡¡¡(±¸×¢£ºÍ¬SET AUTOTRACE ON; Ö»²»¹ý²»ÏÔʾ½á¹û£¬ÏÔʾ¼Æ»®ºÍͳ¼Æ)
¡¡¡¡2.2.5¡¢½ ......
alert index mem_ct monitoring usage;
desc v$object_usage;
set linesize 190
select * from v$object_usage;
SQL>SET AUTOTRACE ON;
¡¡¡¡*autotrace¹¦ÄÜÖ»ÄÜÔÚSQL*PLUSÀïʹÓÃ
¡¡¡¡ÆäËûһЩʹÓ÷½·¨£º
¡¡¡¡2.2.1¡¢ÔÚSQLPLUSÖеõ½Óï¾ä×ܵÄÖ´ÐÐʱ¼ä
¡¡¡¡SQL> set timing on;
2.2.2¡¢Ö»ÏÔʾִÐмƻ®--(»áͬʱִÐÐÓï¾äµÃµ½½á¹û)
¡¡¡¡SQL>set autotrace on explain
¡¡¡¡±ÈÈ磺
¡¡¡¡sql> select count(*) from test;
¡¡¡¡count(*)
¡¡¡¡-------------
¡¡¡¡4
¡¡¡¡Execution plan
¡¡¡¡----------------------------
¡¡¡¡0 select statement ptimitzer=choose (cost=3 card=1)
¡¡¡¡1 0 sort(aggregate)
¡¡¡¡2 1 partition range(all)
¡¡¡¡3 2 table access (full) of 't_test' (cost=3 card=900)
¡¡¡¡2.2.3¡¢Ö»ÏÔʾͳ¼ÆÐÅÏ¢---(»áͬʱִÐÐÓï¾äµÃµ½½á¹û)
¡¡¡¡SQL>set autotrace on statistics;
¡¡¡¡(±¸×¢£º¶ÔÓÚSYSÓû§£¬Í³¼ÆÐÅÏ¢½«»áÊÇ0)
¡¡¡¡2.2.4¡¢ÏÔʾִÐмƻ®£¬ÆÁ±ÎÖ´Ðнá¹û--(µ«Óï¾äʵÖÊ»¹Ö´ÐеÄ
¡¡¡¡SQL> set autotrace on traceonly;
¡¡¡¡(±¸×¢£ºÍ¬SET AUTOTRACE ON; Ö»²»¹ý²»ÏÔʾ½á¹û£¬ÏÔʾ¼Æ»®ºÍͳ¼Æ)
¡¡¡¡2.2.5¡¢½ ......
³£Ó㺠Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 12): 060516 Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 ......
1¡¢²éѯÁ½¸öʱ¼äÖ®¼ä
select * from [tablename] where date between \'value1\' and \'value2\'
2¡¢ÏÔʾ×îºó»Ø¸´Ê±¼ä
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
3¡¢Èճ̰²ÅÅÌáǰ5·ÖÖÓÌáÐÑ
select * from Èճ̰²ÅÅ where datediff('minute',f¿ªÊ¼Ê±¼ä,getdate())>5
4¡¢ÅжÏÊÇ·ñΪÈòÄê
SELECT case day(dateadd(mm, 2, dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)))) when 28 then 'ƽÄê' else 'ÈòÄê' end
5¡¢±È½Ï2¸öÈÕÆÚ²îСÓÚ1·ÖÖÓ¡£ÈÕÆÚ¸ñʽΪyyyy-MM-dd HH:mm:ss
DATEDIFF(MS,TIME1,TIME2)<1
6¡¢»ñÈ¡µ±ÔÂ×ÜÌìÊý
select DATEDIFF(dd,getdate(),DATEADD(mm, 1, getdate()))
select datediff(day,dateadd(mm, datediff(mm,'',getdate()), ''),
dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))
--WAITFOR
--Àý µÈ´ý1 Сʱ2 ·ÖÁã3 Ãëºó²ÅÖ´ÐÐSELECT Óï¾ä
waitfor delay ’01:02:03’
select * from employee
--Àý µÈµ½ÍíÉÏ11 µãÁã8 ·Öºó²ÅÖ´ÐÐSELECT Óï¾ä
waitfor time ’23:0 ......
* ×î½üÒòΪ¿ª·¢»î¶¯ÐèÒª,ÓÃÉÏÁËEclipse,²¢ÒªÇóʹÓþ«¼ò°æµÄSQL(¼´ 2005)À´½øÐпª·¢ÏîÄ¿ *
1.×¼±¸¹¤×÷: ×¼±¸Ïà¹ØµÄÈí¼þ(Eclipse³ýÍâ,¿ªÔ´Èí¼þ¿ÉÒÔ´Ó¹ÙÍøÏÂÔØ)
<1>.Microsoft 2005 Express Edition
ÏÂÔØµØÖ·:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE
<2>. Management Studio
ÏÂÔØµØÖ·:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796#filelist
<3>. 2005 driver for JDBC
ÏÂÔØµØÖ·:http://download.microsoft.com/download/8/B/D/8BDABAE2-B6EA-41D4-B903-7916EF3690EF/sqljdbc_1.2.2323.101_enu.exe
2.¶¼ÏÂÔØÍêÖ®ºó¿ªÊ¼½øÐа²×° ,ǰÁ½¸öÊÇÊôÓÚÊý¾Ý¿âÈí¼þ,Õý³£°²×°¼´¿É(×¢ÒâµÇ½²»ÒªÊ¹ÓÃwindowsÑéÖ¤)
<1> ½«JDBC½âѹËõµ½ÈÎÒâλÖÃ,±ÈÈç½âѹµ½CÅÌprogram filesÏÂÃæ,²¢ÔÚ°²×°Ä¿Â¼ÀïÕÒµ½sqljdbc.jarÎļþ,µÃµ½Æä·¾¶¿ªÊ¼ÅäÖû·¾³±äÁ¿
ÔÚ»·¾³±äÁ¿cl ......