Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : sql

·ÀÖ¹SQL×¢Èë¹¥»÷µÄ×¢ÒâÊÂÏî

·ÀÖ¹SQL×¢Èë¹¥»÷µÄ×¢ÒâÊÂÏî
Ò». SQL Injection¼°Æä·À·¶µÄ»ù±¾ÖªÊ¶
¿ÉÄÜ´ó¼Ò¶¼ÖªµÀ£¬SQL×¢ÈëÖ÷ÒªÊÇÀûÓÃ×Ö·ûÐͲÎÊýÊäÈëµÄ¼ì²é©¶´¡£
±ÈÈç˵£¬³ÌÐòÖÐÓÐÕâÑùµÄ²éѯ£º
 string sql = "SELECT * from SiteUsers WHERE UserName='" + userName + "'";
ÆäÖеÄuserName²ÎÊýÊÇ´ÓÓû§½çÃæÉÏÊäÈëµÄ¡£
Èç¹ûÊÇÕý³£µÄÊäÈ룬±ÈÈç“Peter”£¬SQLÓï¾ä»á´®½Ó³É£º
 "SELECT * from SiteUsers WHERE UserName='Peter'";
Èç¹û¹¥»÷ÕßÊäÈëµÄÊÇÏÂÃæµÄ×Ö·û´®£º
  "xxx'; DROP TABLE SiteUsers WHERE 1=1 or UserName='xxx"
´ËʱSQLÓï¾ä»á±ä³ÉÏÂÃæÕâ¸öÑù×Ó£º
  "SELECT * from SiteUsers WHERE UserName='xxx'; DROP TABLE SiteUsers WHERE 1=1 or UserName='xxx'";
Æä½á¹û£¬µÃµ½Ö´ÐеÄÊÇÁ½¸öSQLÓï¾ä£¬µÚ¶þ¸öÓï¾äµÄºó¹û¾Í±È½ÏÑÏÖØÁË¡£
·ÀÖ¹×¢ÈëµÄ·½·¨ÆäʵºÜ¼òµ¥£¬Ö»Òª°ÑÓû§ÊäÈëµÄµ¥ÒýºÅ±ä³ÉË«·Ý¾ÍÐÐÁË£º
 string sql = "SELECT * from SiteUsers WHERE UserName='" + userName.Replace("'","''") + "'";
ÕâÑù£¬Èç¹ûÊäÈëµÄÊÇÉÏÃæÄÇÖÖ¶ñÒâ²ÎÊý£¬Õû¸öSQLÓï¾ä»á±ä³É£º
 "SELECT * from SiteUsers WHERE UserName='<STRONG>xxx''; DROP TABLE ......

SQLÓαêÔ­ÀíºÍʹÓ÷½·¨

