MySQL 常用的UPDATE操作

2021-12-30 04:31:53 字數 2157 閱讀 7626

概述  

測試環境: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='商品類別資金彙總表'

插入測試資料

單錶更新操作

關聯更新操作 

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,如果之前有事情其它資料庫產品的習慣在這裡要注意了。

mysql常用函式封裝 mysql的常用操作的封裝

1 概述 為了把繁瑣的操作簡化成簡單的類,設計了2個類用來封裝了mysql的常用操作,以便使用者可以方便地使用。2 組成 1 資料庫操作類cdatabaseconnect 2 sql物件類csqlstatement 3 類的標頭檔案 include include mysql.h include u...

mysql的ccid 學習MySQL常用操作命令

1 啟動mysql伺服器 d mysqlbinmysqld 2 進入mysql互動操作介面 在dos方式下,執行 d mysqlbinmysql 出現 mysql 的提示符,此時已進入mysql的互動操作方式。如果出現 error 2003 can t connect to mysql server...

python字典update去重 字典的操作

字典 要麼是已經有了字典,我們呼叫裡面的鍵值對 要麼是空字典,我們根據實際情況放入鍵值對 增加dict1 建立空字典後逐個新增鍵值對,非空字典也同樣新增,如果遇到鍵相同的話,就會覆蓋掉原先的鍵值對 dict1 color red dict1 points 5 dict1 x position 25 ...