重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
update a set a.name1 = b.name1, a.name2=b.name2
创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目做网站、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元栾川做网站,已为上家服务,为栾川各地企业和个人服务,联系电话:13518219792
from 表A a, 表B b where a.id=b.id
如果您只是想要针对查询到的资料进行一些简单的新增、更新或删除资料,您可以藉由ResultSet的一些方法来执行,而不一定要撰写SQL并执行。
想要使用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()等对应的方法即可,最后记得使用 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()等方法之后,并不会马上对资料库生效,而必须执行完updateRow()方法才会对资料库进行操作,如果在 updateRow()前想要取消之前的updateXXX()方法,则可以使用cancelRowUpdates()方法取消。
如果想要新增资料,则先使用moveToInsertRow()移至新增资料处,执行相对的updateXXX()方法,然后再执行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();
如果想要删除查询到的某笔资料,则可以将游标移至该笔资料,然后执行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();
在数据库的操作中,更新数据,是很常见的情况。其中sql 请教update语句in多个值时,进行多次更新的方法为:
1、创建一个临时表,用于演示sqlserver语法中update更新修改使用方法。
2、创建另外一个临时表,用于演示如何将一个临时表的数据更新到另外一个临时表。
3、往临时表中插入几行测试数据,其中的Total栏位都不插入值。
4、查询临时表中的测试数据select * from #tblUpdate;select * from #tblTotal。
5、使用update更新临时表#tblUpdate中的Total结果,假设Total = num * price update #tblUpdate set Total = Num * Price。
6、再次查询临时表#tblUpdate的结果,可以看到之前为NULL的Total列都有值了。
注意事项:
SQL的核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合的、通用的、功能极强的关系数据库语言。
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