
MySQL
文章平均质量分 56
学习关系型数据库的基础与高级特性,优化 SQL 查询性能
一勺菠萝丶
做一个俗人,贪财好色,一世风流
展开
-
如何在数据库中正确存储金额?
基本原则✅ 精确计算 →DECIMAL✅ 极致性能 →BIGINT(需处理单位)❌ 禁止使用 →FLOATDOUBLE扩展建议金额字段设置为NOT NULL并设置默认值0定期备份和审计资金相关表用CHECK约束防止负数(如参考文档IEEE 754浮点数陷阱。原创 2025-05-19 11:53:01 · 731 阅读 · 0 评论 -
SQL查询优化:动态选择返回字段
在数据库操作中,我们经常遇到需要根据字段的存在与否动态选择返回值的场景。本文通过一个具体的例子,展示如何使用SQL语句来优化这种情况的处理,确保我们的查询结果既灵活又高效。原创 2024-07-26 10:54:58 · 681 阅读 · 0 评论 -
深入理解并使用 MySQL 的 SUBSTRING_INDEX 函数
是 MySQL 中的一个字符串函数,用于返回字符串从开始位置到指定的分隔符的第 N 次出现之前的部分。这个函数尤其在处理包含分隔符的字段时显得非常实用,比如文件路径、URLs、复合字符串等。原创 2024-07-18 16:25:47 · 2959 阅读 · 0 评论 -
解决MySQL “Lock wait timeout exceeded; try restarting transaction“ 错误
Lock wait timeout exceeded” 是一个常见的MySQL错误,指示了潜在的性能问题或死锁。适当的监控和维护可以帮助预防此类问题,确保数据库的健康和性能。在处理时,务必谨慎,避免采取可能破坏数据完整性的行动。原创 2024-03-19 22:22:54 · 5352 阅读 · 0 评论 -
如何在MySQL中按字符串中的数字排序
在管理数据库时,我们经常遇到需要按嵌入在字符串中的数字进行排序的情况。这在实际应用中尤为常见,比如文件名、代码版本号等字段中通常包含数字,而这些数字往往是排序的关键。本文将详细介绍如何在MySQL中利用正则表达式提取字符串中的数字并按这些数字进行排序,以一个具体的例子来说明,使得即使是数据库操作的初学者也能轻松理解和应用。原创 2024-06-27 14:14:51 · 1416 阅读 · 0 评论 -
MySQ中CONCAT函数使用
通过本文,我们详细了解了MySQL中处理字符串的一些常用函数,它们在数据处理和报告制作中非常有用。希望这些内容能够帮助你更有效地管理和查询数据库中的数据。点个关注,不会迷路!原创 2024-06-07 14:22:36 · 428 阅读 · 0 评论 -
Mysql sql语句字段截取前几位,后几位等
在MySQL中,处理字符串数据时,我们经常需要对字符串进行截取操作。MySQL提供了多种字符串截取函数,用以满足不同的需求。MySQL的字符串截取函数提供了强大的工具来处理和分析字符串数据。通过合理使用这些函数,可以极大地简化SQL查询中的字符串操作。函数是一个功能强大且灵活的字符串截取函数,它允许从任意位置开始截取,并可以指定截取的长度。此函数在Hibernate框架中不支持,但可以在MySQL客户端中使用。,此函数在Hibernate框架中不得支持,但在MySQL客户端中有效。原创 2024-06-07 14:03:02 · 3382 阅读 · 0 评论 -
精准备份:如何自动化单个MySQL数据库的备份过程
当你在Linux服务器上工作时,可能需要找到某个正在运行的Java应用的JAR文件位置。这对于诊断问题、更新应用或理解部署结构非常有用。以下是一个步骤详细的指南,帮助你找到这些信息。原创 2024-04-07 11:41:42 · 537 阅读 · 0 评论 -
提升应用性能必备:深入解析7大SQL优化技巧
通过掌握上述SQL优化技巧,可以显著提升数据库操作的效率。在实际应用中,根据具体场景选择合适的优化方法,不断调整和优化数据库性能。希望这篇博客能帮助你更好地理解和运用SQL优化技巧,提升应用程序的响应速度和用户体验。原创 2024-06-04 10:47:41 · 891 阅读 · 0 评论 -
如何删除数据库中重复的记录并保留最小 ID 的记录(仅限重复次数大于1的情况)
在数据库中,有时会遇到重复的记录,这些记录可能有相同的title或其他字段。在这种情况下,我们可能需要删除重复的记录,只保留具有最大id的记录。本文将介绍如何使用 SQL 来实现这一目标。原创 2024-05-21 15:40:44 · 430 阅读 · 0 评论 -
mysql对String类型的数字值排序
正常SELECT current_box_num, total_box_num FROM jis_order WHERE delete_flag = 0 AND id IN ( 41362, 41361, 41360, 41359, 41358, 41357, 41356 ) ORDER BY total_box_num asc查询结果但如果total_box_num字段类型是String的话排序就会有问题, 需要在字段前加--SELECT current_box_num,原创 2021-05-20 09:16:57 · 2070 阅读 · 0 评论 -
delete删除select查询出来的结果
UPDATE stock_in_record_detail SET delete_flag = 1 WHERE id IN ( SELECT * FROM ( SELECT d.id FROM stock_in_record_detail d LEFT JOIN stock_in_record r ON d.stock_in_record_id = r.id AND r.delete_flag = 0 LEFT JOIN transit_main原创 2021-02-02 16:34:54 · 4521 阅读 · 1 评论 -
Mybatis criteria 多个字段模糊匹配
需求:搜索框中可输入手机号,姓名,地址查询,后台需要对一个框中的多个字段做匹配查询。方法一:写sql<if test="condition!=null and condition!=''">AND CONCAT(r.name,a.name,a.phone,a.addr_detail) LIKE '%' #{condition} '%'</if>方法二:使用criteriaExample example = new Example(OutboundLibraryRec原创 2020-08-31 11:04:30 · 3392 阅读 · 1 评论 -
MySQL按月、按年、按天、按周统计数据的方法
按日统计select DATE_FORMAT(date,’%Y%m%d’) days,count(id) count from table group by days;按周统计select DATE_FORMAT(date,’%Y%u’) weeks,count(id) count from table group by weeks按月统计select DATE_FORMAT(...原创 2019-11-30 11:22:18 · 1070 阅读 · 0 评论 -
DATETIM和TIMESTAMP的区别
首先 DATETIM和TIMESTAMP类型所占的存储空间不同,前者8个字节,后者4个字节,这样造成的后果是两者能表示的时间范围不同。前者范围为1000-01-01 00:00:00 ~ 9999-12-31 23:59:59,后者范围为1970-01-01 08:00:01到2038-01-19 11:14:07。所以可以看到TIMESTAMP支持的范围比DATATIME要小,容易出现超出的情...原创 2019-07-19 09:39:08 · 918 阅读 · 0 评论 -
二叉树的深度和高度的区别
区别深度是从根节点数到它的叶节点,高度是从叶节点数到它的根节点。具体二叉树的深度是从根节点开始(其深度为1)自顶向下逐层累加的;而二叉树高度是从叶节点开始(其高度为1)自底向上逐层累加的。虽然树的深度和高度一样,但是具体到树的某个节点,其深度和高度是不一样...原创 2019-03-28 09:36:27 · 10955 阅读 · 0 评论 -
MySQL命令
连接MySQL服务器1》mysql -u用户名 -p密码2》mysql -u用户名 -pEnter Password:来输入密码3》mysql -h主机名名称 -u用户名 -p密码退出MySQL1》exit2》quit3》\q4》Ctrl+C原创 2017-11-24 15:08:39 · 334 阅读 · 0 评论 -
mysql 时间戳格式化函数from_unixtime使用说明
mysql 时间戳格式化函数from_unixtime使用说明转载 2018-04-18 14:26:23 · 718 阅读 · 0 评论 -
向mysql数据库中插入图片路径 “\” 消失问题
问题:在向数据库中执行插入语句时发现图片路径中的”\”消失例如:insert into class_circle (c_picture,c_smailpicture) values('\lixinyu\demo','\lixinyu\demo');效果: \lixinyu\demo中的 “\” 消失了,这样的效果不是想要的解决办法在写插入语句的时候加上转义字符”\”...原创 2018-07-17 15:11:53 · 3824 阅读 · 0 评论 -
简单的mysql增加改查Demo
insert命令向表中插入数据(增)//插入一个字段insert into user (name) values ('xiaobai')//插入多个字段多条insert into user (id,name,age)values(1,'xiaoming',2),(2,'xiaohong',13),(3,'xiaoli',33) delete命令用于表中的记录(删)...原创 2018-07-29 11:48:19 · 351 阅读 · 0 评论 -
MySQL数据库-错误1166 Incorrect column 'user_id'
出现MySQL数据库-错误1166 Incorrect column name 字段名,这个是字段中有空格了,这个只要利用alert或phpmyadmin进入修改即可解决. 今天在用Navicat for MySQL给MySQL数据库修改表的字段时报如下的错误MySQL 返回:MySQL 报出:#1166 – Incorrect column name ‘xxx'mysq...原创 2018-07-21 14:28:06 · 1232 阅读 · 0 评论 -
windows10/7下安装配置MySQL数据库过程及遇到问题的解决变法
1,https://blog.csdn.net/m0_37788308/article/details/79965378 2,https://blog.csdn.net/u010603691/article/details/50379282 3,https://blog.csdn.net/lasolmi/article/details/398513991为windows下安装MySQL主过...转载 2018-06-27 21:45:13 · 276 阅读 · 0 评论 -
phpstudy升级mysql后无法启动问题
因为mysql支持全文索引的只有5.6以上,而我下的phpstudy只有5.5的版本,在导入数据库的时候因为该数据库的表内有使用全文索引,因此必须升级phpstudy的mysql版本,升级过程可以参考https://blog.csdn.net/belen_xue/article/details/52949817 这里只说一下升级后出现的问题,升级完之后点击phpstudy中的启动按钮,只能...原创 2018-08-10 09:17:55 · 2752 阅读 · 0 评论 -
Windows下mysql修改root密码的4种方法
https://www.jb51.net/article/84146.htm转载 2018-08-10 10:03:37 · 5537 阅读 · 1 评论 -
MYSQL 5.7 INCORRECT DATETIME VALUE: ‘0000-00-00 00:00:00’ FOR COLUMN 的异常处理 LINUX CENTOS 7(window也可以)
http://www.51softs.com/%E5%BC%80%E5%8F%91%E5%BC%82%E5%B8%B8%E5%8F%8A%E8%A7%A3%E5%86%B3/mysql-5-7-incorrect-datetime-value-0000-00-00-000000-for-column-%E7%9A%84%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86-lin...转载 2018-08-10 14:10:37 · 955 阅读 · 0 评论 -
java 事务学习总结
事务总结1,事务的特性★★★ACID A,原子性:事务里面的操作单元不可以切割,要么全部成功,要么全部失败 C,一致性:事务执行前后,业务状态和其他业务状态保持一致 I,隔离性:一个事务执行的时候最好不要受到其他事务的影响 D,持久性:一旦事务提交或者回滚,这个状态都要持久化到数据库中2,不考虑隔离性会出现的读问题★★脏读:在一个事务中读取...原创 2018-08-20 10:55:37 · 244 阅读 · 0 评论 -
No Suitable Driver Found For Jdbc解决方法
在学习java数据库连接池使用的时候遇到问题,无法连接到数据库,之前练习别的时候都没事,莫名的到这里有连接不上了,查看日志是”No Suitable Driver Found For Jdbc”,但查看数据库连接配置没问题啊,后来发现原来是少导入了一个包mysql-connector-java-3.1.14-bin.jar,导入该包,问题解决. 总结一下No Suitable Driver...原创 2018-08-21 18:00:24 · 120706 阅读 · 24 评论 -
sql从一堆数字中查询出正数的总个数和负数总个数
sqlSELECT sum(CASE WHEN mark < 0 THEN 1 ELSE 0 END) AS markAdd , sum(CASE WHEN mark >= 0 THEN 1 ELSE 0 END) AS markReduceFROM evaluation_log结果case when使用学习[https://www.cnblogs.com/m...原创 2019-03-20 17:31:20 · 3238 阅读 · 0 评论 -
Sql之left join(左关联)、right join(右关联)、inner join(自关联)的区别
首先来个图例:left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: --------------------------------------------表A记录如转载 2017-12-09 10:56:00 · 4950 阅读 · 0 评论