update a set a.name1 = b.name1, a.name2=b.name2
創(chuàng)新互聯(lián)公司于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目做網(wǎng)站、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元欒川做網(wǎng)站,已為上家服務(wù),為欒川各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
from 表A a, 表B b where a.id=b.id
如果您只是想要針對查詢到的資料進行一些簡單的新增、更新或刪除資料,您可以藉由ResultSet的一些方法來執(zhí)行,而不一定要撰寫SQL并執(zhí)行。
想要使用ResultSet直接進行新增、更新或刪除資料,在建立Statement時必須在createStatement()上指定 ResultSet.TYPE_SCROLL_SENSITIVE(或ResultSet.TYPE_SCROLL_INSENSITIVE,如果不想取得更新后的資料的話)與ResultSet.CONCUR_UPDATABLE,例如:
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
假如我們想要針對查詢到的資料進行更新的動作,我們先移動游標至想要更新的資料位置,然后使用updateXXX()等對應(yīng)的方法即可,最后記得使用 updateRow()讓更新生效,例如:
ResultSet result = stmt.executeQuery(
"SELECT * FROM message WHERE name='caterpillar'");
result.last();
result.updateString("name", "justin");
result.updateString("email", "justin@mail.com");
result.updateRow();
使用updateXXX()等方法之后,并不會馬上對資料庫生效,而必須執(zhí)行完updateRow()方法才會對資料庫進行操作,如果在 updateRow()前想要取消之前的updateXXX()方法,則可以使用cancelRowUpdates()方法取消。
如果想要新增資料,則先使用moveToInsertRow()移至新增資料處,執(zhí)行相對的updateXXX()方法,然后再執(zhí)行insertRow ()即可新增資料,例如:
ResultSet result = stmt.executeQuery(
"SELECT * FROM message WHERE name='caterpillar'");
result.moveInsertRow();
result.updateString("name", "caterpillar");
result.updateString("email", "caterpillar@mail.com");
result.updateString("subject", "test");
result.updateString("memo", "This is a test!");
result.insertRow();
如果想要刪除查詢到的某筆資料,則可以將游標移至該筆資料,然后執(zhí)行deleteRow()方法即可:
ResultSet result = stmt.executeQuery(
"SELECT * FROM message WHERE name='caterpillar'");
result.last();
result.deleteRow();
---------------------------------------------------------------
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATBALE);
ResultSet uprs=stmt.executeQuery("select username,sex from talbe_name");
uprs.last();
uprs.updateString(1,"aaa");
uprs.updateString(2,"男");
uprs.updateRow();
在數(shù)據(jù)庫的操作中,更新數(shù)據(jù),是很常見的情況。其中sql 請教update語句in多個值時,進行多次更新的方法為:
1、創(chuàng)建一個臨時表,用于演示sqlserver語法中update更新修改使用方法。
2、創(chuàng)建另外一個臨時表,用于演示如何將一個臨時表的數(shù)據(jù)更新到另外一個臨時表。
3、往臨時表中插入幾行測試數(shù)據(jù),其中的Total欄位都不插入值。
4、查詢臨時表中的測試數(shù)據(jù)select * from #tblUpdate;select * from #tblTotal。
5、使用update更新臨時表#tblUpdate中的Total結(jié)果,假設(shè)Total = num * price update #tblUpdate set Total = Num * Price。
6、再次查詢臨時表#tblUpdate的結(jié)果,可以看到之前為NULL的Total列都有值了。
注意事項:
SQL的核心部分相當于關(guān)系代數(shù),但又具有關(guān)系代數(shù)所沒有的許多特點,如聚集、數(shù)據(jù)庫更新等。它是一個綜合的、通用的、功能極強的關(guān)系數(shù)據(jù)庫語言。
update table set
pic = (select max(pic) from table where dmix = table.dmix and place != 0 and place is not null)
,place = (select max(place ) from table where dmix = table.dmix and place != 0 and place is not null)
where pic= 0 and place is null