程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL 常用的UPDATE操作

MySQL 常用的UPDATE操作

編輯:MySQL綜合教程

MySQL 常用的UPDATE操作


概述     測試環境:mysql 5.6.21       步驟   創建測試表     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='商品表';   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='商品類別資金匯總表'   插入測試數據   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());   INSERT INTO producttype(ID) VALUES(1),(2),(3); SELECT * FROM  product;   SELECT * FROM producttype;    單表更新操作   UPDATE product SET price='20.00',type=0  WHERE proID=2;    關聯更新操作    UPDATE producttype,product SET producttype.amount=product.price where product.TYPE = producttype.ID AND product.TYPE=1;    1.查詢所有字段   INSERT INTO producttype(ID) VALUES(4); UPDATE producttype SET producttype.amount= (SELECT ifnull(SUM(product.price),0.00)    FROM product WHERE product.TYPE = producttype.ID GROUP BY product.TYPE);   注意:大家注意看到rows matched:4,表示符合條件的記錄是4條,實際更新了三條,關聯語句默認不去判斷裡面的關聯的實際行。   2.只查詢需要更新的字段   UPDATE producttype SET amount=null;   UPDATE producttype,product     SET producttype.amount=         (SELECT ifnull(SUM(product.price),0.00)           FROM product              WHERE product.TYPE = producttype.ID              GROUP BY product.TYPE)  where product.TYPE = producttype.ID;       改用下面這種方法:Rows matched:3,查詢到了符合條件的行是3行,沒有查詢無關聯的行。   總結    mysql的update的關聯操作在5.6中後面不能直接接FROM語句,只能UPDATE 所有的連接表然後WHERE,如果之前有事情其它數據庫產品的習慣在這裡要注意了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved