MySQL
Insist_on_progress
路漫漫其修远兮,吾将上下而求索。
展开
-
MySQL ON DUPLICATE KEY UPDATE 的使用
如果有id为3的就更新,没有就新增INSERT INTO `sys_user`(user_id,username,PASSWORD,salt,email,mobile,STATUS,create_user_id,create_time) VALUES ('3','zs','123456','652','123@qq.com','13461970126','01','2',NOW()) ON DUPLICATE KEY UPDATE create_time= NOW()...原创 2020-06-08 17:16:34 · 240 阅读 · 0 评论 -
MySQL索引
1.索引的作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。1.1建立索引的必要性主键默认是建立索引的,而且具有唯一性 合适地建立索引后比不建立索引,提高了查询速度2.索引类型说明UNIQUE:可选。表示索引为唯一性索引。FULLTE...原创 2019-09-03 10:59:26 · 100 阅读 · 0 评论 -
MySQL 什么时候该使用索引,什么时候不使用
索引为什么能提高数据访问性能? 很多人只知道索引能够提高数据库的性能,但并不是特别了解其原理,其实我们可以用一个生活中的示例来理解。 我们让一位不太懂计算机的朋友去图书馆确认一本叫做《MySQL性能调优与架构设计》的书是否在藏,这样对他说:“请帮我借一本计算机类的数据库书籍,是属于 MySQL 数据库范畴的,叫做《MySQL性能调优与架构设计》”。朋友会根据所属类别,前往存放“计算机”...转载 2019-09-03 10:58:25 · 845 阅读 · 0 评论 -
MySQL存储过程的使用
一、创建存储过程#指定界定符(因为;是mysql默认的语句结束符,而存储过程中需要一组语句同时执行,所以需重新指定界定符号)DELIMITER //#创建存储过程CREATE PROCEDURE my_test() #存储过程体BEGIN #申明变量 DECLARE test_name VARCHAR(64); #给变量赋值 SET test_name= '1'; ...原创 2019-07-26 18:08:34 · 203 阅读 · 0 评论 -
MySQL常用函数
1.算术函数SELECT ABS(-1); #求绝对值SELECT SQRT(100);#求平方根SELECT CEIL(-2.3);#求大于2.3的最小整数SELECT FLOOR(-2.3);#求小于2.3的最大整数SELECT RAND(); #生成[0,1)的随机小数SELECT RAND(100); #根据指定的数值是生成一个伪随机数#四舍五入SELECT ROUND(...原创 2019-06-04 10:47:06 · 314 阅读 · 0 评论 -
mybatis插入时返回主键id
方法一主键回填其实是一个非常常见的需求,特别是在数据添加的过程中,我们经常需要添加完数据之后,需要获取刚刚添加的数据 id,无论是 Jdbc 还是各种各样的数据库框架都对此提供了相关的支持,本文我就来和和大家分享下数据库主键回填在 MyBatis 中的两种实现思路。<insert id="insertBook" useGeneratedKeys="true" keyProperty="i...原创 2019-04-25 09:21:09 · 3393 阅读 · 1 评论 -
MySQL时间格式转换函数DATE_FORMAT()
MySQL- DATE_FORMAT()函数的使用SELECT DATE_FORMAT(NOW(),’%Y-%m-%d’) DATE输出结果:2019-04-18SELECT DATE_FORMAT(NOW(),’%Y-%m-%d-%T’) DATETIME输出结果:2019-04-18-10:39:14SELECT DATE_FORMAT(NOW(),’%Y’) ...原创 2019-04-18 10:42:19 · 3035 阅读 · 0 评论 -
mysql多列拼接查询
之前遇到过一个问题,mysql数据库中有两个表,一张地址表存放省市区等位置信息,另一张用户表里存在三个字段分别对应地址表中的三个位置信息(很奇怪的表格式),如图:现在需要查询user表中的数据,并根据user表中省市区的值,在地址表中查询到对应的位置信息(name)并显示出来;本人对sql并不精通,所以捋了一个大致逻辑首先要得到user表的省市区三个字段的...原创 2019-04-17 13:09:25 · 1508 阅读 · 0 评论 -
MYSQL中有关SUM字段按条件统计IF函数case的使用
1.表结构CREATE TABLE `test` ( `id` varchar(64) NOT NULL, `name` varchar(64) NOT NULL, `state` varchar(64) DEFAULT '01', `num` varchar(64) DEFAULT NULL, `price` varchar(64) DEFAULT NULL, PRIM...原创 2019-04-16 16:44:26 · 1084 阅读 · 1 评论 -
MySql按条件统计数量
有如下设备信息表: 要求按status统计数量,查询结果返回一条数据,如下图所示: 可是使用如下SQL语句:SELECT COUNT(*) AS total, SUM(IF(status = 1, 1, 0)) AS status1, SUM(IF(status = 2, 1, 0)) AS status2, SUM(IF...原创 2019-04-16 16:28:48 · 1331 阅读 · 0 评论 -
MySQL触发器
MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。创建触发器在MySQL中,创建触发器语法如下:代码如下:CREATE TRIGGER trigger_nametrigger_timetrigger_event ON tbl_nameFOR EACH ROWtrigger_stm...原创 2019-03-27 14:49:11 · 117 阅读 · 0 评论 -
MySQL排序(根据中文首字母排序)
1.常规排序ASC DESCASC 正序DESC倒叙– 此处不用多讲2.自定义排序自定义排序是根据自己想要的特定字符串(数字)顺序进行排序。主要是使用函数 FIELD(str,str1,str2,str3,…)MySQL的自定义排序,str与str1、str2、str3…进行比较,并按照str1,str2,str3…的顺序输出,如果遇到str为null或者不存在str1,str2,st...原创 2019-04-04 10:33:11 · 11058 阅读 · 0 评论 -
mybatis if else写法
mybaits 中没有else要用chose when otherwise 代替实例一<!--批量插入用户--><insert id="insertBusinessUserList" parameterType="java.util.List"> insert into `business_user` (`id` , `user_type` , `user_l...原创 2019-03-21 15:32:29 · 636 阅读 · 0 评论 -
MySQL根据时间查询,例如根据年 月 日 查询
– mysql查询本季度– 今天select * from ticket_order_detail where to_days(use_time) = to_days(now());– 7天SELECT FROM ticket_order_detail where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date( use_time)– 近3...原创 2019-03-11 17:22:37 · 2593 阅读 · 0 评论 -
MySQL实现多字段模糊查询
SELECT * FROM `p_staff` WHERE CONCAT(IFNULL(`字段一`,''),IFNULL(`字段二`,''),IFNULL(`字段三`,'')) LIKE '%关键字%'原创 2019-02-20 10:28:44 · 504 阅读 · 0 评论 -
MySQL 统计 各班总人数、男女各总人数 、该班级男生比例,女生比例
select sClass 班级,count(*) 班级学生总人数,sum(case when sGender=0 then 1 else 0 end) 该班级女生人数,sum(case when sGender=0 then 1 else 0 end)1.0/count() 该班级女生所占比例,sum(case when sGender=1 then 1 else 0 end) 该...原创 2019-02-18 16:37:55 · 29138 阅读 · 2 评论 -
sql行转列
一:前言 二:第一次思考 三:第二次思考 四:第三次思考 一:前言 在我们做的一些项目中经常会碰到把行转化为列的问题,那么我们今天就来探讨一下,我们怎么样把表1转化为表2的格式 图一 图二 二:第一次思考 可以看得出来,表2列是由表1的数据行转化而来的,只有Name列是表1中的列,一步一步的来,其他的列难...转载 2019-01-09 14:50:39 · 158 阅读 · 0 评论 -
MySQL根据父节点id查询所有子节点
<!--根据id查询子节点--> <select id="sonId" parameterType="java.lang.String" resultType="com.tl.visual.model.SystemRelate"> SELECT class_id FROM ( SELECT t1.class_id, ...原创 2018-12-05 10:30:35 · 12536 阅读 · 25 评论 -
MySQL根据子节点id查询所有父节点
数据表的结构:id name parent_id --------------------------- Home 0 About 1 Contact 1 Legal 2 Privacy 4 Products 1 Support 1 SELECT T2.id, T2.nam...原创 2018-12-05 10:28:07 · 10445 阅读 · 1 评论