Mysql 常用语句技巧汇总

概述

内容是在平时遇到的一些常用的技巧或者不常用但是很有用的一些语句等,给自己留作备份记录,以便后期使用的方便。
主要是自己的记性并不怎么好,所以好记性不如烂笔头。

常用语句

  • update join
    语句是用来联表执行update语句的使用,常用来将A表的字段,更新为B表的某一个字段等,前提是A表与B表必须要有关联的字段(条件)。
    示例:
update table_1 tb1 
left join table_2 tb2 on tb1.field1 = tb2.field1 
set tb1.field2 = tb2.field2;

常见问题&技巧

  • my.cnf -> sql_mode
    该参数,定义了Mysql应该支持的SQL语法、数据校验等。曾经遇到两个问题,需要修改sql_mode的配置:
    1. NO_ZERO_IN_DATE:数据导入的数据库,日期类型的默认值:0000-00-00 00:00:00的时候,遇到了问题,提示说一个不能被支持的日期的默认格式,这种情况,就是在sql_mode中定义了:NO_ZERO_IN_DATE,需要将该配置关闭,才能将日期默认值设置为0。

    2. ANSI_QUOTES:导出的数据表结构的字段,是被双引号("")引用的,而不是被Mysql的识别符(``)引用的,导致运行导出的SQL无法运行。该问题是因为在sql_mode中,开启了:ANSI_QUOTES配置,该配置是控制能否用双引号("")引用字符的。关闭该配置,既可以支持正常的SQL语法了。