锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
jdbc:mysql://127.0.0.1:3306/mybank?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
oracle涓嬫敮鎸佹墽琛屽鏉¤鍙ワ紝涓嬮潰3涓浉鍚?/p>
foreach鐨勪富瑕佺敤鍦ㄦ瀯寤篿n鏉′歡涓紝瀹冨彲浠ュ湪SQL璇彞涓繘琛岃凱浠d竴涓泦鍚堛俧oreach鍏冪礌鐨勫睘鎬т富瑕佹湁 item錛宨ndex錛宑ollection錛宱pen錛宻eparator錛宑lose銆俰tem琛ㄧず闆嗗悎涓瘡涓涓厓绱犺繘琛岃凱浠f椂鐨勫埆鍚嶏紝index鎸?瀹氫竴涓悕瀛楋紝鐢ㄤ簬琛ㄧず鍦ㄨ凱浠h繃紼嬩腑錛屾瘡嬈¤凱浠e埌鐨勪綅緗紝open琛ㄧず璇ヨ鍙ヤ互浠涔堝紑濮嬶紝separator琛ㄧず鍦ㄦ瘡嬈¤繘琛岃凱浠d箣闂翠互浠涔堢鍙蜂綔涓哄垎闅?絎︼紝close琛ㄧず浠ヤ粈涔堢粨鏉燂紝鍦ㄤ嬌鐢╢oreach鐨勬椂鍊欐渶鍏抽敭鐨勪篃鏄渶瀹規(guī)槗鍑洪敊鐨勫氨鏄痗ollection灞炴э紝璇ュ睘鎬ф槸蹇呴』鎸囧畾鐨勶紝浣嗘槸鍦ㄤ笉鍚屾儏鍐?涓嬶紝璇ュ睘鎬х殑鍊兼槸涓嶄竴鏍風(fēng)殑錛屼富瑕佹湁涓涓?縐嶆儏鍐碉細(xì)
1. 濡傛灉浼犲叆鐨勬槸鍗曞弬鏁頒笖鍙傛暟綾誨瀷鏄竴涓狶ist鐨勬椂鍊欙紝collection灞炴у間負(fù)list
2. 濡傛灉浼犲叆鐨勬槸鍗曞弬鏁頒笖鍙傛暟綾誨瀷鏄竴涓猘rray鏁扮粍鐨勬椂鍊欙紝collection鐨勫睘鎬у間負(fù)array
3. 濡傛灉浼犲叆鐨勫弬鏁版槸澶氫釜鐨勬椂鍊欙紝鎴戜滑灝遍渶瑕佹妸瀹冧滑灝佽鎴愪竴涓狹ap浜嗭紝褰撶劧鍗曞弬鏁頒篃鍙互灝佽鎴恗ap錛屽疄闄呬笂濡傛灉浣犲湪浼犲叆鍙傛暟鐨勬椂鍊欙紝鍦╞reast閲岄潰涔熸槸浼?xì)鎶婂畠灏佽鎴愪竴涓狹ap鐨勶紝map鐨刱ey灝辨槸鍙傛暟鍚嶏紝鎵浠ヨ繖涓椂鍊檆ollection灞炴у煎氨鏄紶鍏ョ殑List鎴朼rray瀵硅薄鍦ㄨ嚜宸卞皝瑁呯殑map閲岄潰鐨刱ey
鎵歸噺鍒犻櫎
<delete id="batchDeleteStudent" parameterType="List">
DELETE FROM STUDENT WHERE id IN
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
鎵歸噺鏇存柊 娉ㄦ剰錛歰racle涓?褰㈠ update *** set *** where ** in(....) 榪欑璇彞 in鎵鍦ㄧ殑闆嗗悎鏈夋潯鏁伴檺鍒?涓?000鏉?/p>
<update id="batchUpdateStudent" parameterType="List">
UPDATE STUDENT SET name = "5566" WHERE id IN
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
#{item}
</foreach>
</update><update id="batchUpdateStudentWithMap" parameterType="Map" >
UPDATE STUDENT SET name = #{name} WHERE id IN
<foreach collection="idList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>
鎵歸噺鎻掑叆 mysql鍜宱racle涓嶄竴鏍?/p>
杞嚜錛?nbsp;http://blog.csdn.net/myjlvzlp/article/details/8434376
鍋囪鐜版湁涓寮犱漢鍛樿〃錛堣〃鍚嶏細(xì)Person錛夛紝鑻ユ兂灝嗗鍚嶃佽韓浠借瘉鍙楓佷綇鍧榪欎笁涓瓧孌靛畬鍏ㄧ浉鍚岀殑璁板綍鏌ユ壘鍑烘潵錛屼嬌鐢?/p>
1: SELECT p1.*
2: FROM persons p1,persons p2
3: WHERE p1.id<>p2.id
4: AND p1.cardid = p2.cardid
5: AND p1.pname = p2.pname
6: AND p1.address = p2.address
鍙互瀹炵幇璇ュ姛鑳姐?/p>
鍒犻櫎閲嶅璁板綍鐨凷QL璇彞
1.鐢╮owid鏂規(guī)硶
2.鐢╣roup by鏂規(guī)硶
3.鐢╠istinct鏂規(guī)硶
1銆傜敤rowid鏂規(guī)硶
鎹嵁oracle甯︾殑rowid灞炴э紝榪涜鍒ゆ柇錛屾槸鍚﹀瓨鍦ㄩ噸澶?璇彞濡備笅錛?nbsp;
鏌ユ暟鎹?
select * from table1 a where rowid !=(select max(rowid)
from table1 b where a.name1=b.name1 and a.name2=b.name2......)
鍒犳暟鎹細(xì)
delete from table1 a where rowid !=(select max(rowid)
from table1 b where a.name1=b.name1 and a.name2=b.name2......)2.group by鏂規(guī)硶
鏌ユ暟鎹?
select count(num), max(name) from student --鍒楀嚭閲嶅鐨勮褰曟暟錛屽茍鍒楀嚭浠栫殑name灞炴?nbsp;
group by num
having count(num) >1 --鎸塶um鍒嗙粍鍚庢壘鍑鴻〃涓璶um鍒楅噸澶嶏紝鍗沖嚭鐜版鏁板ぇ浜庝竴嬈?nbsp;
鍒犳暟鎹細(xì)
delete from student
group by num
having count(num) >1
榪欐牱鐨勮瘽灝辨妸鎵鏈夐噸澶嶇殑閮藉垹闄や簡銆?/p>3.鐢╠istinct鏂規(guī)硶 -瀵逛簬灝忕殑琛ㄦ瘮杈冩湁鐢?/p>
create table table_new as select distinct * from table1 minux
truncate table table1;
insert into table1 select * from table_new;
鏌ヨ鍙?qiáng)鍒犻櫎閲嶅璁板綍鐨勬栆?guī)硶澶у叏
1銆佹煡鎵捐〃涓浣欑殑閲嶅璁板綍錛岄噸澶嶈褰曟槸鏍規(guī)嵁鍗曚釜瀛楁錛坧eopleId錛夋潵鍒ゆ柇select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2銆佸垹闄よ〃涓浣欑殑閲嶅璁板綍錛岄噸澶嶈褰曟槸鏍規(guī)嵁鍗曚釜瀛楁錛坧eopleId錛夋潵鍒ゆ柇錛屽彧鐣欐湁rowid鏈灝忕殑璁板綍
delete from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)3銆佹煡鎵捐〃涓浣欑殑閲嶅璁板綍錛堝涓瓧孌碉級
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)4銆佸垹闄よ〃涓浣欑殑閲嶅璁板綍錛堝涓瓧孌碉級錛屽彧鐣欐湁rowid鏈灝忕殑璁板綍
delete from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)5銆佹煡鎵捐〃涓浣欑殑閲嶅璁板綍錛堝涓瓧孌碉級錛屼笉鍖呭惈rowid鏈灝忕殑璁板綍
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)(浜? 姣旀柟璇?鍦ˋ琛ㄤ腑瀛樺湪涓涓瓧孌?#8220;name”錛?nbsp;
鑰屼笖涓嶅悓璁板綍涔嬮棿鐨?#8220;name”鍊兼湁鍙兘浼?xì)鐩稿悓锛?nbsp;
鐜板湪灝辨槸闇瑕佹煡璇㈠嚭鍦ㄨ琛ㄤ腑鐨勫悇璁板綍涔嬮棿錛?#8220;name”鍊煎瓨鍦ㄩ噸澶嶇殑欏癸紱
Select Name,Count(*) From A Group By Name Having Count(*) > 1濡傛灉榪樻煡鎬у埆涔熺浉鍚屽ぇ鍒欏涓?
Select Name,sex,Count(*) From A Group By Name,sex Having Count(*) > 1(涓? 鏂規(guī)硶涓
declare @max integer,@id integer
declare cur_rows cursor local for select 涓誨瓧孌?count(*) from 琛ㄥ悕 group by 涓誨瓧孌?having count(*) >錛?1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
delete from 琛ㄥ悕 where 涓誨瓧孌?= @id
fetch cur_rows into @id,@max
end
close cur_rows
set rowcount 0
鏂規(guī)硶浜?/p>
錛傞噸澶嶈褰曪紓鏈変袱涓剰涔変笂鐨勯噸澶嶈褰曪紝涓鏄畬鍏ㄩ噸澶嶇殑璁板綍錛屼篃鍗蟲墍鏈夊瓧孌靛潎閲嶅鐨勮褰曪紝浜屾槸閮ㄥ垎鍏抽敭瀛楁閲嶅鐨勮褰曪紝姣斿Name瀛楁閲嶅錛岃屽叾浠栧瓧孌典笉涓瀹氶噸澶嶆垨閮介噸澶嶅彲浠ュ拷鐣ャ?/p>
1銆佸浜庣涓縐嶉噸澶嶏紝姣旇緝瀹規(guī)槗瑙e喅錛屼嬌鐢?/p>
select distinct * from tableName
灝卞彲浠ュ緱鍒版棤閲嶅璁板綍鐨勭粨鏋滈泦銆?/p>
濡傛灉璇ヨ〃闇瑕佸垹闄ら噸澶嶇殑璁板綍錛堥噸澶嶈褰曚繚鐣?鏉★級錛屽彲浠ユ寜浠ヤ笅鏂規(guī)硶鍒犻櫎
select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
鍙戠敓榪欑閲嶅鐨勫師鍥犳槸琛ㄨ璁′笉鍛ㄤ駭鐢熺殑錛屽鍔犲敮涓绱㈠紩鍒楀嵆鍙В鍐熾?/p>
2銆佽繖綾婚噸澶嶉棶棰橀氬父瑕佹眰淇濈暀閲嶅璁板綍涓殑絎竴鏉¤褰曪紝鎿嶄綔鏂規(guī)硶濡備笅
鍋囪鏈夐噸澶嶇殑瀛楁涓篘ame,Address錛岃姹傚緱鍒拌繖涓や釜瀛楁鍞竴鐨勭粨鏋滈泦
select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)
鏈鍚庝竴涓猻elect鍗沖緱鍒頒簡Name錛孉ddress涓嶉噸澶嶇殑緇撴灉闆嗭紙浣嗗浜嗕竴涓猘utoID瀛楁錛屽疄闄呭啓鏃跺彲浠ュ啓鍦╯elect瀛愬彞涓渷鍘繪鍒楋級
(鍥? 鏌ヨ閲嶅
select * from tablename where id in (
select id from tablename
group by id
having count(id) > 1)
Oracle鏁版嵁瀵煎叆瀵煎嚭imp/exp
鍔熻兘錛歄racle鏁版嵁瀵煎叆瀵煎嚭imp/exp灝辯浉褰撲笌oracle鏁版嵁榪樺師涓庡浠姐?br />
澶у鎯呭喌閮藉彲浠ョ敤Oracle鏁版嵁瀵煎叆瀵煎嚭瀹屾垚鏁版嵁鐨勫浠藉拰榪樺師錛堜笉浼?xì)閫犳垚鏁版嵁鐨勪涪澶憋級銆?br /> Oracle鏈変釜濂藉錛岃櫧鐒朵綘鐨勭數(shù)鑴戜笉鏄湇鍔″櫒錛屼絾鏄綘瑁呬簡oracle瀹㈡埛绔紝騫跺緩绔嬩簡榪炴帴
錛堥氳繃Net Configuration Assistant娣誨姞姝g‘鐨勬湇鍔″懡鍚嶏紝鍏跺疄浣犲彲浠ユ兂鎴愭槸瀹㈡埛绔笌鏈嶅姟鍣ㄧ 淇簡鏉¤礬錛岀劧鍚庢暟鎹氨鍙互琚媺榪囨潵浜嗭級
榪欐牱浣犲彲浠ユ妸鏁版嵁瀵煎嚭鍒版湰鍦幫紝铏界劧鍙兘鏈嶅姟鍣ㄧ浣犲緢榪溿?br /> 浣犲悓鏍峰彲浠ユ妸dmp鏂囦歡浠庢湰鍦板鍏ュ埌榪滃鐨勬暟鎹簱鏈嶅姟鍣ㄤ腑銆?br /> 鍒╃敤榪欎釜鍔熻兘浣犲彲浠ユ瀯寤轟咯涓浉鍚岀殑鏁版嵁搴擄紝涓涓敤鏉ユ祴璇曪紝涓涓敤鏉ユ寮忎嬌鐢ㄣ?br />
鎵ц鐜錛氬彲浠ュ湪SQLPLUS.EXE鎴栬匘OS錛堝懡浠よ錛変腑鎵ц錛?br /> DOS涓彲浠ユ墽琛屾椂鐢變簬 鍦╫racle 8i 涓?nbsp; 瀹夎鐩綍\$ora10g\BIN琚緗負(fù)鍏ㄥ眬璺緞錛?br /> 璇ョ洰褰曚笅鏈塃XP.EXE涓嶪MP.EXE鏂囦歡琚敤鏉ユ墽琛屽鍏ュ鍑恒?br /> oracle鐢╦ava緙栧啓錛屾垜鎯砈QLPLUS.EXE銆丒XP.EXE銆両MP.EXE榪欎咯涓枃浠舵槸琚寘瑁呭悗鐨勭被鏂囦歡銆?br /> SQLPLUS.EXE璋冪敤EXP.EXE銆両MP.EXE浠栦滑鎵鍖呰9鐨勭被錛屽畬鎴愬鍏ュ鍑哄姛鑳姐?br />
涓嬮潰浠嬬粛鐨勬槸瀵煎叆瀵煎嚭鐨勫疄渚嬶紝鍚戝鍏ュ鍑虹湅瀹炰緥鍩烘湰涓婂氨鍙互瀹屾垚錛屽洜涓哄鍏ュ鍑哄緢綆鍗曘?br />鏁版嵁瀵煎嚭錛?br /> 1 灝嗘暟鎹簱TEST瀹屽叏瀵煎嚭,鐢ㄦ埛鍚峴ystem 瀵嗙爜manager 瀵煎嚭鍒癉:\daochu.dmp涓?br /> exp system/manager@TEST file=d:\daochu.dmp full=y
2 灝嗘暟鎹簱涓璼ystem鐢ㄦ埛涓巗ys鐢ㄦ埛鐨勮〃瀵煎嚭
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 灝嗘暟鎹簱涓殑琛╰able1 銆乼able2瀵煎嚭
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4 灝嗘暟鎹簱涓殑琛╰able1涓殑瀛楁filed1浠?00"鎵撳ご鐨勬暟鎹鍑?br /> exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
涓婇潰鏄父鐢ㄧ殑瀵煎嚭錛屽浜庡帇緙╂垜涓嶅お鍦ㄦ剰錛岀敤winzip鎶奷mp鏂囦歡鍙互寰堝ソ鐨勫帇緙┿?br /> 涓嶈繃鍦ㄤ笂闈㈠懡浠ゅ悗闈?鍔犱笂 compress=y 灝卞彲浠ヤ簡
鏁版嵁鐨勫鍏?br /> 1 灝咲:\daochu.dmp 涓殑鏁版嵁瀵煎叆 TEST鏁版嵁搴撲腑銆?br /> imp system/manager@TEST file=d:\daochu.dmp
涓婇潰鍙兘鏈夌偣闂錛屽洜涓烘湁鐨勮〃宸茬粡瀛樺湪錛岀劧鍚庡畠?yōu)鎶ラ敊锛屽璇ヨ〃灏变笉杩涜瀵煎叆銆?br /> 鍦ㄥ悗闈㈠姞涓?ignore=y 灝卞彲浠ヤ簡銆?br /> 2 灝哾:\daochu.dmp涓殑琛╰able1 瀵煎叆
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
鍩烘湰涓婁笂闈㈢殑瀵煎叆瀵煎嚭澶熺敤浜嗐備笉灝戞儏鍐墊垜鏄皢琛ㄥ交搴曞垹闄わ紝鐒跺悗瀵煎叆銆?br />
娉ㄦ剰錛?br /> 浣犺鏈夎凍澶熺殑鏉冮檺錛屾潈闄愪笉澶熷畠浼?xì)鎻惤C轟綘銆?br /> 鏁版嵁搴撴椂鍙互榪炰笂鐨勩傚彲浠ョ敤tnsping TEST 鏉ヨ幏寰楁暟鎹簱TEST鑳藉惁榪炰笂銆?/p>
鏁版嵁瀵煎嚭錛?br />exp hkb/hkb@boss_14 full=y file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbfull.log;
瀵煎嚭娉ㄦ剰浜嬮」錛氬鍑虹殑鏄綋鍓嶇敤鎴風(fēng)殑鐨勬暟鎹紝褰撳墠鐢ㄦ埛濡傛灉鏈塂BA鐨勬潈闄愶紝鍒欏鍑烘墍鏈夋暟鎹紒
鍚屽悕鐢ㄦ埛涔嬮棿鐨勬暟鎹鍏ワ細(xì)
imp hkb/hkb@xe file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbimp.log full=y
涓嶅悓鍚嶄箣闂寸殑鏁版嵁瀵煎叆錛?br />imp system/test@xe fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfull.dmp
log=c:\orabackup\hkbimp.log;