mysql中数据处理小技巧
平时开发中经常与数据库打交道,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中数据处理小技巧相关推荐
- 10个提升MySQL性能的小技巧
从工作量分析到索引的三条规则,这些专家见解肯定会让您的MySQL服务器尖叫. 在所有的关系数据库中,MySQL已经被证明了完全是一头野兽,只要通知停止运行就绝对不会让你多等一秒钟,使你的应用置于困境之 ...
- 38个MySQL数据库的小技巧
1.如何快速掌握MySQL? 培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率.当然学习MySQL 5.6也不例外. 夯实基础 计算机领域的技术非常强调基础,刚开始学习可能还 ...
- 杂谈---小故事小道理,面试中的小技巧(NO.2)
本篇是接着上一篇面试随笔的,上一次有猿友反应写的有些"扯淡",LZ思来想去最大的原因可能是由于上一章写的全是一些大忌,既然是大忌,那么在现实当中发生的概率还是相对较小的,大部分人还 ...
- python处理大量excel数据-使用python将大量数据导出到Excel中的小技巧分享
(1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以 ...
- python输出数据到excel-使用python将大量数据导出到Excel中的小技巧分享
(1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以 ...
- python输出数据到excel-如何使用python将大量数据导出到Excel中的小技巧之一
如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...
- ubuntu pycharm设置快捷图标_这些Ubuntu中的小技巧,你知道吗?
Ubuntu中的小技巧 大家伙儿暑假愉快!假期的小I也有在认真探索,这些Ubuntu中的快捷键小技巧,来和小I一起get吧! 01快速截图 使用ubuntu自带的截图功能快速截图(全屏截图.当前窗口截 ...
- python数据导出excel_【python Excel】如何使用python将大量数据导出到Excel中的小技巧之一...
如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...
- 如何将python数据输入到excel中_如何使用python将大量数据导出到Excel中的小技巧之一...
如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...
- python获取excel整行数据如何保存到新的工作簿中_如何使用python将大量数据导出到Excel中的小技巧之一...
如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...
最新文章
- 第十六届智能车竞赛创意组比赛-筹划初稿
- python 中if __name__ = '__main__' 的作用
- bzoj 1412 [ZJOI2009]狼和羊的故事 最小割建图
- HDU2896(病毒侵袭--AC自动机)
- C语言程序设计 C语言中的时间函数
- Fliptile POJ - 3279 (翻转)(二进制+对第一行暴力遍历翻转的位置)
- python系统状态_python实现系统状态监测和故障转移实例方法
- [转]Xcode的重构功能
- 华为路由器上有没有mac表_MAC地址表、ARP缓存表、路由表及交换机、路由器基本原理...
- 等额本息excel模板下载_格格技能——巧用EXCEL函数,算清各种收益利率
- 安装版mysql5.7_mysql5.7 安装版安装
- 与集群相关软件安装及其配置顺序
- springMVC 项目在jboss7中配置应用自己的log4j
- 我的Android进阶之旅------解决:debug-stripped.ap_' specified for property 'resourceFile' does not exist....
- Linux的目录说明
- 最具潜力的编程语言GO有新书啦!
- C++中的gotoxy函数
- NVIDIA显卡驱动丢失 安装失败
- JS实现弹性漂浮广告代码
- 三七互娱秋招web前端笔试题编程题(使用原生JS实现一个英雄类Hero, 可以按照以下方式调用正确输出)
热门文章
- 电视显示通路故障或服务器不可用,百视通电视魔百和故障处理手册
- 搭建图像搜索引擎(之0):霍比特人直方图
- 算术收益率与对数收益率(几何收益率)
- Spring MVC 学习笔记 by starscream
- 程序员都会的常用Linux网络命令汇总
- 野外无焰加热器的成分
- 创业之前必须要做的八个测试(上)
- python作业代做_CSC1001作业代做、代写Programming Methodology作业、代做Python实验作业、Python程序设计作业调试...
- windows桌面图标全部不见了怎么办
- SYNCookie原理