mysql
文章平均质量分 69
huaism
工作经验15年
展开
-
update 语句会发生死锁?
90% 的程序员都认为 innodb 是行级锁,但实际上使用不当,它也是表级锁!看过我博客的网友都知道,我之前写过一篇文章《 InnoDB 的 select 行锁还是表锁?》。拯救过不少人,今天我们再来一次大拯救!最近生产上的 MySQL 数据库,是不是的就来一次 DeadLock,其中我做了故障排查,昨天做了相关的升级,导致昨天非常的忙,很多网友加我好友,都没有及时回应,直到晚上升级结束,我在群里做了相关的解释!截了一段错误日志信息如下:其中涉及到的更新语句如下:很奇妙吧,执行一条 update转载 2021-10-26 15:36:22 · 2651 阅读 · 2 评论 -
mysql查询不重复数据
1.查询不重复数据select *, count(distinct name) from table group by name;2.查询重复数据select userid from table where userid in ( select userid from table group by userid having count(userid)>1);原创 2015-10-14 19:24:22 · 2874 阅读 · 0 评论 -
linux 设置group_concat_max_len
MySQL提供的group_concat函数可以拼接某个字段值成字符串,如 select group_concat(user_name) from sys_user,默认的分隔符是 逗号,即"," ,如果需要自定义分隔符可以使用 SEPARATOR如:select group_concat(user_name SEPARATOR '_') from sys_user但是如果 us原创 2016-03-30 10:55:04 · 9290 阅读 · 0 评论 -
mysql 导出数据的时候不锁表
mysql使用技巧 1.导出数据的时候,可以加入mysqldump --skip-lock-table,可以在不锁表的情况导出数据,速度更快一些 2.在连接数据库的时候,可以加入-A,可以加快连接速度 3.查询sql语句的时候,在末尾加入\G,可以显示为”字段:值“的格式 4.也可以使用-e进行sql语句查询 如:mysql -uroot -pro转载 2016-12-08 13:46:35 · 19943 阅读 · 0 评论 -
yum 安装卸载mysql
http://blog.csdn.net/a695017449/article/details/37900131linux下使用yum安装mysql 1、安装查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装转载 2017-01-13 00:09:13 · 5006 阅读 · 1 评论 -
mysql JS 计算两GPS坐标的距离函数:
sql:drop function getDistance;DELIMITER $$ CREATE DEFINER=`root`@`localhost` FUNCTION `getDistance`( lng1 float(10,7) ,lat1 float(10,7) ,lng2 float(10,7) ,lat2 float(10,7)) RETU转载 2017-04-17 00:06:48 · 1243 阅读 · 0 评论 -
让sql语句不排序,按照in语句的顺序返回结果
有时候我们需要按照in条件里的id顺序输出结果,可sql语句在不加order by的时候是按照asc排序的,下边的sql解决按照in条件顺序的id输出查询结果MySQL写法: SELECT * FROM EVENT WHERE eventId IN(443,419,431,440,420,414,509) ORDER BY INSTR(',443,419,431,440,420,41转载 2017-04-21 16:25:42 · 2170 阅读 · 0 评论 -
MySQL 命令行导出、导入Select 查询结果
环境: Windows 2003 SP2 + MySQL5.5.28 Author: 博客园小dee --> 有的时候需要把在一张表中用 select 语句查询出来的结果保存到另一张结构相同的表中,可以有几种方法来实现:方法一:在命令行下使用一对SQL语句完成该操作:导出查询结果:Select语句 into outfile '保存路径+文件名';转载 2017-07-07 18:38:35 · 28993 阅读 · 0 评论 -
mysql启动错误[Bind on TCP/IP port:...]
mysql启动错误[Bind on TCP/IP port:...]新装完的系统安装完mysql并且设置IP重启之后,mysql就怎么也启动不了,一直提示:greatmoo:~# mysqld &[1] 3527greatmoo:~# 081021 11:02:51 InnoDB: Started; log sequence number 0 43655081021 11:0...转载 2018-09-30 01:37:55 · 5629 阅读 · 0 评论 -
mysql启动错误[Bind on TCP/IP port:...]
首先看错误日志:默认在 /var/log/mysqld.log配置文件在/etc/my.cnfmysql启动错误[Bind on TCP/IP port:...]新装完的系统安装完mysql并且设置IP重启之后,mysql就怎么也启动不了,一直提示:greatmoo:~# mysqld &[1] 3527greatmoo:~# 081021 11:02:51 InnoD...转载 2018-09-30 01:40:55 · 1037 阅读 · 0 评论 -
oracle 函数 WMSYS.WM_CONCAT 的用法 与 mysql 函数GROUP_CONCAT的用法
1、oracle函数 WMSYS.WM_CONCAT的使用如图,将图1的结果变成图2的结果,使用函数 WMSYS.WM_CONCAT 即可。查询语句需要配合使用group byselect aa,wmsys.wm_concat(t1.name) from (select t.name,to_char(t.createdate,'yyyy-mm-dd') aa fro转载 2015-09-01 18:24:08 · 5268 阅读 · 0 评论 -
mysql like 查询 有单引号的处理办法。org.hibernate.QueryException: expecting ''', found '<EOF>' [SELECT DISTINCT
org.hibernate.QueryException: expecting ''', found '' [SELECT DISTINCT D FROM XXX ]原因就是有单引号,然后 sql语句加上 \' 转义字符。 或用 2个单引号。''在hibernate的查询中不能用 \’ , 可以用'' 代替。即:'%"+St原创 2015-08-26 11:22:40 · 9679 阅读 · 0 评论 -
MySQL 导入慢的解决方法
MySQL导出的SQL语句在导入时有可能会非常非常慢,经历过导入仅45万条记录,竟用了近3个小时。在导出时合理使用几个参数,可以大大加快导 入的速度。 -e 使用包括几个VALUES列表的多行INSERT语法; --max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小; --net_buffer_length=XXX TCP原创 2013-06-07 13:27:01 · 1409 阅读 · 1 评论 -
在mysql 中查询时间最大的一条记录
select * from hodelog where h_time in (select max(h_time) from hodelog group by h_hid) and h_hid=9999999也可以:MySql 分组排序取时间最大的一条记录SELECT A.* FROM digital_asset A,(SELECT name, max(last_u原创 2013-07-31 17:39:05 · 47711 阅读 · 0 评论 -
在JAVA中查询刚插入的记录ID 利用JDBC的getGeneratedKeys获得INSERT插入后生成的主键ID
public Object insertGetId(String sql, Object... params) throws Exception { Connection conn = null; PreparedStatement preparedStatement = null; ResultSet rs = null; try原创 2013-08-01 11:07:07 · 20406 阅读 · 1 评论 -
在linux下自动备份数据库,并且发送邮件。
接到任务:在cenos6.x系统中每天定时备份mysql数据库和Oracle数据库解决时间1天:步骤:MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据。◆1、创建备份文件夹------------------------------------[root@localhost cd /home/[ro原创 2013-06-18 16:55:34 · 3252 阅读 · 0 评论 -
当执行SQL(ORACLE)时判段另一个字段的值去执行不同SQL,及 CASE WHEN 语句的使用
需求:在执行一个SQL时需要判断其他字段的值去执行不同的sql语句:SQL:UPDATE table SET clearing=1, clear_count=CASE WHEN UNLIMITED_TIMES = 1 THEN nvl(clear_count, 0)+1 else 0 END WHERE id=21的意思是当 table中 UNLIMITED_TIME原创 2013-10-21 18:02:49 · 6438 阅读 · 0 评论 -
oracle 的日期 between and 用法
//程序://介绍://如果downloadDateBegin 和 downloadDateEnd 日期不为空//格式化日期 if(downloadDateBegin != null && downloadDateEnd != null){ SimpleDateFormat sf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); St原创 2013-11-01 18:59:23 · 31251 阅读 · 0 评论 -
linux 导入mysql 文件 乱码
在导入的时候设置:进入mysql mysql -uroot -padmin use dbnaneser names utf-8原创 2013-12-09 16:16:55 · 657 阅读 · 0 评论 -
mysql 中删除某个字段重复的SQL语句
delete evalustion as a from evaluation as a ,(select * from evaluation group by month having count(1) > 1) as b where a.month = b.month and a.id原创 2014-02-12 18:16:46 · 835 阅读 · 0 评论 -
MYSQL字段,表名大小写的问题 CASE IN-SENSITIVE MYSQL ON LINUX
case in-sensitive mysql on linux Windows下的MySQL是不区分大小写的(好像是?)所以我们不太注意这个问题,当程序要从Windows迁移到Linux时,就会出现这样的问题,Linux下的MySQL是区分大小写的,总不能为了这个而去把程序全改一遍吧?当然你要这么做也是可以的。我选择了让MySQL不区分大小写。编辑my.conf,转载 2014-06-19 14:42:03 · 1777 阅读 · 0 评论 -
SQL 查询中间表同时满足2钟情况的办法
需求 :表A 结构 id ,name 表B:结构 id ,name 中间表C:id,a_id,b_id,a_type数据:1, 1, 1,12, 1, 2,23, 1, 3,3 需要查询 a_id 等于1 且type 同时等于 1,2,3 的中间表数据那么 用 IN OR AND 都不能满足需要:所以:select C.* F原创 2014-12-25 19:15:08 · 4010 阅读 · 2 评论 -
MySQL因为区分大小写而引起找不到表
开发一直在本地mysql数据进行,完成后测试连接LINUX服务器数据库,结果一直报错找不到表!另我纳闷的是服务器数据库里明明是建了表的,用mysql控制台测试连接执行查询也没问题,可程序就是一直报错!于是开始反复测试找问题,刚开始以为是驱动或mysql版本不匹配等引起的原因,但是重新写了个JDBC连接执行查询发现没问题!说明驱动没问题!于是怀疑连接池的问题,于是将程序里的连接改成新写的JDBC转载 2013-05-22 16:07:57 · 863 阅读 · 0 评论