创建测试表

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. 最大团&优化

    貌似咕了三个半月了(gym101915里一道),今天又遇到一道(cf1105E),就学了学惹. 最大团定义:图上取尽可能多的点,这些点构成一个完全图. 最大独立集:图上取尽可能多的点,任意两点间不连接 ...

  2. react+dva+antd项目构建

    一:版本升级 首先说明一下这里的dva是最新版: 2.3.2 1.初始化项目构建 npm install dva-cli -g dva -v dva-cli version 注:通过 npm 安装 d ...

  3. Struts2 标签库详解

    Struts2标签库 包括: OGNL Struts2标签分类 控制标签 :(if, elseif,else, iterator, append, merge, generator, subset, ...

  4. 转 python测试框架最全资源汇总

    转自: http://www.testclass.net/list/python_list_1/ xUnit frameworks(单元测试框架) frameworks 框架 unittest - p ...

  5. Exception occurred during processing request: id to load is required for loading

    ERROR Dispatcher:38 - Exception occurred during processing request: id to load is required for loadi ...

  6. httpClient实例--返回响应部分并且转换成对象

    import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import ja ...

  7. Installing Ruby 2.2 on Centos7

    准备做redis-cluster,需要ruby2.2环境 开整环境:Centos7.2最小安装yum源:阿里的base和epel源 ********************************** ...

  8. ArcPy第一章-Python基础

    学习Arcpy,从零开始积累.1.代码注释: python中,说明部分通常使用注释来实现: 方式: # 或者 ## + 注释部分内容2. 模块导入: 方式: import Eg: import arc ...

  9. Centos Linux 下Pycharm 安装

    原文链接 :https://www.cnblogs.com/shaosks/p/9173806.html 可以通过浏览器访问http://www.jetbrains.com/pycharm/,选择需要 ...

  10. Codeforces 1100 - A/B/C/D/E/F - (Undone)

    链接:https://codeforces.com/contest/1100 A - Roman and Browser - [暴力枚举] 题意:浏览器有 $n$ 个网页,编号 $1 \sim n$, ...