`
xiao_2012_wei
  • 浏览: 30443 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

更新表数据的那些事—DML之update

阅读更多

   在web项目开发中,离不开对数据库的操作,最近处理数据比较多,分享一下update的使用心得,其实主要是update  和 select 相结合。小生初入门,不充分的地方,欢迎更多的朋友帮忙补充。有遗漏的地方,还望勿喷,大家互相学习交流。

1. 想更新一张表A的某个字段a_name,值来自另外一张表B的b_name,两个表有关系。那么一个sql就可以搞定全表,update同时操作两张表:
    update A a, B b
set a.a_name = b.b_name
where a.id = b.id;

  以上需求也可以这样实现:
  update A a,(select * from B) b
set a.a_name = b.b_name
where a.id = b.id;

2. 有的情形是表的自关联,即更新一张表的某个字段,条件是该表的另一个字段:
   其实和上一种情况类似,但就得用情形1的下面那个方法了。
这里再来个新颖的形式,即把查询的结果,直接作为值执行sql语句:
   update table1 p1 set p1.attribute_id = (select p2.id
from table1 p2 where p1.attribute_name = p2.display_name
)

3. 更新全表的数据,但不是一刀切,即根据现有字段的意义来判断更新什么值。那么我们可以在set后面添加某些函数的。

  update product set  attr= decode ( type ,0,'ZS' ,1 ,'ZZ');
   该语句应该不难理解,当type=1时,set attr='ZS', ……

类似这种的,还有很多其他函数,比如replace:
    update table  set name=replace(keyword_name,'tmall,'yhd);
即将表的keyword_name字段里面的‘tmall’ 全部替换成‘yhd’,然后更新。

分享到:
评论

相关推荐

    DML练习:UPDATE,DELETE,INSERT操作 数据库实验报告

    DML练习:UPDATE,DELETE,INSERT操作 数据库实验报告

    MySQL DML - 更新和删除数据.md

    通过文档,您可以学习如何使用`UPDATE`语句更新表中的数据,以及如何使用`DELETE`语句删除表中的数据。 示例代码演示了更新单行和多行数据的方法,以及删除符合条件的数据和删除表中的所有数据的方法。每个示例都...

    MySQL-DML数据操作语言.sql

    MySql数据操作语言,包括 插入:insert、 修改:update、 删除:delete的相关语法和案例脚本。对学习MySql有很大的帮助。

    实验四 SQL语言的DML,DDL和DCL初步

    本次实验了解DML语言的INSERT、UPDATE、DELETE对数据的操作,学会SQL Server的查询分析器中用DML语言对表中的数据进行插入、删除和修改。了解DDL语言的CREATE、DROP、ALTER对视图的操作,学会SQL Server的查询分析器...

    DDL、DML和DCL的区别与理解.zip_DDL、DML和DCL的区别与理解_drop

    DDL、DML和DCL的区别与理解 ...DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

    DDL、DML和DCL的区别与理解

    总体解释: DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL(data definition language): DDL比DML要多,...

    MySQL数据操作-DML语句的使用

    DML(Data Manipulation Language)数据操作语言,是指对数据库进行增删改的操作指令,主要有INSERT、UPDATE、DELETE三种,代表插入、更新与删除,这是学习MySQL必要掌握的基本知识。 方语法中 [] 中内容可以省略。  ...

    SQL(结构化查询语言)用于管理关系型数据库的标准语言,主要用于在数据库中查询、插入、更新和修改数据

    DML是数据操作语言,包括选择(SELECT),插入(INSERT),更新(UPDATE),删除(DELETE)等命令。DCL是数据控制语言,主要包括授权(GRANT)和撤销(REVOKE)命令。TCL是事务控制语言,包括提交(COMMIT),回滚...

    MySQL之DML语言

    • DML(Data Manipulation Language –数据操纵语言) 可以在下列条件下执行: – 向表中插入数据 – 修改现存数据 – 删除现存数据 • 事务是由完成若干项工作的DML语句组成的。 插入(insert) 方式一 语法: insert...

    Hive DML

    要么drop掉整个表,要么建立新的表,导入新的数据。 load:加载数据到表 load data [local] inpath ‘filepath’ overwrite | into table 表名 [partition (partcol1=val1,…)]; 单纯的复制/移动:将 filepath 中...

    MySQL操作DML.docx

    mysql。数据库DML是数据库操作语言(Data Manipulation Language)的简称,主要用于对数据库中的数据进行增加、修改、删除等操作。它是SQL语言的一部分,用于实现对数据库...DML包括INSERT、UPDATE、DELETE等主要指令。

    详解mysql DML语句的使用

    前言: 在上篇文章中,主要为大家介绍的是DDL语句...DML(Data Manipulation Language):数据操纵语言,主要对表记录进行更新(增、删、改)。常见的有insert,update,delete等。 1.插入数据 插入数据主要用到的是inser

    Oracle数据操作和控制语言详解.pdf

    3. 更新数据 2 4. 删除数据 2 5. 清空表 2 6. SELECT FOR UPDATE 3 7. 锁定表 3 8. 死锁 4 9. 事务控制 4 10. Savepoint 和 部分回滚(Partial Rollback) 5 11. 一致性和事务 6 12. 建立和修改用户 8 13. 创建和更改...

    sql语句大全(详细).pdf

    UPDATE:更新数据 DELETE FROM:删除数据 SELECT:查询数据 数据查询语言 (DQL) WHERE:过滤行 ORDER BY:对结果进行排序 GROUP BY:根据一列或多列对结果进行分组 HAVING:对分组结果进行过滤 DISTINCT:返回唯一...

    Oraclet中的触发器

    INSTEAD_OF 用于对视图的DML触发,由于视图有可能是由多个表进行联结(join)而成,因而并非是所有的联结都是可更新的。但可以按照所需的方式执行更新,例如下面情况: CREATE OR REPLACE VIEW emp_view AS SELECT ...

    Oracle数据操作和控制语言详解

    北京 SQL语言共分为四大类:数据查询...语句用途INSERT向表中添加行UPDATE更新存储在表中的数据DELETE删除行SELECTFORUPDATE禁止其他用户访问DML语句正在处理的行。LOCKTABLE禁止其他用户在表中使用DML语句 插入数据

    MySQL Day02 数据管理及DML语言

    MySQL 数据管理DML语言 1 外键(了解即可) 流程图描述: MySQL代码测试: (首先将数据库中表清空,随后输入以下操作,要严格按照语句输入,不然会报错) 方式一、在创建表的时候,增加约束(比较麻烦,也比较复杂...

    Oracle数据库之表与表数据操作

    SQL语言分为四种,分别是:数据定义语言(DDL)、数据操纵语言(DCL)、事务控制语言(TCL)、数据控制语言(DML)。 1.1 数据定义语言(DDL) 建立、修改、删除数据库对象,如数据库、表、视图等。数据定义语言...

    SQL Server中的XML数据进行insert、update、delete

    本文以下面XML为例,对三种DML进行说明: declare @XMLVar xml = ‘ <catalog> ”ITPro”> <title>Windows Step By Step</title> <author>Bill Zack</author> <price>49.99</price> </book> <book ...

    4、数据库课程设计《SQL Server图书馆管理系统》之创建触发器源码

    本图书馆管理系统谨根据实际需求所创建,创建有如下八个数据表:Book(图书信息表),Dept(学生系部信息表),Major(学生专业信息表),Student(学生信息表),StudentBook(学生借阅图书信息表),Teacher...

Global site tag (gtag.js) - Google Analytics