sql更新语句中updatesetfrom⽤法
执⾏⼀般的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,如下所⽰:
如果以真实的情况来看的话,在⼀张学⽣表⾥,那么有些⼈的年龄是录⼊错误的,那么我们需要修改这些错误,在数据量⾮常⼤的情况下,这些数据修改起来是很费时间的,所以我们可以⽤⼀张excel表核对好所有学⽣信息,然后导⼊数据库,成为⼀张临时的表,如何⽤excel导⼊数据库请参见:mp.csd
n/postedit/79943833。
以下为我们导⼊的临时表:
其中student_id为⽣成的guid,那么我们现在需要根据名字在更新他们的年龄,执⾏以下sql语句:
sql中update什么意思update student set age=tm.age from temporary tm where student.name=tm.name
执⾏成功后,就可以看到我们的student表已经更新成功了:
注:更新、删除等语句在执⾏后都不可以撤销,返回。所以在操作的时候已经要⼩⼼谨慎,如果担⼼操作失误,可以先备份数据库,或新建两张⼀样的表,先执⾏⼀次,成功后再到正式的表中执⾏。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论