MySql 常用语法

联表更新

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=2CREATE 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, ...;

    推荐阅读