登录
首页 >  数据库 >  MySQL

MySql 非常用语法笔记

来源:SegmentFault

时间:2023-02-22 08:57:26 339浏览 收藏

大家好,今天本人给大家带来文章《MySql 非常用语法笔记》,文中内容主要涉及到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=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, ...;

清空表数据

//truncate直译为截断,作用是清空表,且只能作用于表;
truncate table tbl_name 或 truncate tbl_name

今天关于《MySql 非常用语法笔记》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于mysql的内容请关注golang学习网公众号!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表