MySQL更新命令_UPDATE
创建测试表
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的更多相关文章
- MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- 烂泥:mysql帮助命令使用说明
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在安装.管理和使用mysql过程中,你是不是需要记忆很多的mysql命令.而且对于新手来说,很不多的命令不知道该如何应用,对于老手来说很多命令时间长了忘 ...
- Mysql常用命令详解
Mysql安装目录 数据库目录 /var/lib/mysql/ 配置文件 /usr/share/mysql(mysql.server命令及配置文件) 相关命令 /usr/bin(mysqladmin ...
- Mysql常用命令行大全
第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...
- mysql常用命令(2)
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- mysql常用命令(1)
Mysql安装目录数据库目录/var/lib/mysql/配置文件/usr/share/mysql(mysql.server命令及配置文件)相关命令/usr/bin(mysqladmin mysqld ...
- Mysql常用命令行大全——转载
转载地址:http://www.blogjava.net/supperchen/archive/2012/10/11/389340.html 第一招.mysql服务的启动和停止 net stop my ...
- mysql 常用命令(备忘)
1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA mysql> CREATE DATABASE ...
- MYSQL常用命令集合(转载)
文章出处:http://www.cnblogs.com/q1ng/p/4474501.html 1.导出整个数据库mysqldump -u 用户名 -p --default-character-set ...
随机推荐
- CentOS6.5 添加开机自启动脚本
有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务.在解问题之前先来看看Linux的启动流程. 一.Linux的启动流程 主要顺序就是: 1. 加载内核 2. 启动初始化进程 3. 确 ...
- vs2008 使用百度编辑器
准备工作 百度编辑器官方下载,并将文件放到项目根目录下. 因为vs2008 只到Framework 3.5,所以需要将4.0的东西去掉. 1)下载.net framework 3.5版的 Newton ...
- Mysql order by与limit混用陷阱
在Mysql中我们常常用order by来进行排序,使用limit来进行分页,当需要先排序后分页时我们往往使用类似的写法select * from 表名 order by 排序字段 limt M,N. ...
- vue---computed计算属性的使用
一直以来在使用vue的时候,会对vue的computed属性和watch属性具体的使用分不清楚,总算花点时间整理了下. computed:通常用于监控自己定义的变量,这个变量可以不再data中定义,直 ...
- [转] - xargs 分析
原文出处:http://www.cnblogs.com/f-ck-need-u/p/5925923.html 学习这个xargs花了很长时间,在网上翻了很久也查了很多书关于xargs的介绍,都只是简单 ...
- 微信小程序开发笔记01
微信小程序开发的优势 1,不用安装,即开即用,用完就走.省流量,省安装时间,不占用桌面: 2,体验上虽然没法完全媲美原生APP,但综合考虑还是更优: 3,对于小程序拥有者来说,开发成本更低,他们可以更 ...
- Oracle课程档案,第十五天
restore:恢复数据文件 recover:写日志 1.redo(roll forward)重做 (前进) 2.undo(roll back) 撤销 (回滚) cp -r:删除一个目录 archiv ...
- 洛谷P3384 【模板】树链剖分
题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式 ...
- 树状数组 || 线段树 || Luogu P5200 [USACO19JAN]Sleepy Cow Sorting
题面:P5200 [USACO19JAN]Sleepy Cow Sorting 题解: 最小操作次数(记为k)即为将序列倒着找第一个P[i]>P[i+1]的下标,然后将序列分成三部分:前缀部分( ...
- I2C驱动框架 (kernel-3.4.2)
先用韦老师的图: 注: 新版本内核的i2c驱动框架采用了 i2c_client -------> i2c_bus_type <-------- i2c_driver 框架 如 ...