共计 704 个字符,预计需要花费 2 分钟才能阅读完成。
联表更新
update
record_detail d
inner join record r on
d.record_id = r.id
set
d.column1 = d.column1 / 100,
d.column2 = d.column2 / 100
where
r.column1 = 1
复制表
// 复制表构造及数据
CREATE TABLE 新表 SELECT * FROM 旧表
// 复制表构造
CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2
CREATE TABLE 新表 LIKE 旧表
// 复制数据 (表构造一样)
INSERT INTO 新表 SELECT * FROM 旧表
// 复制数据 (表构造不一样)
INSERT INTO 新表 (字段 1, 字段 2,.......) SELECT 字段 1, 字段 2,...... FROM 旧表
IF CASE
//case when
select
user_id,
year,
(CASE
WHEN year = 2020 THEN '去年'
WHEN year = 2019 THEN '前年'
ELSE '其余'
END) as year_title
from
year_report
//if
select
user_id,
year,
IF(count_year = 2020, '去年', '前年') as year_title
from
year_report
ON DUPLICATE KEY UPDATE
// 释义为 若判断该数据不存在,则执行 insert,若存在则将 update 前面的列更新为对应的值
// 判断数据存在的条件为惟一索引(会引起 DUPLICATE KEY 报错的条件)ON DUPLICATE KEY UPDATE
column1 = value1,
column2 = value2,
column3 = value3, ...;
正文完