平时开发中经常与数据库打交道,mysql又是现在比较常用的数据库,此文总结下平时会用到的mysql的小技巧。

1、创建备份表

create table x like y;

快速创建和y结构一样的表x

2、获取上一次插入的自增ID

select last_insert_id()

处理数据时比较有用,比如插入一条数据后,要获取插入数据的自增主键ID,就可以使用last_insert_id()

3、批量插入

可使用如下语句:

INSERT INTO table1(col1,col2)
select col1,col2 from table2

或使用如下语句:

INSERT INTO table1(col1,col2)
values (1,2),(2,3),(3,4);

批量插入比单条插入效率要高很多。

4、合并alter操作

可以把针对同一个表的alter操作合并,提高效率

alter table tableName add column col1 int(11), add column col2 varchar(20);

5、随机获取一条数据

不推荐使用 by rand();

可使用如下sql:

SELECT * FROM users AS t1 JOIN (SELECT ROUND(RAND()*(SELECT MAX(id)
FROM users)) AS id) AS t2 WHERE t1.id>=t2.id ORDER BY t1.id LIMIT 1;

6、日期处理

SELECT  CURDATE() #当前日期SELECT  NOW() #当前时间SELECT  YEAR('2020-06-29 22:31:30') #获取时间的年份SELECT  MONTH('2020-06-29 22:31:30') #获取时间的月份SELECT  DAY('2020-06-29 22:31:30') #获取时间的天数SELECT  HOUR('2020-06-29 22:31:30') #获取时间的小时SELECT  MINUTE('2020-06-29 22:31:30') #获取时间的分钟SELECT  SECOND('2020-06-29 22:31:30')  #获取时间的秒数SELECT  DATE_SUB(NOW(),INTERVAL 1 YEAR)  #在目前的时间减去一年 SELECT  DATE_ADD(NOW(),INTERVAL 1 YEAR)  #在目前的时间上加上一年SELECT UNIX_TIMESTAMP('2020-06-29')  #字符串转换成时间戳SELECT FROM_UNIXTIME(1593360000) #时间戳转化为时间SELECT DATE_FORMAT('2020-06-29 22:31:30', '%Y-%m-%d %H:%i:%s') #字符串转化为时间格式

7、判空

IFNULL(expr1,expr2)

用法:假如expr1不为NULL,则 IFNULL() 的返回值为expr1; 否则其返回值为 expr2。

ISNULL(expr)

用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。

8、正则匹配

查找name字段中以'zh'开头的数据:

SELECT name FROM users WHERE name REGEXP '^zh';

查找name字段中以'ng'结尾的数据:

SELECT name FROM users WHERE name REGEXP 'ng$';

查找name字段中包含'li'字符串的数据:

SELECT name FROM users WHERE name REGEXP 'li';

9、定义临时变量

set @cur = now();
select date_format(now(), '%Y-%m-%d'), date_format(date_add(@cur,interval 1 day), '%Y-%m-%d');

10、使用行号

SELECTUSER.*, (@rownum := @rownum + 1) AS ROWNUM
FROMUSER
INNER JOIN (SELECT @rownum := 0) r
WHERE1
ORDER BYUSER.id;

以上几点在数据处理中会用到,以后遇到其他的再补充,大家如果有其他小技巧,欢迎评论补充!

mysql中数据处理小技巧相关推荐

  1. 10个提升MySQL性能的小技巧

    从工作量分析到索引的三条规则,这些专家见解肯定会让您的MySQL服务器尖叫. 在所有的关系数据库中,MySQL已经被证明了完全是一头野兽,只要通知停止运行就绝对不会让你多等一秒钟,使你的应用置于困境之 ...

  2. 38个MySQL数据库的小技巧

    1.如何快速掌握MySQL? 培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率.当然学习MySQL 5.6也不例外. 夯实基础 计算机领域的技术非常强调基础,刚开始学习可能还 ...

  3. 杂谈---小故事小道理,面试中的小技巧(NO.2)

    本篇是接着上一篇面试随笔的,上一次有猿友反应写的有些"扯淡",LZ思来想去最大的原因可能是由于上一章写的全是一些大忌,既然是大忌,那么在现实当中发生的概率还是相对较小的,大部分人还 ...

  4. python处理大量excel数据-使用python将大量数据导出到Excel中的小技巧分享

    (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以 ...

  5. python输出数据到excel-使用python将大量数据导出到Excel中的小技巧分享

    (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以 ...

  6. python输出数据到excel-如何使用python将大量数据导出到Excel中的小技巧之一

    如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...

  7. ubuntu pycharm设置快捷图标_这些Ubuntu中的小技巧,你知道吗?

    Ubuntu中的小技巧 大家伙儿暑假愉快!假期的小I也有在认真探索,这些Ubuntu中的快捷键小技巧,来和小I一起get吧! 01快速截图 使用ubuntu自带的截图功能快速截图(全屏截图.当前窗口截 ...

  8. python数据导出excel_【python Excel】如何使用python将大量数据导出到Excel中的小技巧之一...

    如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...

  9. 如何将python数据输入到excel中_如何使用python将大量数据导出到Excel中的小技巧之一...

    如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...

  10. python获取excel整行数据如何保存到新的工作簿中_如何使用python将大量数据导出到Excel中的小技巧之一...

    如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...

最新文章

  1. 第十六届智能车竞赛创意组比赛-筹划初稿
  2. python 中if __name__ = '__main__' 的作用
  3. bzoj 1412 [ZJOI2009]狼和羊的故事 最小割建图
  4. HDU2896(病毒侵袭--AC自动机)
  5. C语言程序设计 C语言中的时间函数
  6. Fliptile POJ - 3279 (翻转)(二进制+对第一行暴力遍历翻转的位置)
  7. python系统状态_python实现系统状态监测和故障转移实例方法
  8. [转]Xcode的重构功能
  9. 华为路由器上有没有mac表_MAC地址表、ARP缓存表、路由表及交换机、路由器基本原理...
  10. 等额本息excel模板下载_格格技能——巧用EXCEL函数,算清各种收益利率
  11. 安装版mysql5.7_mysql5.7 安装版安装
  12. 与集群相关软件安装及其配置顺序
  13. springMVC 项目在jboss7中配置应用自己的log4j
  14. 我的Android进阶之旅------解决:debug-stripped.ap_' specified for property 'resourceFile' does not exist....
  15. Linux的目录说明
  16. 最具潜力的编程语言GO有新书啦!
  17. C++中的gotoxy函数
  18. NVIDIA显卡驱动丢失 安装失败
  19. JS实现弹性漂浮广告代码
  20. 三七互娱秋招web前端笔试题编程题(使用原生JS实现一个英雄类Hero, 可以按照以下方式调用正确输出)

热门文章

  1. 电视显示通路故障或服务器不可用,百视通电视魔百和故障处理手册
  2. 搭建图像搜索引擎(之0):霍比特人直方图
  3. 算术收益率与对数收益率(几何收益率)
  4. Spring MVC 学习笔记 by starscream
  5. 程序员都会的常用Linux网络命令汇总
  6. 野外无焰加热器的成分
  7. 创业之前必须要做的八个测试(上)
  8. python作业代做_CSC1001作业代做、代写Programming Methodology作业、代做Python实验作业、Python程序设计作业调试...
  9. windows桌面图标全部不见了怎么办
  10. SYNCookie原理