sql
树上的疯子^
树上有一个疯子,一天疯子看见一个傻子站在井边一直喊:13…13…13…… 疯子就下来问傻子:傻子,你在喊什么啊? 傻子看了眼疯子,没理他,继续喊:13…13…13…… 疯子就很好奇,把头伸到井边去看! 傻子一抬脚,“扑通”,疯子掉进了井里! 傻子嘿嘿一笑,说:“14…14…14……”!
展开
-
ruoyi分页优化方案
优化了求总数的语句优化了很久 不得其法终于找到解决办法只要增加一个_COUNT的就可以 一定要大写原创 2021-09-08 14:56:38 · 680 阅读 · 0 评论 -
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
#下面这两个配置,可以在每次连接的时候判断一些连接是否有效spring.datasource.druid.test-on-borrow=truespring.datasource.druid.test-while-idle=true原创 2021-09-01 18:19:29 · 165 阅读 · 0 评论 -
Packet for query is too large (> 4,194,304). You can change this value on the server
批量插入数据量过大方法1:使用命令(推荐)假如设置为500Mset global max_allowed_packet = 524288000;或set global max_allowed_packet = 500*1024*1024; 方法2:修改配置不建议,还要重启服务修改 my.ini 加上 max_allowed_packet =6710886467108864=64M默认大小4194304 也就是4M修改完成之后要重启mysql服务,如果通过命令原创 2021-08-25 14:03:59 · 5582 阅读 · 1 评论 -
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:#vim /etc/my.cnf(注:windows下修改的是my.ini)在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:2.点击ESC 使用 :wq!保存并退出3.使用 service mysqld restart 重启MySQL服务4.免密码登陆(注:敲入 mysql -u root -p 命令然后回车,当需要输入密码时,直接按enter键,便可以不用原创 2021-06-23 16:01:40 · 129 阅读 · 0 评论 -
mysql null改为0
IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值。ifnull(表达式,0)...原创 2020-10-22 14:13:17 · 1913 阅读 · 0 评论 -
mysql中得到varchar类型数据的最大值
如果不转的话查询的会有问题select MAX(CAST(userNo as SIGNED INTEGER))from userInfo ;或者select MAX(CAST(userNo as UNSIGNED INTEGER))from userInfo ;————varchar 转 intcast(id as signed integer) 或者cast(id as unsigned integer)mysql无符号和有符号的区别无符号unsigned...原创 2020-09-23 19:51:55 · 565 阅读 · 0 评论 -
一周前 一月前 一年前的数据 这里主要用到了DATE_SUB mysql
mysql 昨天 一周前 一月前 一年前的数据 这里主要用到了DATE_SUB,SELECT * FROM yh_contentwhere inputtime>DATE_SUB(CURDATE(), INTERVAL 1 DAY)where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 WEEK)where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 MONTH)where inputtime>DATE_S原创 2020-07-28 09:56:42 · 733 阅读 · 0 评论 -
now() 和SYSDATE()的区别
mysql中日期函数还是比较常用的。主要有NOW()和SYSDATE()两种,虽然都表示当前时间,但使用上有一点点区别。 NOW()取的是语句开始执行的时间,SYSDATE()取的是动态的实时时间。因为NOW()取自mysql的一个变量”TIMESTAMP”,而这个变量在语句开始执行的时候就设定好了,因此在整个语句执行过程中都不会变化。执行下面这个例子就明白了:SELECT NOW(),SYSDATE(),SLEEP(3),NOW(),SYSDATE()先查询了NOW()和SYSDAT原创 2020-07-22 18:34:16 · 2369 阅读 · 1 评论 -
bit_or和bit_count
bit_or:二进制数按位或,bit_and:二进制数按位与,bit_count:统计二进制数1个个数根据天数计算访问量时,出现了BIT_COUNT()和BIT_OR()两个函数来处理天数计算的问题所使用的表格信息如下:mysql> select year,month,day from t1;+------+-------+------+| year | month | day |+------+-------+------+| 2000 | 01 | 01 |...原创 2020-07-10 17:51:03 · 343 阅读 · 0 评论 -
MySQL用户变量
MySQL用户变量:基于会话变量实现的,可以暂存值,并传递给同一连接里的下一条sql使用的变量,当客户端连接退出时,变量会被释放。MySQL用户变量应用场景:同一连接,未关闭情况下,帮你暂存一些计算结果。两种方式定义用户变量:1. "=" 如 set @a = 3 , @a: = 52. ":=" select常常这样使用。总结:使用select和set设置变量的区别,set可以使用以上两种形式设置变量,而select只能使用":="的形式设置变量。例如,要找出价格最高..原创 2020-07-10 15:05:45 · 335 阅读 · 0 评论 -
Oracle数据库下用concat函数模糊查询之参数个数无效
一直报错参数个数无效,模糊查询的sql语句还是concat('%','s','%')这样写的但实际上oracle中不支持concat的三个参数的拼接,需要更正为 select * from SYS_MENU where url like concat(concat('%',#{roleName}),'%')或者使用select * from SYS_MENU where urllike'%' ||#{roleName}|| '%';...原创 2020-05-19 16:53:50 · 2249 阅读 · 1 评论 -
查看表和注释生成时间更新时间
mysql写法select table_name, table_comment, create_time, update_time from information_schema.tables where table_schema = (select database()) AND table_name NOT LIKE 'qrtz_%' AND table_name NOT LIKE 'gen_%' AND table_name NOT IN (sele...原创 2020-05-19 16:22:05 · 975 阅读 · 0 评论 -
oracle的批量更新 mybaties
oracle和mysql数据库的批量update在mybatis中配置不太一样:oracle数据库:<update id="updateBatchStatus" parameterType="java.util.List" databaseId="oracle"> <foreach collection="list" item="item" index=...原创 2020-04-22 13:21:48 · 201 阅读 · 0 评论 -
Oracle 替换匹配到的第一个字符串
6个参数第一个是输入的字符串第二个是正则表达式第三个是替换的字符第四个是标识从第几个字符开始正则表达式匹配。(默认为1)第五个是标识第几个匹配组。(默认为全部都替换掉)第六个是是取值范围:i:大小写不敏感;c:大小写敏感;n:点号.不匹配换行符号;m:多行模式;x:扩展模式,忽略正则表达式中的空白字符。全部测试数据SQL> sel...原创 2020-04-20 17:23:35 · 3899 阅读 · 0 评论 -
主键和唯一索引区别unique index
主键一定是唯一性索引,唯一性索引并不一定就是主键。所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。数据库在设计时,主键起到了很重要的作用。主键可以保证记录的唯一和主键域非空,数据库管理...原创 2020-04-08 10:47:02 · 424 阅读 · 0 评论 -
mysql 多字段拼接
1. concat函数mysql> select concat('1','2','3') from test ;+---------------------+| concat('1','2','3') |+---------------------+| 123 |+---------------------+如果连接串中存在NULL,则返回结果为N...原创 2020-03-31 18:06:20 · 253 阅读 · 0 评论 -
数据库时间与实际时间相差8小时
原因:由于默认的是UTC时间,所以在中国有8个小时的时差,需要将serverTimezone的值改为GMT%2B8spring: datasource: url: jdbc:mysql://172.0.0.1:3306/xxx?serverTimezone=GMT%2B8...原创 2020-03-10 00:30:47 · 5510 阅读 · 1 评论 -
安装Aqua Data Studio-V9.0.15 .
安装 Aqua Data Studio V9.0.15 Step 1: 从官方网站下载 Aqua Data Studi0 V9.0.15 for Windows Installer. 链接地址: http://www.aquafold.com/aquadatastudio_downloads.html Step 2: 从 CSDN 网站下载注册机 链接地址: ht转载 2013-05-24 10:14:46 · 4648 阅读 · 0 评论 -
经典sql练习题
今天在网上找了几道经典的SQL练习题做了一下,虽然都不难,但是对打基础是很有好处的,在明白的基础上可以进一步做分析,来研究一下各种解法的优劣,甚至进行简单的优化。。现在将题目和答案分享一下。我使用的是MYSQL 5.0,但是绝大部分都是标准SQL。表结构:CREATE TABLE STUDENT(SNO VARCHAR(3) NOT NULL, SNAME VARCHAR(4)转载 2014-09-01 10:16:52 · 436 阅读 · 0 评论 -
sql部分
查看表空间select dbf.tablespace_name,dbf.totalspace "总量(M)",dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs.freespace / dbf.totalspace) * 100 "空闲比例" from (select t.t原创 2015-04-20 10:08:37 · 363 阅读 · 0 评论 -
数据库索引介绍及使用
一、索引的概念 索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。 二、索引的特点 1.索引可以加快数据库的检索速度 2.索引降低了数据库插入、修改、删除等维护任务的速度 3.索引创建在表上原创 2015-05-07 01:49:09 · 441 阅读 · 0 评论 -
Mysql 关键字-保留字
ADDALLALTERANALYZEANDASASCASENSITIVEBEFOREBETWEENBIGINTBINARYBLOBBOTHBYCALLCASCADECASECHANGECHARCHARACTERCHECKCOLLATECOLUMN转载 2015-05-14 13:41:38 · 361 阅读 · 0 评论 -
Oracle启动和关闭
Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能。 一、启动和关闭Oracle数据库 对于大多数Oracle DBA来说,启动和关闭Oracle数据库最常用的方式就是在命令行方式下的Server Manager。从Oracle 8i以后,系统将Server Manager的所有功能都集中到了SQL*Plus中,也就是说从原创 2015-05-07 00:57:47 · 327 阅读 · 0 评论 -
SQL 优化原则
一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不转载 2015-05-07 02:07:14 · 360 阅读 · 0 评论 -
mybaties的动态sql详解
基础部分可以查看我的另一篇博客:http://haohaoxuexi.iteye.com/blog/1333271 MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。MyBatis中用于实现动态SQL的元素主要有: ifchoose(when,otherwise)trimwheresetforeachif就是简单的条件转载 2015-05-20 16:17:46 · 710 阅读 · 0 评论 -
mysql中如何获取年、月、日及本周是一年中的第几周??
select year(curdate()),month(curdate()),day(curdate());select weekofyear(curdate());有点细微的差别,weekofyear(date)相当于week(date,3). 下面是week(date,Mode),取值的说明,根据自己的实际情况取自己想要的值 Mode 工作日 范围 Week 1原创 2015-05-20 10:16:24 · 25088 阅读 · 0 评论 -
使用 GROUP BY WITH ROLLUP 改善统计性能 .
使用 GROUP BY 的 WITH ROLLUP 字句可以检索出更多的分组聚合信息,它不仅仅能像一般的 GROUP BY 语句那样检索出各组的聚合信息,还能检索出本组类的整体聚合信息。下面我们的例子对比了普通的 GROUP BY 操作和有 WITH ROLLUP 子句的 GROUP BY 操作的不同:查询表的内容,是雇员的基础信息表:[xhtml] view原创 2015-05-21 15:08:21 · 719 阅读 · 0 评论 -
日周月季
select count(1) value,date_format(down_time,'%m/%d') name,date(down_time) displayDate from tb_download_detail group by date(down_time) order by displayDate asc select count(1) val原创 2015-05-28 15:36:02 · 1149 阅读 · 0 评论 -
int、bigint、smallint 和 tinyint范围
int、bigint、smallint 和 tinyint范围使用整数数据的精确数字数据类型。bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,6原创 2015-05-28 19:06:48 · 674 阅读 · 0 评论 -
MySQL那些与日期和时间相关的函数(now() sysdate())
MySQL那些与日期和时间相关的函数2012年09月24日00:05 it168网站原创 作者:姜承尧 编辑:王玉圆 评论:0条 【IT168 技术】日期函数可能是比较常使用的一种函数。下面介绍一些最为常用的日期函数及一些容易忽略的问题。 1. NOW、CURRENT_TIMESTAMP和SYSDATE 这些函数都能返回当前的系统时间,它们之间有区别吗?先来看个例子。原创 2015-05-18 13:58:33 · 1196 阅读 · 0 评论 -
MySQL中SYSDATE()和NOW()的区别
MySQL中有5个函数需要计算当前时间的值:NOW.返回时间,格式如:2012-09-23 06:48:28 CURDATE,返回时间的日期,格式如:2012-09-23 CURTIME,返回时间,格式如:06:48:28 UNIX_TIMESTAMP,返回时间整数戳,如:1348408108 SYSDATE,返回时间,格式和time()函数返回时间一样,但是有区别。 除了本身定义所返转载 2015-05-18 13:53:29 · 5008 阅读 · 0 评论 -
oracle函数学习(sign和trunc)
sign函数语法:sign(n)sign函数说明:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0示例:select sign( 100 ),sign(- 100 ),sign( 0 ) from dual;SIGN(100) SIGN(-100) SIGN(0)———- ———- ———-1 -1 0原创 2015-08-10 15:49:40 · 410 阅读 · 0 评论 -
MySQL 获得当前日期时间(以及时间的转换)
1.1 获得当前日期+时间(date + time)函数:now()除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:current_timestamp() current_timestamplocaltime() localtimelocaltimestamp() localtimestamp 这些日期时间函数,都等同于 now()原创 2015-08-11 13:55:44 · 251 阅读 · 0 评论 -
扩展RBAC用户角色权限设计方案
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员转载 2015-07-17 14:34:40 · 391 阅读 · 0 评论 -
mysql日期函数
select timediff('23:40:00', ' 18:30:00'); -- 两时间相减SELECT substring( timediff('23:40:00', ' 18:30:00'),1,5) ----“05:10”相减返回小时:分钟select datediff('2008-08-08', '2008-08-01'); -- 7 -----两日期相减原创 2015-08-11 14:01:06 · 259 阅读 · 0 评论 -
mysql insert语法注意事项(ON DUPLICATE KEY UPDATE )
NSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr,转载 2015-07-20 15:52:07 · 1200 阅读 · 0 评论 -
查询所有本周,本月的数据
查询所有本周,本月的数据[SQLServer]表名为:tableName 时间字段名为:theDate 查询本月的记录 select * from tableName where DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDA原创 2015-08-05 14:27:32 · 461 阅读 · 0 评论 -
sql函数
sql函数原创 2015-04-20 14:00:19 · 510 阅读 · 0 评论 -
mysql反引号的应用
问题描述:以前学习中用的是SQL SERVER2005,最近刚开始使用MYSQL,发现MYSQL的单引号很麻烦,是斜体的 “,现在打出来就是左边那两个点,如果使用平时使用的普通单引号’ ‘ 就会显示运行错误,建不了表请问怎么回事?怎么打出那种引号? 还有就是如果手动建表(不打代码的那种),执行后MYSQL自动的语句中没有引号,如果用那种方式拉出来建表运行却可以正常建立,但是有些地方又很大不同,上原创 2015-10-15 18:27:07 · 878 阅读 · 0 评论 -
mysql中int、bigint、smallint 和 tinyint的区别与长度
mysql中int、bigint、smallint 和 tinyint的区别与长度 上图说明了, 常用的整型类型之前的差别.以int类型为例.int类型, 占用4个字节, 有符号可表示的范围是(-2^31 ~ 2^31-1 ), 无符号表示的范围是(0~2^32-1).tinyint类型, 占用1个字节, 有符号表示范围是(-2^7 ~ 2^7-1), 无转载 2015-11-20 16:39:39 · 760 阅读 · 0 评论