精华内容
下载资源
问答
  • 在数据库中update后面跟
    千次阅读
    2021-04-18 18:48:18

    更新数据update

    语法:
    update表名 set字段1名字=字段1的值,字段2名字=字段2的值 where 条件。

    更新所有数据

    1)将所有人的成绩 设置为100
    update tb_user set score=100;
    

    根据条件更新

    1)将学号是6的学生,成绩设为59Update 表名 set score=59 where id=6;
    (2)将名字为ww的学生,成绩设置60Update 表名 set score=60 where name=”ww”;3)将学号是5的学生,成绩设置为99,名字“xl”;
    Update 表名 set score=99,name = “xl” where id =5;
    

    更新多个字段

    1)将所有人成绩,减去10Update 表名 set score = score * 0.7;
    Update 表名 set score = score - 10;
    
    更多相关内容
  • update inj_wash_updatelog g   set update_date =   (select nvl(washdate,subdate) from inj_wash_pro t where g.proid = t. proid);  MySql

    Oracle:

    [sql] view plain copy

    1. update inj_wash_updatelog g  
    2.  set update_date =  
    3.   (select nvl(washdate,subdate) from inj_wash_pro t where  g.proid = t. proid);  

    MySql

    [sql] view plain copy

    1. UPDATE tuser a,  
    2.     <span style="color:#ff0000;">(SELECT   
    3.         t.email, t.cellnum, g.id  
    4.     FROM  
    5.         tmp_table_user t  
    6.     INNER JOIN v_user_group g ON t.name = g.name  
    7.         AND (CASE  
    8.         WHEN ISNULL(t.team) OR t.team = '' THEN t.room  
    9.         ELSE t.team  
    10.     END) = g.GNAME  
    11.         AND (CASE  
    12.         WHEN ISNULL(t.team) OR t.team = '' THEN t.org  
    13.         ELSE t.room  
    14.     END) = g.pname) b</span>  
    15. SET   
    16.     a.email = b.email,  
    17.     a.phone = b.cellnum  
    18. WHERE  
    19.     a.id = b.id  

    红色部分为重点,update后面接了一个select表,可以以此表中字段做where条件或set语句等号后面的内容

    简单来说就是UPDATE后面可以接子查询,虽然前面这句话感觉怪怪的

    展开全文
  • mysql数据库Insert语句后加ONDUPLICATE KEY UPDATE,保证唯性如果INSERT语句末尾指定了ON DUPLICATE KEY UP
  • [数据库]MySQL 常用的UPDATE操作

    千次阅读 2021-03-03 20:54:45
    [数据库]MySQL 常用的UPDATE操作02015-12-02 20:00:09标签:UPDATE概述测试环境:mysql 5.6.21步骤创建测试表CREATE TABLE `product` ( `proID` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品表主键', `price` ...

    [数据库]MySQL 常用的UPDATE操作

    0

    2015-12-02 20:00:09

    标签:UPDATE

    概述

    测试环境:mysql 5.6.21

    步骤

    创建测试表CREATE TABLE `product` ( `proID` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品表主键', `price` decimal(10,2) NOT NULL COMMENT '商品价格', `type` int(11) NOT NULL COMMENT '商品类别(0生鲜,1食品,2生活)', `dtime` datetime NOT NULL COMMENT '创建时间', PRIMARY KEY (`proID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='商品表';CREATE TABLE `producttype` ( `ID` int(11) NOT NULL COMMENT '商品类别(0生鲜,1食品,2生活)', `amount` int(11) COMMENT '每种类别商品总金额', UNIQUE KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品类别资金汇总表'

    插入测试数据INSERT INTO product(price,type,dtime) VALUES(10.00,0,now()),(10.00,1,now()),(10.00,1,now()),(20.00,2,now()),(30.00,3,now());INSERT INTO producttype(ID) VALUES(1),(2),(3);

    SELECT * FROM product;SELECT * FROM producttype;

    bc91bb04e6e9c61e24c974e4440db8f2.gif

    单表更新操作UPDATE productSET price='20.00',type=0 WHERE proID=2;

    bc91bb04e6e9c61e24c974e4440db8f2.gif

    关联更新操作UPDATE producttype,productSET producttype.amount=product.pricewhere product.TYPE = producttype.ID AND product.TYPE=1;

    bc91bb04e6e9c61e24c974e4440db8f2.gif

    1.查询所有字段INSERT INTO producttype(ID) VALUES(4);

    UPDATE producttypeSET producttype.amount= (SELECT ifnull(SUM(product.price),0.00) FROM product WHERE product.TYPE = producttype.ID GROUP BY product.TYPE);

    bc91bb04e6e9c61e24c974e4440db8f2.gif

    注意:大家注意看到rows matched:4,表示符合条件的记录是4条,实际更新了三条,关联语句默认不去判断里面的关联的时间行。

    2.只查询需要更新的字段UPDATE producttypeSET amount=null;

    UPDATE producttype,product SET producttype.amount= (SELECT ifnull(SUM(product.price),0.00) FROM product WHERE product.TYPE = producttype.ID GROUP BY product.TYPE) where product.TYPE = producttype.ID;

    bc91bb04e6e9c61e24c974e4440db8f2.gif

    改用下面这种方法:Rows matched:3,查询到了符合条件的行是3行,没有查询无关联的行。

    总结

    mysql的update的关联操作在5.6中后面不能直接接FROM语句,只能UPDATE 所有的连接表然后WHERE,如果之前有事情其它数据库产品的习惯在这里要注意了。

    文章如果对大家有帮助,请帮忙推荐,谢谢!!!

    备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

    本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

    《欢迎交流讨论》

    ---恢复内容结束---

    本文网址:http://www.shaoqun.com/a/163920.html

    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

    MYSQL

    0

    展开全文
  • MySQL数据库更新语句update使用详解

    千次阅读 2021-03-14 19:17:22
    用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的...MySQL又多了一个REPLACE语句,二、UPDATEUPDATE的功能是更新表的数据。这的语法和INSERT的第二种用法相似。必须提供表名以及SET表达式...

    用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的

    SELECT语句,另外一种就是更新语句,也叫做数据操作语句。言外之

    意,就是对数据进行修改。在标准的SQL中有3个语句,它们是INSERT、UPDATE以及DELETE。在MySQL中又多了一个REPLACE语句,

    二、UPDATE

    UPDATE的功能是更新表中的数据。这的语法和INSERT的第二种用法相似。必须提供表名以及SET表达式,在后面可以加WHERE以限制更新的记录范围。

    UPDATE table_anem SET column_name1 = value1, column_name2 =

    value2, ...

    WHERE ... ;

    如下面的语句将users表中id等于123的记录的age改为24

    UPDATE users SET age = 24 WHERE id = 123;

    同样,可以使用UPDATE更新多个字段的值 UPDATE users SET age = 24, name = 'Mike'

    WHERE id = 123;

    上面的UPDATE语句通过WHERE指定一个条件,否则,UPDATE将更新表中的所有记录的值。

    在使用UPDATE更新记录时,如果被更新的字段的类型和所赋的值不匹配时,MySQL将这个值转换为相应类型的值。如果这个字段是数值类型,而且所赋值超过了这个数据类型的最大范围,那么MySQL就将这个值转换为这个范围最大或最小值。如果字符串太长,MySQL就将多余的字符串截去。如果设置非空字段为空,那么将这个字段设置为它们的默认值,数字的默认值是0,字符串的默认值是空串(不是null,是"")。

    有两种情况UPDATE不会对影响表中的数据。

    1. 当WHERE中的条件在表中没有记录和它匹配时。

    2. 当我们将同样的值赋给某个字段时,如将字段abc赋为'123',而abc的原值就是'123'。

    和INSERT、REPLACE一样,UPDATE也返回所更新的记录数。但这些记录数并不包括满足WHERE条件的,但却未被更新的记录。如下同的UPDATE语句就未更新任何记录。

    UPDATE users SET age = 30 WHERE id = 12;

    Query OK, 0 rows affected (0.00 sec)

    需要注意的时,如果一个字段的类型是TIMESTAMP,那么这个字段在其它字段更新时自动更新。

    在有些时候我们需要得到UPDATE所选择的行数,而不是被更新的行数。我们可以通过一些API来达到这个目的。如MySQL提供的C

    API提供了一个选项可以得到你想要的记录数。而MySQL的JDBC驱动得到的默认记录数也是匹配的记录数。

    UPDATE和REPLACE基本类似,但是它们之间有两点不同。

    1. UPDATE在没有匹配记录时什么都不做,而REPLACE在有重复记录时更新,在没有重复记录时插入。

    2.

    UPDATE可以选择性地更新记录的一部分字段。而REPLACE在发现有重复记录时就将这条记录彻底删除,再插入新的记录。也就是说,将所有的字段都更新了。

    三、DELETE和TRUNCATE TABLE

    在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE

    TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE

    TABLE将删除表中的所有记录。因此,DELETE语句更灵活。

    如果要清空表中的所有记录,可以使用下面的两种方法:

    DELETE FROM table1

    TRUNCATE TABLE table1

    其中第二条记录中的TABLE是可选的。

    如果要删除表中的部分记录,只能使用DELETE语句。

    DELETE FROM table1 WHERE ...;

    如果DELETE不加WHERE子句,那么它和TRUNCATE

    TABLE是一样的,但它们有一点不同,那就是DELETE可以返回被删除的记录数,而TRUNCATE TABLE返回的是0。

    如果一个表中有自增字段,使用TRUNCATE

    TABLE和没有WHERE子句的DELETE删除所有记录后,这个自增字段将起始值恢复成1.如果你不想这样做的话,可以在DELETE语句中加上永真的WHERE,如WHERE

    1或WHERE true。

    DELETE FROM table1 WHERE 1;

    上面的语句在执行时将扫描每一条记录。但它并不比较,因为这个WHERE条件永远为true。这样做虽然可以保持自增的最大值,但由于它是扫描了所有的记录,因此,它的执行成本要比没有WHERE子句的DELETE大得多。

    DELETE和TRUNCATE

    TABLE的最大区别是DELETE可以通过WHERE语句选择要删除的记录。但执行得速度不快。而且还可以返回被删除的记录数。而TRUNCATE

    TABLE无法删除指定的记录,而且不能返回被删除的记录。但它执行得非常快。

    和标准的SQL语句不同,DELETE支持ORDER

    BY和LIMIT子句,通过这两个子句,我们可以更好地控制要删除的记录。如当我们只想删除WHERE子句过滤出来的记录的一部分,可以使用LIMIB,如果要删除后几条记录,可以通过ORDER

    BY和LIMIT配合使用。假设我们要删除users表中name等于"Mike"的前6条记录。可以使用如下的DELETE语句:

    DELETE FROM users WHERE name = 'Mike' LIMIT 6;

    一般MySQL并不确定删除的这6条记录是哪6条,为了更保险,我们可以使用ORDER BY对记录进行排序。

    展开全文
  • 详解MySQL数据库insert和update语句

    千次阅读 2021-01-27 15:41:40
    用于操作数据库的SQL一般分为两种,一种是...标准的SQL有3个语句,它们是INSERT、UPDATE以及DELETE。用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也...
  • 复制代码 代码如下:update table set user=concat(user,$user) where xx=xxx;
  • MySQL中UPDATE语句使用的实例教程

    千次阅读 2020-12-24 07:30:07
    一、UPDATE常见用法首先建立测试环境:DROP TABLE IF EXISTS t_test;CREATE TABLE t_test (bs bigint(20) NOT NULL auto_increment,username varchar(20) NOT NULL,password varchar(20) default NULL,remark ...
  • 数据库 update后where语句的IN、EXISTS的效率测试
  • 数据库使用的是独占式封锁机制,当执行对应的SQL语句时(INSERT、UPDATE、DELETE),我们的表就会被锁住,直到commite、回滚或者退出数据库用户,才能执行下一条。 这里的细节和数据库的事务并发问题有关 事务的...
  • oracle数据库中update语句的用法

    万次阅读 2017-06-27 18:41:24
    表t_test设置第二条记录(bs为2)的password为'***'。 update t_test t   set t.password = '***'   where t.bs = 2;   2、set多个字段 表t_test设置第一条记录(bs为1)的password为'*'、remark...
  • INTO后面加表名,属性列名可以与表属性列排列顺序不一致,如【例3.69】,但VALUES后跟的值必须与所给属性列相对应,也可以省去,如【例3.70】,但省去后,VALUES后面跟的元组值必须与表顺序完全一致。...
  • update语句

    千次阅读 2021-04-17 08:23:24
    手机评站网今天精心准备的是《update语句》,下面是详解!SQL的update语句怎么写?当a列的值为f时,对x表的b,c,d,e列同时更新数据...当a列的值为f时,对x表的b,c,d,e列同时更新数据UPDATE 表名称 SET 列名称 = ...
  • sql的for update

    千次阅读 2021-09-03 09:44:20
    for update在数据库中上锁用的,可以为数据库中的行上一个排它锁。当一个事务的操作未完成时候,其他事务可以读取但是不能写入或更新。 例子: 比如一张表三个字段 , id(商品id), name(商品名字) , count...
  • MySQL数据库insert和update语句

    千次阅读 2016-04-11 10:16:19
    MySQL数据库insert和update语句 ...标准的SQL有3个语句,它们是INSERT、UPDATE以及DELETE。 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新
  • JSP使用数据库

    千次阅读 2021-11-11 10:14:02
    一、首先连接数据库在数据库中建立一个名为Book的数据库(名字自己取其他的也行),新建一个名为booklist的表,添加内容 如图: 记住自己的用户名以及密码,之后要用到 一般MySQL的是root ; sql service 的...
  • 首先先来简单说明下mysql的结构,存储数据我们是在数据库中完成的,也就是database。database又有很多表,这个表里面就存有我们想要存储的数据。对于存储数据的表我们一般称为xxx表,比如用户表,商品表,价格表...
  • 文章目录一、下载数据库1.新建数据传输,将数据库安装包上传至虚拟机2.安装数据库二、设置用户,更改权限三、使用数据库 一、下载数据库 数据库安装资源 1.新建数据传输,将数据库安装包上传至虚拟机 2.安装...
  • 数据库外键定义的一个可选项,用来设置当主键表的被参考列的数据发生变化时,...on update 和 on delete 后面可以的词语有四个 no action , set null , set default ,cascade no action 表示 不做任何操作...
  • mysql中update和select结合使用

    千次阅读 2022-04-21 14:32:56
    遇到需要update设置的参数来自从其他表select出的结果时,需要把update和select结合使用,不同数据库支持的形式不一样,mysql如下: update A inner join(select id,name from B) c on A.id = c.id set A.name = c...
  •  工作有个需求,现在新表有一些数据老表的基本一样,这样只需要把老表数据搬到新表就可以了,同时把不同的字段修改下数据即可,修改字段时发 现,需要指定一个条件,比如主键id,来修改某条记录,这样...
  • 在update语句加上limit

    千次阅读 2020-11-27 00:17:45
    今天看到博文说mysql使用update语句的时候尽量加上limit,因为当更新语句的字段没有索引的时候,如果没有使用limit的话会锁全表;而如果使用了limit的话,mysql会通过主键索引找到对应的行记录,此时只会给索引...
  • 前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下!GitHub地址:https://github.com/abel-max/Java-Study-Note/tree/masterOracle的...
  • 数据库插入一条数据,先列举出需要插入的字段名称,然后VALUES子句依次写出对应字段的值 INSERT INTO <表名> (字段1, 字段2, …) VALUES (值1, 值2, …);(注意VALUES紧跟括号不要换行和加分号) ...
  • JAVA SSH中update没有写入数据库

    千次阅读 2017-03-18 23:21:19
    SSH中新增加一个package做impl包时,发现update更新数据,始终无法写入到数据库。 到处查找问题没有找到,后面查了很多资料,终于找到问题出applicationContext.xml文件的。 是spring的切面定义,一个 可以...
  • 0、需求: 插入数据库,记录存在就更新,记录不存在就插入。 id date kinds score 0 2020-01 math ... 1、首先,models... models增加联合唯一(等同于数据库的联合约束) class Meta: ...
  • 其实有了上面的启示,我们很容易想到,使用MySQL数据库的排它锁来解决(select … for update),XuHaoMapper增加一个函数: /** * 通过id查询num * * @param id * @return * @throws Exception */ @Select(...
  • mysql数据库中字段后面加一个字符串

    千次阅读 2017-08-15 09:41:54
    MySQL连贯字符串不能利用加号(+),而利用concat。 比方aa表的name字段前加字符'x',利用: update aa set name=concat('x',name)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 256,423
精华内容 102,569
热门标签
关键字:

在数据库中update后面跟