SQLÓαêÔ­ÀíºÍʹÓ÷½·¨
Êý¾Ý¿â¿ª·¢¹ý³ÌÖУ¬µ±Äã¼ìË÷µÄÊý¾ÝÖ»ÊÇÒ»Ìõ¼Ç¼ʱ£¬ÄãËù±àдµÄÊÂÎñÓï¾ä´úÂëÍùÍùʹÓÃSELECT INSERT Óï¾ä¡£µ«ÊÇÎÒÃdz£³£»áÓöµ½ÕâÑùÇé¿ö£¬¼´´Óijһ½á¹û¼¯ÖÐÖðÒ»µØ¶ÁȡһÌõ¼Ç¼¡£ÄÇôÈçºÎ½â¾öÕâÖÖÎÊÌâÄØ£¿ÓαêΪÎÒÃÇÌṩÁËÒ»ÖÖ¼«ÎªÓÅÐãµÄ½â¾ö·½°¸¡£
1.1 ÓαêºÍÓαêµÄÓŵã
    ÔÚÊý¾Ý¿âÖУ¬ÓαêÊÇÒ»¸öÊ®·ÖÖØÒªµÄ¸ÅÄî¡£ÓαêÌṩÁËÒ»ÖÖ¶Ô´Ó±íÖмìË÷³öµÄÊý¾Ý½øÐвÙ×÷µÄÁé»îÊֶΣ¬¾Í±¾ÖʶøÑÔ£¬Óαêʵ¼ÊÉÏÊÇÒ»ÖÖÄÜ´Ó°üÀ¨¶àÌõÊý¾Ý¼Ç¼µÄ½á¹û¼¯ÖÐÿ´ÎÌáȡһÌõ¼Ç¼µÄ»úÖÆ¡£Óαê×ÜÊÇÓëÒ»ÌõT_SQL Ñ¡ÔñÓï¾äÏà¹ØÁªÒòΪÓαêÓɽá¹û¼¯£¨¿ÉÒÔÊÇÁãÌõ¡¢Ò»Ìõ»òÓÉÏà¹ØµÄÑ¡ÔñÓï¾ä¼ìË÷³öµÄ¶àÌõ¼Ç¼£©ºÍ½á¹û¼¯ÖÐÖ¸ÏòÌØ¶¨¼Ç¼µÄÓαêλÖÃ×é³É¡£µ±¾ö¶¨¶Ô½á¹û¼¯½øÐд¦Àíʱ£¬±ØÐëÉùÃ÷Ò»¸öÖ¸Ïò¸Ã½á¹û¼¯µÄÓαꡣÈç¹ûÔø¾­Óà C ÓïÑÔд¹ý¶ÔÎļþ½øÐд¦ÀíµÄ³ÌÐò£¬ÄÇôÓαê¾ÍÏñÄú´ò¿ªÎļþËùµÃµ½µÄÎļþ¾ä±úÒ»Ñù£¬Ö»ÒªÎļþ´ò¿ª³É¹¦£¬¸ÃÎļþ¾ä±ú¾Í¿É´ú±í¸ÃÎļþ¡£¶ÔÓÚÓÎ±ê¶øÑÔ£¬ÆäµÀÀíÊÇÏàͬµÄ¡£¿É¼ûÓαêÄܹ»ÊµÏÖ°´Ó봫ͳ³ÌÐò¶ÁÈ¡Æ½ÃæÎļþÀàËÆµÄ·½Ê½´¦ÀíÀ´×Ô»ù´¡±íµÄ½á¹û¼¯£¬´Ó¶ø°Ñ±íÖÐÊý¾ÝÒÔÆ½ÃæÎļþµÄÐÎʽ³ÊÏÖ¸ø³ÌÐò¡£
    ÎÒÃÇÖªµÀ¹ØÏµÊý¾Ý¿â¹ÜÀíϵͳʵÖÊÊÇà ......

SQLÖлñµÃEXECºóÃæµÄsqlÓï¾ä»ò·µ»ØÖµµÄ·½·¨

