亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
前言 MySQL的使用 MySQL多表同時(shí)刪除方案 MySQL跨表、多表更新SQL語句總結(jié) MySQL存儲引擎 安裝 常規(guī)方式編譯安裝MySQL 采用cmake方式編譯安裝MySQL 使用rpm包安裝MySQL 使用yum方式安裝MySQL 采用二進(jìn)制方式免編譯安裝MySQL 多實(shí)例的安裝 什么是多實(shí)例 多實(shí)例的作用、問題以及應(yīng)用場景 多實(shí)例安裝01【推薦】 多實(shí)例官方安裝方案02 啟動(dòng)、用戶和權(quán)限管理 單實(shí)例MySQL的啟動(dòng)和關(guān)閉的方法 設(shè)置及修改MySQL root用戶密碼 找回丟失的MySQL root用戶密碼 創(chuàng)建MySQL用戶及用戶權(quán)限管理 基礎(chǔ)命令的操作 MySQL庫和表相關(guān)操作 MySQL中的索引操作 MySQL常用命令 MySQL的錯(cuò)誤代碼 MySQL復(fù)習(xí)秘籍 備份與恢復(fù) 備份 恢復(fù) mysqlbinlog命令 服務(wù)日志 主從復(fù)制 主從復(fù)制部署配置問題匯總 主從復(fù)制讀寫分離 災(zāi)難恢復(fù) 配置phpmyadmin連接多實(shí)例MySQL MySQL語句大全 用戶創(chuàng)建、權(quán)限、刪除 數(shù)據(jù)庫與表顯示、創(chuàng)建、刪除 Mysql表復(fù)制及備份還原 數(shù)據(jù)庫表中數(shù)據(jù)操作 修改表中的指定一條數(shù)據(jù) 查詢表 日志 批量修改Mysql表引擎為InnoDB的方法 數(shù)據(jù)庫抽象層 PDO PDO對象常用方法 PDO 事務(wù)處理 PDO 與 MySQLi 二者效率簡單比較 大小寫敏感性 lower_case_table_names CentOS7安裝MySQL5.7密碼查看與修改
characters

Mysql跨表、多表更新SQL語句總結(jié)

MySQL可以在一個(gè)SQL語句中更新多張表的記錄,也可以通過多個(gè)表之間的關(guān)聯(lián)關(guān)系更新某個(gè)表的數(shù)據(jù)。

假定目前有兩張表goodsgoods_price表,前者是保存商品的具體信息,后者是保存商品的價(jià)格,具體的表結(jié)構(gòu)如下:

create table goods (
`id` int unsigned primary key auto_increment,
`goods_name` varchar(30) not null default '',
`deleted_at` int unsigned default null
)engine innodb charset utf8;
create table goods_price (
`goods_id` int unsigned not null,
`price` decimal(8,2) not null default '0.00'
)engine innodb charset utf8;
insert into goods (id,goods_name) values (1,'商品1'),(2,'商品2'),(3,'商品3'),(4,'商品4'),(5,'商品5');
insert into goods_price values (1,'5.44'),(2,'3.22'),(3,'5.55'),(4,'0.00'),(5,'4.54');

在update時(shí)使用逗號分割更新

將未刪除的商品的價(jià)格*0.5,具體SQL語句如下:

UPDATE goods as g , goods_price as p SET p.price = p.price*0.5 WHERE p.goods_id = g.id AND g.deleted_at is null;

使用inner join更新數(shù)據(jù)

UPDATE goods g INNER JOIN goods_price p ON g.id=p.goods_id SET p.price=p.price*0.5 where g.deleted_at is null;

更新多個(gè)表

上面的更新語句使用另一個(gè)表的條件,更新一張表,也可以更新多個(gè)表。具體SQL語句如下:

UPDATE goods g INNER JOIN goods_price p on g.id=p.goods_id set p.price=p.price*0.5,g.deleted_at=unix_timestamp(now()) where g.is_deleted_at is null;


Previous article: Next article: