![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL学习笔记
MySQL学习笔记
David_jiahuan
做it行业需要做笔记吗?
要--好记性不如烂笔头!
展开
-
将Excel文件转化为sql文件,然后导入到mysql数据库
项目中遇到一个需求:将现有的Excel文件导入到mysql数据库;1、第一个想法是:直接通过命令行导入LOAD DATA INFILE 'C:/Users/Administrator/Desktop/temp.xls' INTO TABLE `a_temp` LINES TERMINATED BY '\r\n';但是遇到了一个问题:The MySQL server is running with ...原创 2018-07-10 17:47:53 · 6521 阅读 · 0 评论 -
MySQL 查询一个表中存在,却不在另外一个表中存在的数据
介绍我了解的两种方法:(1) NOT IN ,简单易懂,相对效率低:SELECT DISTINCT A.ID FROM A WHERE A.ID NOT IN (SELECT ID FROM B)(2)速度快,效率高,但是逻辑理解有点复杂:SELECT * FROM B WHERE (SELECT COUNT(1) AS num FROM A WHERE A.ID = B.ID) = 0...原创 2018-06-29 18:23:40 · 3263 阅读 · 0 评论 -
在mysql服务器中,用命令行执行sql文件
输入 mysql -u root -p < ***. sql ;然后提示输入密码;接着执行sql脚本;执行成功后,不会有任何提示。原创 2018-06-28 11:59:47 · 2005 阅读 · 0 评论 -
Mysql 获取当天、昨天、上周、本周、上月、本月的时间
当天:SELECT DATE_FORMAT(CURDATE(),'%Y-%m-%d 00:00:00')SELECT DATE_FORMAT(CURDATE(),'%Y-%m-%d 23:59:59')昨天:SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 00:00:00')SELECT DAT...原创 2018-06-07 15:40:40 · 978 阅读 · 0 评论 -
Mysql对现有的表建立分区
1、首先介绍一个Mysql5.5中新增的分区功能:COLUMN分区功能,只有RANGE COLUMN和LIST COLUMN这两种分区;支持整形、日期、字符串;介绍的链接:https://www.cnblogs.com/chenmh/p/5630834.html2、下面介绍一下对已有数据表的分区(针对字符串字段分区,时间字段分区网上代码很多了):(1)先创建一张和需要分区的表(ta...原创 2018-04-26 21:06:57 · 4361 阅读 · 3 评论 -
mysql information_schema.TABLES表中的table_rows 字段值与count(*) 值不同
一般要统计业务库中所有表的总行数的时候,都是直接查 information_schema库中的 tables表中的 table_rows字段值:SELECT table_name, table_rows, table_commentFROM information_schema.TABLES WHERE TABLE_SCHEMA = 'businessDB' ORDER BY ...原创 2019-08-05 09:59:54 · 11752 阅读 · 5 评论 -
Mysql 时间戳与日期相互转换
1、日期转换成时间戳:SELECT UNIX_TIMESTAMP('2009-07-15 10-06-07'); -- 带符号的日期格式SELECT UNIX_TIMESTAMP('20090715100607'); -- 不带符号的日期格式SELECT UNIX_TIMESTAMP(NOW()); -- mysql自带的日期生...原创 2019-07-15 13:46:55 · 699 阅读 · 0 评论 -
本地window系统 安装mysql数据库
1、下载安装的过程就不详细介绍了,可以参考下面的文章:https://www.runoob.com/mysql/mysql-install.html 中从这里开始往下的内容,保证可以安装成功!2、我本地安装的是 mysql-8.0.16 的版本,安装完成后,可以使用mysql -u root -p登录本地数据库:输入初始密码后,按enter键确认登录:登录成...原创 2019-07-10 15:57:10 · 2063 阅读 · 0 评论 -
mysql 实现 CASE WHEN THEN 语句查询
需求:查询一段时间内,不同停车时长的停车次数。实现:原创 2019-07-10 11:36:28 · 2257 阅读 · 0 评论 -
mysql 查看指定数据库中所有表的行数
SELECT table_name, table_rowsFROM `information_schema`.`tables` WHERE TABLE_SCHEMA = 'ipms' ORDER BY table_rows DESC;上述语句中 `information_schema`.`tables` 是不需要改的;'ipms' 是根据需要查看的数据库,实际填写...原创 2019-06-27 09:44:45 · 6584 阅读 · 1 评论 -
批量删除mysql中执行时间超长的进程
首先明确一下:本篇文章中的过程,笔者亲自操作过,没有照搬网上的文章!============================ 进入正题 =====================================1、先在mysql的客户端(sqlyog、navicat等)中执行下面的命令:SHOW VARIABLES LIKE '%secure%'; 命令,查看secure_file_pr...原创 2019-06-27 09:29:40 · 1461 阅读 · 0 评论 -
mysql SELECT * FROM information_schema.innodb_trx;
SELECT * FROM information_schema.innodb_trx命令是用来查看当前运行的所以事务:在执行结果中可以看到是否有表锁等待或者死锁,如果有死锁发生,可以通过下面的命令来杀掉当前运行的事务:KILL 165667 ; KILL 后面的数字指的是trx_mysql_thread_id值。...原创 2019-06-12 16:41:58 · 19002 阅读 · 0 评论 -
mysql SHOW PROCESSLIST 指令
直接上图:通过 SHOW PROCESSLIST命令可以实时查看mysql正在执行的操作,这对查看系统中哪些语句执行时间长(需要优化的语句)是很有帮助的,例如上图中红色框标出的地方,Info列中的语句在我执行SHOW PROCESSLIST命令时已经执行了116S(这样我就能发现代码中这条慢SQL语句需要优化了,因为执行时间太长了),这对于我们优化系统和处理突发事件是很有用的。处理方法:...原创 2019-06-12 16:24:01 · 313 阅读 · 0 评论 -
MySQL给表创建完分区之后,需要按天进行分区自增
MySQL给表创建完分区之后,需要按天进行分区自增,所以需要编写存储过程和事件配合完成分区自增操作。1、存储过程:(1)如果分区字段的格式是 ‘%Y%m%d%H%i%S’ 的格式,可以直接使用下面的存储过程:虽然不会出错,但是会出现下面这种情况:多出来20180532000000这个样子的日期,但是少了20180601000000这个日期;(2)如果分区字段的格式是 ‘...原创 2019-06-12 14:46:03 · 2000 阅读 · 1 评论 -
mysql 创建分区需要注意的地方
1、需要分区的字段必须是在 primary key或者unique中,不然会报错:A PRIMARY KEY MUST INCLUDE ALL COLUMNS IN THE TABLE'S PARTITIONING FUNCTION如上图,如果想针对 input_time做分区,是不成功的,必须要将 UNIQUE KEY中的字段也移到 PRIMARY KEY中,组合成复合主...原创 2019-06-12 14:33:49 · 1322 阅读 · 0 评论 -
mysql 删除已有分区
ALTER TABLE '表名' DROP PARTITION '分区名' ;原创 2018-12-05 13:28:56 · 12071 阅读 · 0 评论 -
Mysql查看分区
SELECT partition_name part, partition_expression expr, partition_description descr, table_rowsFROM INFORMATION_SCHEMA.partitionsWHERE TABLE_SCHEMA = SCHEMA()...原创 2018-04-26 12:01:16 · 12818 阅读 · 10 评论