SQLÖлñµÃEXECºóÃæµÄsqlÓï¾ä»ò·µ»ØÖµµÄ·½·¨
ǰÑÔ£ºÔÚÊý¾Ý¿â³ÌÐò¿ª·¢µÄ¹ý³ÌÖÐ,ÎÒ勱ÃǾ­³£»áÅöµ½Ñ§Ï°ÀûÓÃEXECÀ´Ö´ÐÐÒ»¶ÎÐèÒª·µ»ØÄ³Ð©ÖµµÄsqlÓï¾ä£¨Í¨³£Êǹ¹Ô춯̬sqlÓï¾äʱʹÓã©£¬»òÕßÔÚÒ»¸öHTML´æ´¢¹ý³ÌÖÐÀûÓÃEXECµ÷ÓÃÁíÒ»¸öHTMLÓзµ»ØÖµµÄ´æ´¢¹ý³Ì£¨±ØÐë»ñµÃ·µ»ØÖµ£©£¬ÄÇôÈçºÎ»ñµÃÕâЩ·µ»ØÖµÄØ?
1.EXECÖ´ÐÐsqlÓï¾äµÄÇé¿ö
declare @rsql varchar(250)
declare @csql varchar(300)
declare @rc nvarchar(500)
declare @cstucount int
declare @ccount int
set @rsql='(select Classroom_id from EA_RoomTime where zc='+@zc+' and xq='+@xq+' and T'+@time+'=''·ñ'') and ClassroomType=''1'''
--exec(@rsql)
set @csql='select @a=sum(teststucount),@b=sum(classcount) from EA_ClassRoom where classroom_id in '
set @rc=@csql+@rsql
exec sp_executesql @rc,N'@a int output,@b int output',@cstucount output,@ccount output--½«execµÄ½á¹û·ÅÈë±äÁ¿ÖеÄ×ö·¨
--select @csql+@rsql
--select @cstucount
ÉÏÃæµÄ@rcÕâ¸öHTMLsqlÓï¾äµÄ¹¦ÄÜÊÇÕÒ³öÌØ¶¨Ê±¼ä¶ÎÀïËùÓÐÓпյĽÌÊÒÊýÁ¿ÒÔ¼°ÕâЩ½ÌÊÒËùÄÜÈÝÄɵÄѧÉúÈËÊý,ÒòÎªÉæ¼°µ½Ñ§Ï°¶¯Ì¬µÄsqlÓï¾ä£¨@csqlÕâ¾ä ......

SQLÐÐתÁеĶ¯Ì¬¹¹Ôì·½·¨

