创建测试表

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

 mysql> 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());
 Query OK, 5 rows affected (0.06 sec)
 Records: 5 Duplicates: 0 Warnings: 0

 mysql> INSERT INTO producttype(ID) VALUES(1),(2),(3);
 Query OK, 3 rows affected (0.04 sec)
 Records: 3 Duplicates: 0 Warnings: 0

mysql> select * from product;
+-------+-------+------+---------------------+
| proID | price | type | dtime |
+-------+-------+------+---------------------+
| | 10.00 | | -- :: |
| | 10.00 | | -- :: |
| | 10.00 | | -- :: |
| | 20.00 | | -- :: |
| | 30.00 | | -- :: |
+-------+-------+------+---------------------+
rows in set (0.00 sec) mysql> select * from producttype;
+----+--------+
| ID | amount |
+----+--------+
| | NULL |
| | NULL |
| | NULL |
+----+--------+
rows in set (0.00 sec)

1. 单表更新

UPDATE用法:update 表名 set  属性1=value1,属性2=value2 where 限定条件

示例:

mysql> UPDATE product
-> SET price='20.00',type=0
-> WHERE proID=2;
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from product;
+-------+-------+------+---------------------+
| proID | price | type | dtime |
+-------+-------+------+---------------------+
| 1 | 10.00 | 0 | 2018-01-31 03:06:05 |
| 2 | 20.00 | 0 | 2018-01-31 03:06:05 |
| 3 | 10.00 | 1 | 2018-01-31 03:06:05 |
| 4 | 20.00 | 2 | 2018-01-31 03:06:05 |
| 5 | 30.00 | 3 | 2018-01-31 03:06:05 |
+-------+-------+------+---------------------+
5 rows in set (0.00 sec)

2. 关联更新

UPDATE用法:update 表名1,表名2 set  表1.属性=表2.属性值 where 限定条件

示例:

mysql> UPDATE producttype,product
-> SET producttype.amount=product.price
-> where product.TYPE = producttype.ID AND product.TYPE=1;
Query OK, 1 row affected (0.09 sec)
Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from producttype;
+----+--------+
| ID | amount |
+----+--------+
| 1 | 10 |
| 2 | NULL |
| 3 | NULL |
+----+--------+
3 rows in set (0.00 sec)

3. 限制更新

UPDATE用法:update 表名1,表名2 set  表1.属性=表2.属性值 where 限定条件 limit  m

说明:只支持更新前多少行,而不支持非TOP的指定范围更新,也就是说,limit只接收一个参数。

意义:更新前m个符合where条件的记录。

mysql> UPDATE tb_name SET column_name='test' LIMIT ;

4. 排序更新

UPDATE用法:update 表名1,表名2 set  表1.属性=表2.属性值 where 限定条件 order by ... [limit m]

说明:同限制更新一样,首先判断出符合where条件的记录,然后对符合条件的记录进行排序,最后对排序后的前m条记录做更新

mysql> UPDATE tb_name SET column_name='test' ORDER BY id ASC LIMIT ;

5. 联合更新

UPDATE用法:update 表A set  A.属性=表B.属性值 FROM a as A [inner join | right join | left join] b as B on [连接条件] where 限定条件

mysql> UPDATE Table_A
-> SET Table_A.col1 = Table_B.col1,
-> Table_A.col2 = Table_B.col2
-> FROM Some_Table AS Table_A
-> INNER JOIN Other_Table AS Table_B ON Table_A.id = Table_B.id
-> WHERE Table_A.col3 = 'cool';
mysql> update a  join b on a.id=b.id set a.name=b.name where a.year=;

MySQL更新命令_UPDATE的更多相关文章

  1. MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  2. 烂泥:mysql帮助命令使用说明

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在安装.管理和使用mysql过程中,你是不是需要记忆很多的mysql命令.而且对于新手来说,很不多的命令不知道该如何应用,对于老手来说很多命令时间长了忘 ...

  3. Mysql常用命令详解

    Mysql安装目录 数据库目录 /var/lib/mysql/ 配置文件 /usr/share/mysql(mysql.server命令及配置文件) 相关命令 /usr/bin(mysqladmin ...

  4. Mysql常用命令行大全

    第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...

  5. mysql常用命令(2)

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  6. mysql常用命令(1)

    Mysql安装目录数据库目录/var/lib/mysql/配置文件/usr/share/mysql(mysql.server命令及配置文件)相关命令/usr/bin(mysqladmin mysqld ...

  7. Mysql常用命令行大全——转载

    转载地址:http://www.blogjava.net/supperchen/archive/2012/10/11/389340.html 第一招.mysql服务的启动和停止 net stop my ...

  8. mysql 常用命令(备忘)

    1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA mysql> CREATE DATABASE ...

  9. MYSQL常用命令集合(转载)

    文章出处:http://www.cnblogs.com/q1ng/p/4474501.html 1.导出整个数据库mysqldump -u 用户名 -p --default-character-set ...

随机推荐

  1. CentOS6.5 添加开机自启动脚本

    有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务.在解问题之前先来看看Linux的启动流程. 一.Linux的启动流程 主要顺序就是: 1. 加载内核 2. 启动初始化进程 3. 确 ...

  2. vs2008 使用百度编辑器

    准备工作 百度编辑器官方下载,并将文件放到项目根目录下. 因为vs2008 只到Framework 3.5,所以需要将4.0的东西去掉. 1)下载.net framework 3.5版的 Newton ...

  3. Mysql order by与limit混用陷阱

    在Mysql中我们常常用order by来进行排序,使用limit来进行分页,当需要先排序后分页时我们往往使用类似的写法select * from 表名 order by 排序字段 limt M,N. ...

  4. vue---computed计算属性的使用

    一直以来在使用vue的时候,会对vue的computed属性和watch属性具体的使用分不清楚,总算花点时间整理了下. computed:通常用于监控自己定义的变量,这个变量可以不再data中定义,直 ...

  5. [转] - xargs 分析

    原文出处:http://www.cnblogs.com/f-ck-need-u/p/5925923.html 学习这个xargs花了很长时间,在网上翻了很久也查了很多书关于xargs的介绍,都只是简单 ...

  6. 微信小程序开发笔记01

    微信小程序开发的优势 1,不用安装,即开即用,用完就走.省流量,省安装时间,不占用桌面: 2,体验上虽然没法完全媲美原生APP,但综合考虑还是更优: 3,对于小程序拥有者来说,开发成本更低,他们可以更 ...

  7. Oracle课程档案,第十五天

    restore:恢复数据文件 recover:写日志 1.redo(roll forward)重做 (前进) 2.undo(roll back) 撤销 (回滚) cp -r:删除一个目录 archiv ...

  8. 洛谷P3384 【模板】树链剖分

    题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式 ...

  9. 树状数组 || 线段树 || Luogu P5200 [USACO19JAN]Sleepy Cow Sorting

    题面:P5200 [USACO19JAN]Sleepy Cow Sorting 题解: 最小操作次数(记为k)即为将序列倒着找第一个P[i]>P[i+1]的下标,然后将序列分成三部分:前缀部分( ...

  10. I2C驱动框架 (kernel-3.4.2)

    先用韦老师的图: 注:  新版本内核的i2c驱动框架采用了    i2c_client -------> i2c_bus_type  <-------- i2c_driver   框架 如 ...