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 ...
随机推荐
- phpstudy 升级(更换) mysql 版本
原文链接:http://phpstudy.php.cn/jishu-php-3131.html 一.下载新版 mysql 例如 mysql5.7: https://dev.mysql.com/down ...
- jedis中scan的实现
我的版本说明: redis服务端版本:redis_version:2.8.19 jedis: <dependency> <groupId>redis.clients</g ...
- Qt编写自定义控件3-速度仪表盘
前言 速度仪表盘,写作之初的本意是用来展示当前测试的网速用的,三色圆环+数码管显示当前速度,Qt自带了数码管控件QLCDNumber,直接集成即可,同时还带有动画功能,其实也可以用在汽车+工业领域等, ...
- centos7上修改lv逻辑卷的大小
author:headsen chen date: 2019-03-18 15:24:22 1,查看 [root@localhost mnt]# df -h Filesystem Size Used ...
- RecyclerView实现分组展示信息
extends:http://blog.csdn.net/wzlyd1/article/details/52292548 前言 一直在鸿洋大神的安卓群里水群,渐渐的loader和安卓弟等人都成长了起来 ...
- hibernate04--三种状态之间的转换
public class StudentTest { Session session=null; Transaction transaction=null; //在执行测试方法之前 先执行before ...
- p1010幂次方---(分治)
题目描述 任何一个正整数都可以用222的幂次方表示.例如 137=27+23+20137=2^7+2^3+2^0 137=27+23+20 同时约定方次用括号来表示,即aba^bab 可表示为a(b) ...
- AUC计算 - 手把手步进操作
2017-07-10 14:38:24 理论参考: 评估分类器性能的度量,像混淆矩阵.ROC.AUC等 http://www.cnblogs.com/suanec/p/5941630.html ROC ...
- 二、JavaScript基础(1)
1.JavaScript 基于对象和事件驱动的脚步语言,主要应用在客户端 特点:交互性(信息的动态交互).安全性(不可直接访问本地硬盘).跨平台性(只要可以解析js的浏览器 都可以执行,与平台无关) ...
- A股时间窗口
春节躁动行情:大消费,文娱影视 一号文件:泛农业股 两会行情:两会概念 糖酒会:白酒,糖业 五穷六绝:半年节点,[市场缺钱] 暑期档:文娱影视 国庆行情:军工,文娱影视 年底:阳历年底,[市场缺钱] ...