SQLÐÐתÁеĶ¯Ì¬¹¹Ôì·½·¨
/*¼ÙÉèÓÐÕÅѧÉú³É¼¨±í(tb)ÈçÏÂ:
ÐÕÃû ¿Î³Ì ·ÖÊý
ÕÅÈý ÓïÎÄ 74
ÕÅÈý Êýѧ 83
ÕÅÈý ÎïÀí 93
ÀîËÄ ÓïÎÄ 74
ÀîËÄ Êýѧ 84
ÀîËÄ ÎïÀí 94
Ïë±ä³É(µÃµ½ÈçϽá¹û)£º
ÐÕÃû ÓïÎÄ Êýѧ ÎïÀí
---- ---- ---- ----
ÀîËÄ 74 84 94
ÕÅÈý 74 83 93
-------------------
*/
create table tb(ÐÕÃû varchar(10) , ¿Î³Ì varchar(10) , ·ÖÊý int)
insert into tb values('ÕÅÈý' , 'ÓïÎÄ' , 74)
insert into tb values('ÕÅÈý' , 'Êýѧ' , 83)
insert into tb values('ÕÅÈý' , 'ÎïÀí' , 93)
insert into tb values('ÀîËÄ' , 'ÓïÎÄ' , 74)
insert into tb values('ÀîËÄ' , 'Êýѧ' , 84)
insert into tb values('ÀîËÄ' , 'ÎïÀí' , 94)
go
--SQL SERVER 2000 ¾²Ì¬SQL,Ö¸¿Î³ÌÖ»ÓÐÓïÎÄ¡¢Êýѧ¡¢ÎïÀíÕâÈýÃſγ̡£(ÒÔÏÂͬ)
select ÐÕÃû as ÐÕÃû ,
max(case ¿Î³Ì when 'ÓïÎÄ' then ·ÖÊý else 0 end) ÓïÎÄ,
max(case ¿Î³Ì when 'Êýѧ' then ·ÖÊý else 0 end) Êýѧ,
max(case ¿Î³Ì when 'ÎïÀí' then ·ÖÊý else 0 end) ÎïÀí
from tb
group by ÐÕÃû
--SQL SERVER 2000 ¶¯Ì¬SQL,Ö¸¿Î³Ì²»Ö¹ÓïÎÄ¡¢Êýѧ¡¢ÎïÀíÕâÈýÃſγ̡£(ÒÔÏ ......

ͬ²½Á½¸öSql server

--1:»·¾³
¡¡¡¡·þÎñÆ÷»·¾³:
¡¡¡¡»úÆ÷Ãû³Æ£º ZehuaDb
¡¡¡¡²Ù×÷ϵͳ£ºWindows 2000 Server
¡¡¡¡Êý¾Ý¿â°æ±¾£ºSQL 2000 Server ¸öÈ˰æ
¡¡¡¡¿Í»§¶Ë
¡¡¡¡»úÆ÷Ãû³Æ£ºZlp
¡¡¡¡²Ù×÷ϵͳ£ºWindows 2000 Server
¡¡¡¡Êý¾Ý¿â°æ±¾£ºSQL 2000 Server ¸öÈ˰æ
¡¡¡¡--2:½¨Óû§ÕʺÅ
¡¡¡¡ÔÚ·þÎñÆ÷¶Ë½¨Á¢ÓòÓû§ÕʺÅ
¡¡¡¡ÎҵĵçÄÔ¹ÜÀí->±¾µØÓû§ºÍ×é->Óû§->½¨Á¢
¡¡¡¡UserName:zlp
¡¡¡¡UserPwd:zlp
¡¡¡¡--3:ÖØÐÂÆô¶¯·þÎñÆ÷MSSQLServer
¡¡¡¡ÎҵĵçÄÔ->¿ØÖÆÃæ°æ->¹ÜÀí¹¤¾ß->·þÎñ->MSSQLServer ·þÎñ
¡¡¡¡(¸ü¸ÄΪ£ºÓòÓû§ÕʺÅ,ÎÒÃÇн¨µÄzlpÓû§ .\zlp,ÃÜÂë:zlp)
¡¡¡¡--4:°²×°·Ö·¢·þÎñÆ÷
¡¡¡¡A:ÅäÖ÷ַ¢·þÎñÆ÷
¡¡¡¡¹¤¾ß->¸´ÖÆ->ÅäÖ÷¢²¼¡¢¶©ÔÄ·þÎñÆ÷ºÍ·Ö·¢->ÏÂÒ»²½->ÏÂÒ»²½(ËùÓеľù²ÉÓÃĬÈÏÅäÖÃ)
¡¡¡¡B:ÅäÖ÷¢²¼·þÎñÆ÷
¡¡¡¡¹¤¾ß->¸´ÖÆ->´´½¨ºÍ¹ÜÀí·¢²¼->Ñ¡ÔñÒª·¢²¼µÄÊý¾Ý¿â(SZ)->ÏÂÒ»²½->¿ìÕÕ·¢²¼->ÏÂÒ»²½->
¡¡¡¡Ñ¡ÔñÒª·¢²¼µÄÄÚÈÝ->ÏÂÒ»²½->ÏÂÒ»²½->ÏÂÒ»²½->Íê³É
¡¡¡¡C:Ç¿ÖÆÅäÖö©ÔÄ·þÎñÆ÷(ÍÆÄ£Ê½,À­Ä£Ê½Óë´ËÀ×ͬ)
      ¹¤¾ß->¸´ÖÆ->ÅäÖ÷¢²¼¡¢¶©ÔÄ·þÎñÆ÷ºÍ·Ö·¢->¶©Ô ......

sql server Óë oracleÓï·¨¶Ô±È.

ORACLEÓëSQL SERVERÓï·¨Çø±ð
 
Ò»¡¢Êý¾ÝÀàÐÍ
ORACLEÓëSQL SERVERÔÚÊý¾ÝÀàÐ͵ĶԱÈÈçÏ£º
 
SQL SERVER
ORACLE
Êý×ÖÀàÐÍ
DECIMAL[(P[, S])]
NUMBER[(P[, S])]
NUMERIC[(P[, S])]
NUMBER[(P[, S])]
FLOAT[(N)]
NUMBER[(N)]
INT
NUMBER
SMALLINT
NUMBER
TINYINT
NUMBER
MONEY
NUMBER[19,4]
SMALLMONEY
NUMBER[19,4]
×Ö·ûÀàÐÍ
CHAR[(N)]
CHAR[(N)]
VARCHAR[(N)]
VARCHAR2[(N)]
ÈÕÆÚʱ¼äÀàÐÍ
DATETIME
DATE
SMALLDATETIME
DATE
ÆäËü
TEXT
CLOB
IMAGE
BLOB
BIT
NUMBER£¨1£©
  
¶þ¡¢±í£¨Ö÷¼ü¡¢Íâ¼ü¡¢CHECK¡¢UNIQUE¡¢DEFAULT¡¢INDEX£©
ÔÚ´´½¨±í¼°ÆäÖ÷¼ü¡¢Íâ¼ü¡¢CHECK¡¢UNIQUE¡¢DEFAULT¡¢INDEXʱ£¬SQL SERVER ÓëORACLEµÄÓï·¨´óÖÂÏàͬ¡£Ö÷񻂿±ðÈçÏ£º
£¨1£© Oracle¶¨Òå±í×ֶεÄdefaultÊôÐÔ½ô¸ú×Ö¶ÎÀàÐÍÖ®ºó£¬ÈçÏ£º
    Create table MZ_Ghxx
  ( ghlxh  number primay key ,
    rq     date   default sysdate not null,
  ….
  )
  ¶ø²»ÄÜд³É
    Create table MZ_Ghxx
  ( ghlxh&nb ......

sql server Óë oracleÓï·¨¶Ô±È.

ORACLEÓëSQL SERVERÓï·¨Çø±ð
 
Ò»¡¢Êý¾ÝÀàÐÍ
ORACLEÓëSQL SERVERÔÚÊý¾ÝÀàÐ͵ĶԱÈÈçÏ£º
 
SQL SERVER
ORACLE
Êý×ÖÀàÐÍ
DECIMAL[(P[, S])]
NUMBER[(P[, S])]
NUMERIC[(P[, S])]
NUMBER[(P[, S])]
FLOAT[(N)]
NUMBER[(N)]
INT
NUMBER
SMALLINT
NUMBER
TINYINT
NUMBER
MONEY
NUMBER[19,4]
SMALLMONEY
NUMBER[19,4]
×Ö·ûÀàÐÍ
CHAR[(N)]
CHAR[(N)]
VARCHAR[(N)]
VARCHAR2[(N)]
ÈÕÆÚʱ¼äÀàÐÍ
DATETIME
DATE
SMALLDATETIME
DATE
ÆäËü
TEXT
CLOB
IMAGE
BLOB
BIT
NUMBER£¨1£©
  
¶þ¡¢±í£¨Ö÷¼ü¡¢Íâ¼ü¡¢CHECK¡¢UNIQUE¡¢DEFAULT¡¢INDEX£©
ÔÚ´´½¨±í¼°ÆäÖ÷¼ü¡¢Íâ¼ü¡¢CHECK¡¢UNIQUE¡¢DEFAULT¡¢INDEXʱ£¬SQL SERVER ÓëORACLEµÄÓï·¨´óÖÂÏàͬ¡£Ö÷񻂿±ðÈçÏ£º
£¨1£© Oracle¶¨Òå±í×ֶεÄdefaultÊôÐÔ½ô¸ú×Ö¶ÎÀàÐÍÖ®ºó£¬ÈçÏ£º
    Create table MZ_Ghxx
  ( ghlxh  number primay key ,
    rq     date   default sysdate not null,
  ….
  )
  ¶ø²»ÄÜд³É
    Create table MZ_Ghxx
  ( ghlxh&nb ......
×ܼǼÊý:4346; ×ÜÒ³Êý:725; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [193] [194] [195] [196] 197 [198] [199] [200] [201] [202]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