sql更新语句中update set from用法

sql更新语句中update set from用法        执行一般的sql更新语句为updatetable_namesetcolumn_name=valuewherecolumn_name1=value1;但是我们有时候需要将某个表用的字段根据两个表中相关字段更新为另一个表中某个字段的数据,即a表中主键aid在b表中有个外键bid相关,b表中字段b需要根据a、b表对应id更新为a表中字段c的数据,如果根据以上的sql一条一条的更…

大家好,欢迎来到IT知识分享网。

        执行一般的sql更新语句为update table_name set column_name=value where column_name1=value1;但是我们有时候需要将某个表用的字段根据两个表中相关字段更新为另一个表中某个字段的数据,即a表中主键aid在b表中有个外键bid相关,b表中字段b需要根据a、b表对应id更新为a表中字段c的数据,如果根据以上的sql一条一条的更新会非常浪费时间,所以我们需要用到update set from的语句用法。

        在数据库中有一张表为student,如下所示:

sql更新语句中update set from用法

        如果以真实的情况来看的话,在一张学生表里,那么有些人的年龄是录入错误的,那么我们需要修改这些错误,在数据量非常大的情况下,这些数据修改起来是很费时间的,所以我们可以用一张excel表核对好所有学生信息,然后导入数据库,成为一张临时的表,如何用excel导入数据库请参见:https://mp.csdn.net/postedit/79943833。

以下为我们导入的临时表:

sql更新语句中update set from用法

其中student_id为生成的guid,那么我们现在需要根据名字在更新他们的年龄,执行以下sql语句:

update student set age=tm.age from temporary tm where student.name=tm.name

执行成功后,就可以看到我们的student表已经更新成功了:

sql更新语句中update set from用法

注:更新、删除等语句在执行后都不可以撤销,返回。所以在操作的时候已经要小心谨慎,如果担心操作失误,可以先备份数据库,或新建两张一样的表,先执行一次,成功后再到正式的表中执行。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24189.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信