mysql
姚华军
这个作者很懒,什么都没留下…
展开
-
MySQL IFNULL() 函数使用注意点----干货
最近使用了IFNULL函数,普通使用方法和注意点之前都知道,知道今天发现了新的问题1、常规使用方法第一个参数为 NULL:SELECT IFNULL(NULL, "DONGJIN");以上实例输出结果为:DONGJIN第一个参数不为 NULL:SELECT IFNULL("Hello", "DONGJIN");以上实例输出结果为:Hello2、N/A的处理数据库中经常会遇到N/A,它用上面的IFNULL函数不起作用,为了让函数起作用,可以使用max和minSELECT IFNUL原创 2021-06-11 11:40:48 · 871 阅读 · 2 评论 -
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
整理一下mysql中各种类型的字节占用情况,见下图1、int、bigint、smallint 和 tinyint的区别1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是-128到1271.BIT[M]位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为12.TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4很小的整数。带符号的范围是-128到127。无符号的范围是0到255原创 2021-06-02 10:27:26 · 1035 阅读 · 0 评论 -
msyql + java递归构筑树形结构
1、为了提高效率和其他功能用起来方便,做了一个存储过程,代码如下CREATE DEFINER=`root`@`%` FUNCTION `getConstructionRootId`(constructionId LONG) RETURNS varchar(1000) CHARSET utf8BEGIN DECLARE rootId VARCHAR(1000); SELECT pv.id INTO rootId FROM ( SELECT @id AS _id原创 2021-05-22 18:21:51 · 347 阅读 · 3 评论 -
mysql中用逗号分割的id取名称的方法
直接上SQL代码 select p.task_ids, GROUP_CONCAT(DISTINCT t.name) as task_names, p.reviewer_ids, GROUP_CONCAT(DISTINCT u1.user_name) as reviewer_names from pmc_journal p left join pm原创 2021-04-08 10:36:37 · 565 阅读 · 1 评论 -
mysql数据库的行级锁、表级锁使用说明
导入大量数据时,执行时间较长,经常会遇到锁表的问题,下面把几种情况做一个简单的说明:1、update的更新条件如果命中索引,则执行行级锁,如果没有命中索引,则进行全表索引,执行表级锁。2、delete和update一致,根据条件是否为索引,来判断执行表级锁,还是行级锁。3、insert没有表级锁,基本可以认为没有锁。...原创 2020-09-22 12:42:37 · 861 阅读 · 0 评论 -
如何创建数据库mysql索引,单索引和联合索引如何使用?
最近项目的数据量比较大,使用了大量的索引,也查阅了网上众多的资料,发现网上各位仁兄说的信息都不太负责任,有很多人估计都没有做亲身试验,就发出来了。我最近做了一些试验,把试验结果总结了一下,发出来供自己和大家日后使用。以下以mysql5.6.38为例子,总结的几点经验发出来一、几点经验总结1、数据库索引分单索引、联合索引之分。2、SQL语句的每个查询,只会使用一个索引(包括单索引、联合索引)。3、假设有两个单索引,你的检索条件中由这两个索引作为条件,那么mysql会以这两个索引数据量少的那个作为检索原创 2020-09-21 15:15:09 · 701 阅读 · 1 评论 -
mysql性能实测:关于mysql能存多条数据,亲测了一下,供大家参考!
1、本次测试的环境测试服务器:2核4G阿里服务器Mysql版本:5.6.38操作系统:centos72、插入数据方法,请参照https://blog.csdn.net/yhj_911/article/details/879324433、本次试验表的结构(设计成了存储最小了)4、插入数据后的最终试验结果,可以看出表存储几千万条是可以的,只要不超过操作系统的单文件上限就行,随着数据量的增加,索引检索时间没有变化太大。插入了1000万条数据,测试结果:主键索引检索:0.01S非索引检索:7原创 2020-09-16 11:02:20 · 469 阅读 · 0 评论 -
Mysql数据库多行记录的某一字段,根据分组合并group_concat
mysql多行记录的某一字段,根据分组进行合并,合并的数据用逗号分隔开使用以下SQL语句的执行结果SELECT school_id, grade, sex, group_concat(physical_item) as physical_itemFROM phy_examination_itemsGROUP BY school_id, grade, sex...原创 2020-09-12 13:15:04 · 1123 阅读 · 0 评论 -
mysql错误:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de
在MySQL中创建函数时出现这种错误的解决方法:set global log_bin_trust_function_creators=TRUE;原创 2020-06-04 16:18:07 · 380 阅读 · 0 评论 -
SQL函数Group_concat用法
此篇内容借用网络资源,感谢寸草心2130SQL语法如下:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])基础数据如下现在的需求就是每个id为一行 在前台每行显示该id所有分数SELECT id,GROUP_CONCAT(score) FROM testgroup GROUP BY id...原创 2020-01-10 09:15:20 · 320 阅读 · 0 评论 -
mybatis中使用foreach、CASE..THEN..END批量删除、修改数据
1、xxxxservice.java中传list类型的数据 /** * @description 删除多条服务 * * @param releaseServiceLst 服务列表 * @return */ public int deleteMultiServiceById(List<ReleaseService> releaseServiceLst) { r...原创 2019-12-25 09:10:54 · 1487 阅读 · 0 评论 -
1分钟让你了解什么是sql注入
下面用一个用户登录的场景来说明这个事情:1,下面用户登录的SQL语句,使用用户名和密码,判断用户是否存在(再普通不过了)select * from users where username='marcofly' and password=md5('test')2,如果用户像下面这样输入SQL语句就变成这样了select * from users where username='' o...原创 2019-03-23 08:45:20 · 766 阅读 · 0 评论 -
mysql循环插入大量测试数据
最近业务场景的需要,mysql单表要插入大量数据,考虑到单条记录长短对数据存储量有很大的影响,所以进行了一次插入检索测试。插入代码Proceduredelimiter $$DROP PROCEDURE IF EXISTS insert_current_data_uuid $$CREATE PROCEDURE insert_current_data_uuid(IN item INTEGE...原创 2019-02-26 11:56:30 · 1567 阅读 · 0 评论