SQL注入批量更新語句

2021-05-23 07:55:06 字數 1247 閱讀 5920

--sql 2000解決方法

declare @fieldtype sysname

set @fieldtype='varchar'

--刪除處理

declare hcforeach cursor global

forselect n'update '+quotename(o.name)+n' set  '+ quotename(c.name) + n' = replace(' + quotename(c.name) + ','''','''')'

from sysobjects o,syscolumns c,systypes t

where o.id=c.id

and objectproperty(o.id,n'isusertable')=1

and c.xusertype=t.xusertype

and t.name=@fieldtype

exec sp_msforeach_worker @command1=n'?'

--sql 2005 解決方法

declare  @t  varchar(255),@c  varchar(255) 

declare  table_cursor  cursor  for 

select a.name,b.name from  sysobjects  a,syscolumns  b 

where  a.id=b.id  and  a.xtype='u' 

and  (b.xtype=99  or  b.xtype=35  or  b.xtype=231  or  b.xtype=167) 

declare @str varchar(500)

--這裡是你要替換的字元

set @str=''

open  table_cursor  fetch  next  from  table_cursor 

into  @t,@c  while(@@fetch_status=0) 

begin     

exec('update  [' + @t + ']  set  [' + @c + ']=replace(cast([' + @c + '] as varchar(8000)),'''+@str+''','''')')     

fetch  next  from  table_cursor  into  @t,@c 

end 

close  table_cursor  deallocate  table_cursor

MySQL批量更新語句

update mytable set myfield case id when 1then value when 2then value when 3then value endwhere id in 1,2,3 例如 update categories set display order case...

SQL更新語句執行

分析器 解析知道這是一條更新語句 優化器 決定使用id索引 執行器 具體執行 包括執行 1之類的 redolog crash safe能力,write pos和checkpoint的概念。引擎層innodb,在資料庫讀取的時候不會用redolog合併,會用change buffer中的資料 binl...

MySql批量更新語句(UPDATE)

下面建立乙個名為 bhl tes 的資料庫,並建立名為 test user 的表,字段分別為 id age name create database ifnot exists bhl test 檢視結果 檢視結果 張三 18 男 趙四 17 女 劉五 16 男 周七 19 女 檢視結果 張三 whe...