写点什么

mysql 进阶 (十九)SQL 语句如何精准查找某一时间段的数据

  • 2022 年 7 月 23 日
  • 本文字数:1068 字

    阅读完需:约 4 分钟

mysql进阶(十九)SQL语句如何精准查找某一时间段的数据

一、精确查找时间范围

在项目开发过程中,自己需要查询出一定时间段内的交易。故需要在 sql 查询语句中加入日期时间要素,sql 语句如何实现?

SELECT * FROM lmapp.lm_bill where tx_time Between '2015-12-20' And '2015-12-31';
复制代码

      仔细研究还是能够发现一些细节性的问题的。

      SQL 语句 1

SELECT * FROM lmapp.lm_bill where merch_uid='S18853883587' AND tx_time Between '2015-09-17' AND '2015-10-27 24:00:0';
复制代码

      查询结果 1


     SQL 语句 2

SELECT * FROM lmapp.lm_bill where merch_uid='S18853883587' AND tx_time Between '2015-09-17 0:00:0' AND '2015-10-27 24:00:0';
复制代码

     查询结果 2


     SQL 语句 3

     

SELECT * FROM lmapp.lm_bill where merch_uid='S18853883587' AND tx_time Between '2015-09-17' AND '2015-10-27';
复制代码

     查询结果 3


通过对比,可以清楚的发现以上 3 种 sql 语句所对应的查询结果均不相同。

若自己想只以日期为查询条件而忽略时间,则需要对 sql 语句做进一步的处理操作。

数据库中数据存储情况:


     由此可见 SQL 语句 1 为满足条件的查询语句。


二、​​如何完全卸载 mysql 数据库

      有时候 MySQL 不能完全卸载,这时候必须通过一些途径删除掉注册表和一些残余的文件,然后才能重新安装才可以成功!

  1. 控制面板 —> 所有控制面板项 —> 程序和功能,卸载 mysql server!

 


  1. 然后删除 mysql 文件夹下的 my.ini 文件及所有文件

  2. 运行“regedit”文件,删除

  HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 文件夹。

  HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 文件夹。   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 文件夹。

  1. 删除 C 盘下的“C:\ProgramData\MySQL ”所以文件,如果删除不了则用 360 粉碎掉即可,该 programData 文件是隐藏的默认,设置显示后即可见,或者直接复制上边的地址到地址栏回车即可进入!删除后重启电脑,重装 MYsql 数据库应该就成功了。

​​

三、外键约束


执行删除操作时,出现如下错误提示:



出现以上问题的原因是:在数据库中涉及到主外键的操作,删除时应对其进行级联删除的设置。如下图所示:



在做删除视图中数据操作时,出现如下错误提示:



解决方法:删除视图中的数据其实应删除基表中的数据。这样视图中的数据才能够被删除。

其实这样做,只是在直接完成 SQL 命令或手动添加对象信息时,这些字段值的默认值才会起作用。应该在 Java 代码中也可以将其实现,需要在执行 SQL 语句时做些手脚。

发布于: 2022 年 07 月 23 日阅读数: 4
用户头像

No Silver Bullet 2021.07.09 加入

岂曰无衣 与子同袍

评论

发布
暂无评论
mysql进阶(十九)SQL语句如何精准查找某一时间段的数据_MySQL_No Silver Bullet_InfoQ写作社区