
MySQL
鲨鱼辣椒灬
这个作者很懒,什么都没留下…
展开
-
MySQL如何给查出的数据 加上序号
MySQL 给查出的数据加序号的方法SELECT sid,sname,gender,age,(@i:=@i+1) AS '序号' FROM student,(SELECT @i:=0) AS itable;或者SET @i=0;SELECT sid,sname,gender,age,@i:=@i+1 AS '序号' FROM student;查询结果如图所示:解释说明:1、(@i:=@i+1) 也可以写成 @i:=@i+1 ,加括号是为了视觉上更清晰。它代表的意思是:变量i 加1转载 2022-05-23 14:22:24 · 12232 阅读 · 0 评论 -
Mysql 字段区分大小写
binary作者:鲨鱼辣椒灬来源:优快云原创 2022-04-27 14:29:22 · 574 阅读 · 0 评论 -
Mysql base64编码解码
编码SELECT to_base64(‘Gg’);解码SELECT from_base64(‘R2c=’);作者:鲨鱼辣椒灬来源:优快云原创 2022-03-22 10:38:25 · 1796 阅读 · 0 评论 -
MySQL 替换字段中的部分数据
UPDATE `test` SET `name` = REPLACE(`name`, 'ooo', 'com');作者:鲨鱼辣椒灬来源:优快云原创 2022-03-14 15:05:52 · 1341 阅读 · 0 评论 -
mysql 时间戳,日期互转
–日期字符串转时间戳select UNIX_TIMESTAMP(‘2019-09-01 00:00:00’);– 时间戳转日期select FROM_UNIXTIME(1567267200,’%Y-%m-%d %H:%i:%s’)转自:https://www.cnblogs.com/linjiqin/p/11475746.html转载 2022-03-09 16:18:30 · 123 阅读 · 0 评论 -
mapper.xml动态表名
<select id="getHistoricalSettingDetailsList" resultMap="resultMap" statementType="STATEMENT"> SELECT * FROM ${join} a where a.xx = ${xx} and a.xxx= ${xxx} and a.del_flag = 0 </sel原创 2021-10-26 09:56:16 · 2703 阅读 · 0 评论 -
MySQL(三)锁 ----- 行锁和锁机制
InnoDB 锁机制InnoDB存储引擎支持行级锁其大类可以细分为共享锁和排它锁两类共享锁(S):允许拥有共享锁的事务读取该行数据。当一个事务拥有一行的共享锁时,另外的事务可以在同一行数据也获得共享锁,但另外的事务无法获得同一行数据上的排他锁排它锁(X):允许拥有排它锁的事务修改或删除该行数据。 当一个事务拥有一行的排他锁时,另外的事务在此行数据上无法获得共享锁和排它锁,只能等待第一个事务的锁释放除了共享锁和排他锁之外, InnoDB也支持意图锁。该锁类型是属于表级锁,表明事务在后期会转载 2021-10-12 17:49:19 · 167 阅读 · 0 评论 -
MySQL(二)锁 ----- 表锁
前言MySQL 里面的锁大致可以分成全局锁,表级锁,行锁这儿将讲一下表级锁表级锁MySQL 里面表级别的锁有两种:表锁,元数据锁(meta data lock,MDL)。表锁lock tables 表名 read;#该表可以读,不能ddl 和 dml 中增删改,只能读取表数据lock tables 表名 write;#既不能读,也不能写表锁的语法是 lock tables … read/write。与 FTWRL 类似,可以用 unlock tables 主动释放锁,也可以转载 2021-10-12 17:43:28 · 884 阅读 · 0 评论 -
MySQL(一)锁 ----- 全局锁
前言MySQL 里面的锁大致可以分成全局锁,表级锁,行锁这儿将讲一下全局锁全局锁全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。全局锁使用场景全局锁的典型使用场景是,做全库逻辑备份(mysqldump)。重新做主从时候转载 2021-10-12 17:36:00 · 242 阅读 · 0 评论 -
mysql-xx.xx.xx-winx64.zip安装教程
1、解压到指定文件夹G:\php\wamp\mysql2、在G:\php\wamp\mysql\mysql-8.0.19-winx64的目录下,配置mysql配置文件,新建my.ini 编辑如下配置信息,my.ini需要以ANSI格式编码,不然后面会报错[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=G:\\php\\wamp\\mysql\\mysql-8.0.19-winx64# 切记此处一定要用双斜杠\\,单斜杠这里会出错。转载 2021-09-16 15:03:52 · 162 阅读 · 0 评论 -
2张不同的表count(*)相乘
相乘应该为15方法①select aaaa.res1 * bbbb.res2 as xfrom (select count(*) res1 from test)aaaa,(select count(*) res2 from test2)bbbb方法②select (select count(*) from test)*(select count(*) from test2) as x作者:鲨鱼辣椒灬来源:优快云...原创 2021-06-17 11:46:17 · 380 阅读 · 0 评论 -
mysql什么时候用in,什么时候用exists
写在前面网上看帖子的时候,经常会看到说尽量用exists,少用in。那么问题来了,是所有场景下都尽量用exists吗,还是具体场景具体分析。给你答案mysql做子查询的时候,永远记得要小表驱动大表。inselect * from A where id in (select id from B);相当于先循环B,再循环A。B表驱动A表。也就是当B表数据少于A表时,用in最佳。existsselect * from A where exists (select 1 from B where转载 2021-03-24 09:31:59 · 931 阅读 · 0 评论 -
MySQL CAST与CONVERT 函数的用法
MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:CAST(value as type);CONVERT(value, type);就是CAST(xxx AS 类型), CONVERT(xxx,类型)。可以转换的类型是有限制的。这个类型可以是以下值其中的一个:二进制,同带binary前缀的效果 : BINARY字符型,可带参数 : CHAR()日期 : DATE时间: TIME日期时间型 : DATETIME浮点数 :转载 2021-02-03 14:20:07 · 3254 阅读 · 0 评论 -
Mybatis的if标签test判断的用法
<!--分页查询--> <select parameterType="java.util.Map" id="findList" resultType="Map"> SELECT * FROM XXXXXXX <trim prefix="WHERE" prefixOverrides="AND"> <if test="map.xxx != null and map.xxx != '' ">AND XXX=#{map.x.原创 2021-01-29 10:24:08 · 12661 阅读 · 0 评论 -
MySql事务开始begin和start transcation的区别
事务的开始begin或start transaction 都是显式开启一个事务;事务的提交commit 或commit work都是等价的;事务回滚rollback或rollback work 也是等价的;转自:https://blog.youkuaiyun.com/qq_32617703/article/details/103601271...转载 2020-12-07 16:29:59 · 2655 阅读 · 2 评论 -
count(*) 和 count(1)和count(列名)区别
count() 和 count(1)和count(列名)区别执行效果上:count()包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULLcount(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULLcount(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计执行效率上:列名为主键,count(列名)会比count(1)快列名不为主键,count(1)会转载 2020-11-09 16:28:49 · 214 阅读 · 0 评论 -
mysql-当前时间和获取时间大于24小时
SELECT * FROM xxxxxx WHERE NOW() - xxxxxxx_time > 1NOW():当前时间xxxxxxx_time:需要比较的时间NOW() - xxxxxxx_time > 1:当前时间减去获取的时间大于24小时作者:鲨鱼辣椒灬来源:优快云...原创 2020-03-03 10:22:29 · 4058 阅读 · 0 评论 -
读取刚插入数据库的数据Id和定时任务
XXX : 为你要添加的实体类的信息int insert = xxxMapper.insert(XXX);这行代码为Mybatis生成工具的添加代码例如Student student = new Student ();student .setName();student .setAge();int insert = xxxMapper.insert(student ); ...原创 2020-02-27 19:56:07 · 221 阅读 · 0 评论 -
select...for update使用方法
作用:select for update 是为了在查询时,避免其他用户以该表进行插入,修改或删除等操作,造成表的不一致性.给你举几个例子:select * from t for update 会等待行锁释放之后,返回查询结果。select * from t for update nowait 不等待行锁释放,提示锁冲突,不返回结果select * from t for update wa...转载 2020-01-07 10:24:47 · 50524 阅读 · 1 评论 -
MySQL连表更新数据
连表查询的结果:修改:名字作者:鲨鱼辣椒灬来源:优快云原创 2019-11-20 16:19:51 · 179 阅读 · 0 评论 -
Mysql的模糊查询(字段中带有空格)
建了一个很简单的表然后是正常的查询然后在 前,中,后都加上空格这样就查不出结果这个时候我用到了 trim 这个东东如图,也是在 前,中,后加上了空格,然后可以查询到最后因为Mybatis中的写法也让我花了一点时间,然后如图总结:trim中还有一些其他的用法,在本篇博客中没有写到,可自行百度。我认为这里写的模糊查询很简单粗暴了,如果有问题,欢迎提出,一起探讨作...原创 2019-06-03 09:52:04 · 15513 阅读 · 7 评论 -
Mysql的DATE(),DATE_SUB(),DATE_ADD(),DATE_FORMAT(),DATEDIFF(),EXTRACT(),CURTIME(),CURDATE()函数
首先建立了一个很简单表DATE() 函数定义和用法:DATE() 函数提取日期或日期/时间表达式的日期部分。语法:DATE(date)date 参数是合法的日期表达式。DATE_SUB() 函数定义和用法:DATE_SUB() 函数从日期减去指定的时间间隔。语法:DATE_SUB(date,INTERVAL expr type)date 参数是合法的日期表达式。expr 参...原创 2019-06-04 14:37:05 · 2435 阅读 · 0 评论 -
mysql多个字段拼接
Mysql的查询结果行字段拼接,可以用下面两个函数实现:1.concat函数mysql> select concat(‘1’,‘2’,‘3’) from test ;±--------------------+| concat(‘1’,‘2’,‘3’) |±--------------------+| 123 |±--------------------+如果连接串中存在...转载 2019-07-04 09:31:24 · 2684 阅读 · 0 评论 -
同字段多条数据拼接 GROUP_CONCAT()
记录下把我折磨了好几天的GROUP_CONCAT()用法首先建了一张很简单的表我想把name里面的值拼接到一起注意了,这里是我踩到的坑:1.GROUP_CONCAT()会和 GROUP BY (分组)一起使用 -----------天知道本人在这里是多么的痛苦2.GROUP BY (分组)和 ORDER BY(排序)的使用顺序如果 GROUP_CONCAT()没和 GROUP ...原创 2019-07-04 10:52:26 · 2710 阅读 · 0 评论 -
Mysql字符转译
Mysql大于等于>=、小于等于<=、>、<的写法大于等于 <![CDATA[ >= ]]>小于等于 <![CDATA[ <= ]]>大于 <![CDATA[ > ]]>小于 <![CDATA[ < ]]>或者用替换符号进行替换原符号 < <= > >= &...原创 2019-07-10 11:14:19 · 536 阅读 · 0 评论 -
sql_mode=only_full_group_by问题解决
数据库分组查询报错:Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘fortress.PartnerSetting.Id’ which is not functionally dependent on columns in GROUP BY clause; thi...转载 2019-07-18 11:17:39 · 350 阅读 · 0 评论 -
Mysql添加普通索引
语句添加索引语句删除索引作者:鲨鱼辣椒灬来源:优快云原创 2019-08-08 10:02:00 · 7031 阅读 · 0 评论 -
sql-索引的作用(超详细)
(一)深入浅出理解索引结构实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻...转载 2019-08-26 11:48:01 · 222 阅读 · 0 评论 -
SQL树结构查询(根据id查找当前路径)
有如下图所示的表r_directory,要根据id,查找到当前的路径我们的期望是当查询的ID_DIRECTORT=15时返回的路径为:Basic_DW/Basic_DW/DW_JB/岳为此我写了一个函数来帮助我完成这一功能CREATE DEFINER=`root`@`localhost` FUNCTION `find_path`(`id` int) RETURNS varchar(100...转载 2019-09-02 09:16:48 · 740 阅读 · 0 评论 -
where 1=1
之前一直不太明白,sql语句里为什么要写where 1=1 巴拉巴拉巴拉提升某种执行效率?其实,1=1 是永恒成立的,意思无条件的,也就是说在SQL语句中有没有这个1=1都可以。这个1=1常用于应用程序根据用户选择项的不同拼凑where条件时用的。如:web界面查询用户的信息,where默认为1=1,这样用户即使不选择任何条件,sql查询也不会出错。如果用户选择了姓名,那么where变成了...转载 2019-09-11 15:22:11 · 643 阅读 · 0 评论 -
Mybatis 中$与#的区别
1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于 select id,name,age from student where id =‘1’.2 是将传入的数据直接显示生成sql语句,eg:selectid,name,agefromstudentwhereid=是...转载 2019-09-18 16:43:59 · 187 阅读 · 0 评论 -
order by 1
排序:sql语句中ORDER BY 1或者ORDER BY 2…ORDER BY N其实1表示第一个栏位,2表示第二栏位;依此类推,当表中只有2个栏位时,ORDER BY 3就会出错,这个跟ORDER BY列名没有什么区别,不过在特殊情况下还是很有用的.结尾的时候不写,系统默认情况下为:asc(升序排列),desc(降序排列)作者:鲨鱼辣椒灬来源:优快云...原创 2019-09-25 10:25:12 · 1223 阅读 · 0 评论 -
MySQL substring()函数
在本教程中,我们将向您介绍MySQL SUBSTRING函数从字符串中提取子字符串。SUBSTRING函数从特定位置开始的字符串返回一个给定长度的子字符串。 MySQL提供了各种形式的子串功能。我们将在以下部分中检查SUBSTRING函数的每种形式。SUBSTRING(string,position);SUBSTRING(string FROM position);sql有两个参数:...转载 2019-09-27 11:00:51 · 882 阅读 · 0 评论 -
MySQL显示今年的时间数据
有3个18年的时间数据18年的时间没有了,只有今年19年的时间作者:鲨鱼辣椒灬来源:优快云原创 2019-10-09 13:45:36 · 421 阅读 · 0 评论 -
MySQL的CASE和CONCAT的用法
当时被公司要求在数据库中做判断,拼接和转换,也是小小的苦恼了一阵废话不多说,看图这是我新建的一张简易demo表简单的插入了2条数据先说说时间转换吧,如下图这样不是很好看,写成这样会好看一些,其他的格式可自行百度然后说说拼接CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一用法:mysql CONCAT(str1,str2,…)举个栗子,如上...原创 2019-05-23 14:49:37 · 2090 阅读 · 0 评论