创建测试表

mysql> 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='商品表';
Query OK, 0 rows affected (0.11 sec)mysql> 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='商品类别资金汇总表'-> ;
Query OK, 0 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               |
+-------+-------+------+---------------------+
|     1 | 10.00 |    0 | 2018-01-31 03:06:05 |
|     2 | 10.00 |    1 | 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)mysql> select * from producttype;
+----+--------+
| ID | amount |
+----+--------+
|  1 |   NULL |
|  2 |   NULL |
|  3 |   NULL |
+----+--------+
3 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: 0mysql> 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: 0mysql> 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 30;

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 30;

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=2016;

转载于:https://www.cnblogs.com/yy20141204bb/p/8394448.html

MySQL更新命令_UPDATE相关推荐

  1. 查看mysql 更新命令_MySQL UPDATE 查询

    MySQL UPDATE 查询 如果我们需要修改或更新MySQL中的数据,我们可以使用 SQL UPDATE 命令来操作.. 语法 以下是 UPDATE 命令修改 MySQL 数据表数据的通用SQL语 ...

  2. 新的mysql如何使用_如何使用新的MySQL更新日志

    使用新的MySQL更新日志的方法未必人人都会,下面就教您如何使用新的MySQL更新日志的方法,希望对您能够有所帮助.如果你只使用一 使用新的MySQL更新日志的方法未必人人都会,下面就教您如何使用新的 ...

  3. MYSQL常用命令(转载)

    1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqld ...

  4. mysql更新日志问题

    [root@localhost ~]# /etc/init.d/mysqld restart 停止 mysqld: [确定] 正在启动 mysqld: [确定] 故障:今天在维护以前数据库日志的时候, ...

  5. Mysql常用命令详解

    链接地址:http://www.cnblogs.com/linjiqin/archive/2013/03/01/2939384.html Mysql安装目录 数据库目录 /var/lib/mysql/ ...

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

    本文首发于烂泥行天下. 在安装.管理和使用mysql过程中,你是不是需要记忆很多的mysql命令.而且对于新手来说,很不多的命令不知道该如何应用,对于老手来说很多命令时间长了忘记具体的用法. 其实my ...

  7. linux解压mysql文件命令行_linux mysql命令

    1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...

  8. 【转载】MySQL Show命令总结

    MySQL Show命令总结 MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法. a. show tables ...

  9. 13.1-13.3 设置更改root密码,连接MySQL,MySQL常用命令

    13.1 设置更改root密码 大纲 准备工作: 1 启动mysql服务 [root@AliKvn ~]# /etc/init.d/mysqld start Starting MySQL.       ...

最新文章

  1. 如何在Ubuntu上使用ssh-add永久添加私钥? [关闭]
  2. SpringData —— HelloWorld
  3. Java NIO、NIO.2学习笔记
  4. py库: django (web框架)
  5. javaweb学习总结五(内省、beanUtils工具包)
  6. 【Flink】Flink 1.13 Flink SQL 新特性 性能优化 时区 时间 纠正
  7. mysql 不省略0_mysql数据类型和运算符
  8. WinStore控件之Button、HyperlinkButton、RadioButton、CheckBox、progressBar、ScrollViewer、Slider...
  9. ar自回归 python_时间序列分析 | 向量自回归模型
  10. R语言︱H2o深度学习的一些R语言实践——H2o包
  11. weblogic启动失败:Could not obtain the localhost address 解决办法
  12. linux基础期末考,Linux基础期末考试试题.pdf
  13. ConfuserEx加密工具
  14. 应用程序正常初始化(0xc0000160)失败
  15. 智能编程计算机表演赛,中国儿童青少年计算机表演赛在京闭幕
  16. 目标检测之Faster RCNN分析
  17. led屏背后线路安装图解_科普:网格屏是什么意思?LED网格屏怎么安装
  18. STM32GPIO寄存器CRL、CRH、IDR、ODR、BSRR、BRR
  19. mysql 1265错误_mysql – 错误1265.尝试从txt文件加载数据时,列的数据被截断
  20. 2019年3月计算机一级考试试题,2019年3月计算机一级考试MsOffice操作试题(五)

热门文章

  1. CSS截取字符串,兼容浏览器
  2. 强烈推荐:240多个jQuery插件
  3. python终止线程报错_退出整个程序时出现python线程异常错误
  4. Effective C++ 50条款
  5. 对于数据库进行设计在PHP,关于数据库表的设计
  6. 讯飞语音识别_讯飞输入法持续功能创新 语音输入最受用户认可
  7. PTA混淆总结(就做个笔记储存一下)
  8. android调试步骤,Android16_Android调试步骤
  9. php js怎么去掉类属性,如何修改DOM中的属性,类和样式
  10. java如何生成唯一码_java – 如何为方法实例生成唯一的哈希码?