mysql
文章平均质量分 53
黑皮爱学习
爱学习,爱分享!
展开
-
使用navicat16批量给表插入数据
以前给表插入数据,一般会写个存储过程生成,并且生成的数据都是这种 ‘dev’+i这样的,重复性很大,不方便测试。今天使用navicat的时候,发现了一个批量生成数据的功能,挺好用,简单还不用写存储工程。navicat:16(低版本的不知道有没有)3、预览下自己生成的数据,点击开始即可生成。2、填上自己要生成的数据行数,点击下一步。可以看到这里的数据是杂乱的,更方便测试。1、在数据表上右键选择数据生成。原创 2023-03-04 11:18:17 · 6029 阅读 · 1 评论 -
MySQL使用LOAD DATA INFLIE指令快速导出和导入数据
目录1、查看默认导出目录2、导出数据到默认目录下的文件3、导入数据LOAD DATA INFLIE优点速度快普通的导入和导出都是使用insert,如果数据量很大的话,会比较慢,使用LOAD DATA INFLIE ,比一般的insert语句快20倍。演示:1、查看默认导出目录SHOW VARIABLES LIKE "secure_file_priv";结果:C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\2、导出数据到原创 2021-06-24 11:29:49 · 1438 阅读 · 0 评论 -
使用mysql的主键id实现分布式锁
目录1、使用锁,mysql主键2、分布式锁实现2.1 lock自定义2.2 抽象方法,使用模板模式定义好获取锁的方法2.3 具体的工具类锁1、使用锁,mysql主键使用mysql主键2、分布式锁实现参考ReentrantLock实现的Lock接口,主要有tryLock(),lock(),unLock()方法2.1 lock自定义public interface Lock { /** * 获取锁 */ void...原创 2021-04-03 21:31:51 · 529 阅读 · 0 评论 -
使用Navicat给MySQL数据表创建索引、索引的说明
目录为表格创建索引以下是创建简单的普通单列索引以下是创建唯一索引创建组合索引创建全文索引创建控件索引删除索引为表格创建索引选择表格,右键、设计点击索引,输入索引名,选择要添加索引的字段,索引类型、索引数据结构以下是创建简单的普通单列索引以下是创建唯一索引创建唯一索引的字段值不能有相同的数据,否则保存不成功;主键id默认就是唯一索引创建组合索引选择自己需要的字段创建全文索引MySQL>6默认使用innodb,要把存.原创 2020-08-24 23:14:20 · 36790 阅读 · 0 评论 -
MySQL使用正则表达式查询,REGEXP 的使用
常用的字符匹配列表选项 说明 例子 匹配示例 ^ 开始匹配 ‘^b’:匹配以b开始的字符串 book,bit $ 结束匹配 'str$':匹配以str结尾的字符串 astr,bstr . 匹配任意单个字符 a.c abc,adc * 匹配0或多个字符 *abc 123abc,abc,1abc + 匹配1或多次 abc+ abc1 字符串 匹配字符串文本 ‘ab.原创 2020-08-23 14:52:19 · 1699 阅读 · 0 评论 -
MySQL的合并查询结果UNION和UNION All的区别
两个表数据如下:其中有一条数据是完全相同的使用union查询结果:会删除重复的行SELECT * from student UNIONselect * from student2;结果:相同的数据被过滤掉了使用UNION ALL不会删除重复的行查询SELECT * from student UNION ALLselect * from student2;结果:相同的数据依然存在附上建表语句CREATE TABLE `student` ( `i原创 2020-08-23 10:59:18 · 403 阅读 · 0 评论 -
MySQL子查询:ANY、SOME、All、EXISTS、IN
表数据如下sutdentstudent21、ANY、SOME查询任何一个满足条件select age from student WHERE age > ANY( select age from student2);select age from student WHERE age > SOME( select age from student2);结果相同2、使用All查询满足所有条件select age from student WHERE age原创 2020-08-23 10:48:07 · 1086 阅读 · 0 评论 -
MySQL的count(fruit),count(*),count(1)区别
表格数据如下使用count查询SELECT count(fruit),count(*),count(1) from person;结果19 20 20结果count(fruit):查询所有航,不包括为null的count(*),count(1):查询所有行,包括null原创 2020-08-23 10:18:21 · 198 阅读 · 0 评论 -
MySQL在group by 子句中使用with rollup在最后添加上一条数据统计记录数量
sqlSELECT name, count(fruit),GROUP_CONCAT(fruit) as fruits from person GROUP BY name WITH ROLLUP;正常查询结果如图使用WITH ROLLUP之后如图,这是字符串的合并,还可以是数字的合并附上建表和sql语句CREATE TABLE `person` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50).原创 2020-08-23 10:09:15 · 799 阅读 · 0 评论 -
MySQL使用GROUP_CONCAT(f_name)将查询分组结果通过逗号分隔
SELECT name,GROUP_CONCAT(fruit) as fruits from person GROUP BY name;结果如图附上建表以及数据构造CREATE TABLE `person` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL COMMENT '姓名', `fruit` varchar(50) DEFAULT NULL COMMENT '喜欢吃的水果',.原创 2020-08-23 10:02:00 · 1041 阅读 · 0 评论 -
MySQL格式换函数、数字进制转换函数、IP地址与数字相互转换、加锁函数和解锁函数、重复执行指定操作的函数、改变字符集的函数、改变数据类型函数
1、格式化函数(四舍五入)SELECT FORMAT(1.23131,2),FORMAT(23.12,4),FORMAT(2.52,0);结果1.23 23.1200 32、数字进制转换函数SELECT CONV('a',16,2),CONV(15,16,10),CONV(4,10,2);结果1010 21 1003、IP地址与数字相互转换SELECT INET_ATON('209.207.224.40');结果3520061480SE...原创 2020-08-22 23:16:28 · 112 阅读 · 0 评论 -
MySQL8加密函数
加密函数MD5(str)SELECT MD5('123456');结果e10adc3949ba59abbe56e057f20f883e加密函数SHA(str),SHA(str)加密算法比MD5更加安全SELECT SHA('123456')结果7c4a8d09ca3762af61e59520943dc26494f8941bSHA2(str)加密SHA2加密,12length左移长度加密strSELECT SHA2('123456',12)结果...原创 2020-08-22 23:00:06 · 838 阅读 · 0 评论 -
MySQL系统信息函数
1、获取MySQL版本号、连接数和数据库名的函数版本SELECT VERSION();结果5.7.17-log查看当前用户的连接数SELECT CONNECTION_ID();结果6显示当前用户的链接信息SHOW PROCESSLIST;结果3 root localhost:2041 Sleep 2154 4 root localhost:2042 test Sleep 2151 6 root localhost:2064 test Query 0 starting原创 2020-08-22 22:45:42 · 101 阅读 · 0 评论 -
MySQL条件判断函数
1、IF(expr,v1,v2)函数SELECT IF(1>2,2,3);结果32、IFNULL(expr1,expr2);返回不为空的值IFNULL(expr1,expr2)加入expr1不为空,返回expr1,否则返回expr2SELECT IFNULL(1,2),IFNULL(null,2),IFNULL(1,null);结果1 2 13、CASE函数CASE expr1 WHEN v1 THEN v2 ELSE ENDSELECT CASE 2 WHEN原创 2020-08-22 22:07:30 · 406 阅读 · 0 评论 -
MySQL日期和时间函数
1、获取当前日期的函数和获取当前时间的函数CURDATE()+0把时间变成数字SELECT CURDATE(),CURRENT_DATE(),CURDATE()+0,NOW();结果2020-08-22 2020-08-22 20200822 2020-08-22 19:11:35SELECT CURRENT_TIME(),CURRENT_TIME(),current_date()+0;结果19:12:12 19:12:12 202008222、获取当...原创 2020-08-22 20:58:24 · 169 阅读 · 0 评论 -
MySQL字符串函数:字符数量,合并字符串,替换字符串,大小写转换,取指定长度字符串,填充字符串、删除空格函数、删除指定字符串函数,重复生成字符串,空格函数和替换函数,比较字符串大小,获取子串
1、计算字符串字符数量CHAR_LENGTH('123abc')和字符串长度的函数备注:一个汉字占三个字节SELECT CHAR_LENGTH('123abc'),LENGTH('123中国');2、合并字符串函数CONCAT(str1,str2,...)SELECT CONCAT('abc','def');有字符串为空,则会返回空SELECT CONCAT('abc','def',NULL);=通过分隔符合并字符串SELECT CONCAT_WS(',','abc','def','1原创 2020-08-19 23:06:28 · 253 阅读 · 0 评论 -
MySQL数学函数:绝对值和圆周率,平方根函数和求余函数,获取整数,获取随机数,四舍五入,符号函数,幂运算函数,对数运算,角度和弧度相互装换的函数,正弦函数等
# MySQL函数#=1、绝对值很圆周率select ABS(-1),ABS(2),PI();#=2、平方根函数和求余函数select SQRT(4),MOD(5,2);#=3、获取整数:CEIL(x),CEILING(x)返回不小于x的最小整数,FLOOR(x)返回不大于x最大整数# 以下结果都是2select CEIL(1.1),CEIL(1.5),CEIL(2),CEILING(1.5),FLOOR(2.1),FLOOR(2.5),FLOOR(2.6);#=4、获取随机数原创 2020-08-18 23:43:26 · 644 阅读 · 0 评论 -
MySQL查询建表语句,查看表字段信息,修改表名,修改字段数据类型,看数据库默认编码,查看数据库中的表
#查询建表语句show create table exam#查看表字段信息DESCRIBE examdesc exam#修改表名ALTER table new_exam RENAME teacher;#修改字段数据类型alter table teacher modify course int;#修改字段名alter table teacher change course course2 DOUBLE;#添加字段alter table teacher add age int COMME原创 2020-08-18 22:56:35 · 291 阅读 · 0 评论 -
MySQL的Date、DateTime和TimeStamp的区别
Date:保存YYYY-MM-DD格式DateTime:保存 YYYY-MM-DD HH:MM:SS格式,不包含时区,数据插入什么,就保存什么TimeStamp:存 YYYY-MM-DD HH:MM:SS格式,包含时区,存储的是以UTC(世界表针时间)格式保存的,存储是对当前时区进行转换,检索时再转换会当前时区。查询是,不同时区显示的时间值是不一样的...原创 2020-08-15 10:06:30 · 176 阅读 · 0 评论 -
记一次执行mysql普通的update操作,并没有更新时间,但是涉及时间的字段都更新为了当前时间
我是通过id更新某一个字段的值,结果create_time和update_time也被更新为了当前时间,最后进过排查是创建时间字段的时候,不小心勾选了更具当前时间戳更新,navicat设计表打开如下:显示成sql就是`create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '发布时间',...原创 2020-05-28 15:16:28 · 1608 阅读 · 1 评论 -
mysql查询日期总结
注:部分代码参考网上的,这里总结是为日后使用方便,如有问题,请联系我删除在很多地方都使用到了mysql的日期查询,如果不做处理,查询出来的是毫秒数,虽然就java能够处理,但是总归是要浪费时间,所以特地想总结一些关于日期查询相关的方法,供以后查询方便。第一种:在sql中使用DATE_FORMAT进行格式化,得到的结果直接就是你设置的格式SELECTDATE_FORMAT(t.cre...原创 2018-12-19 22:36:55 · 452 阅读 · 0 评论