
sql
文章平均质量分 88
一瓶橄榄菜
这个作者很懒,什么都没留下…
展开
-
Linux下安装mysql-8.0.22
安装环境主机是购买的阿里云的云服务器系统是云服务器自带的CentOS 8.2 64位mysqlmysql是mysql-8.0.22版本,可以去https://dev.mysql.com/downloads/mysql/下载对应的版本安装1.在安装前需要确保没有安装过mysql,如果安装过请彻底删除对应的文件,具体方法可以自行百度2.检查mysql用户组和用户是否存在cat /etc/group | grep mysqlcat /etc/passwd |grep mysql3.如果用户原创 2021-01-16 11:41:55 · 1339 阅读 · 0 评论 -
Mysql中sql执行的过程
1、客户端和服务器建立连接,发送请求2、服务器先检查查询缓存。如果在查询缓存中发现了该sql,则会进行权限校验,权限校验通过,直接返回结果。如果查询缓存中没有,则进入下面的步骤(对应查询缓存这一过程,8.0这一过程已经不存在了,8.0完全抛弃了这个功能)3、服务器对sql进行解析。识别出sql里面的字符串是否符合标准,比如select关键字不能写错。识别出sql里面的字符串的具体意思是什么,比如T1是表名,C1是列名(对应解析器这一过程)4、服务器对sql进行预处理。确定sql的执行路径,比如走索引.原创 2020-07-09 19:26:13 · 426 阅读 · 0 评论 -
数据库索引原理及优化
本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接。一、摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打...转载 2020-04-24 15:49:42 · 622 阅读 · 1 评论 -
MySQL Explain优化
1.1. EXPLAIN在MySQL中可以使用EXPLAIN查看SQL执行计划。示例:EXPLAIN SELECT * FROM tb_item1.2. 结果说明1.2.1. idSELECT识别符。这是SELECT查询序列号。这个不重要。1.2.2. select_type表示SELECT语句的类型。有以下几种值:1、 SIMPLE表示简单查询,其中不包含连接查询和子查询。...转载 2019-12-09 17:26:02 · 205 阅读 · 0 评论 -
MySQL中DATE_FORMAT的使用
DATE_FORMAT:DATE_FORMAT(date,format) 函数用于以不同的格式显示日期/时间数据。date是要转化的日期,format是格式示例:select DATE_FORMAT(NOW(),'%Y-%m-%d');结果:2018-09-12format格式格式描述%a缩写星期名%b缩写月名%c月,数值%D带有英...原创 2019-12-09 20:29:57 · 865 阅读 · 0 评论 -
sql查询一个数组中是否包含某个内容find_in_set
如果表Atable中的a字段内容是1,2,3 的格式(a字段是用,分隔的),要查询该字段是否包含1则可以用find_in_set 例:ida11,2,321111,11SELECT * FROM Atable WHERE find_in_set(1,a)结果| id | a ||–|--|| 1| 1,2,3 |...原创 2019-09-19 09:54:54 · 18957 阅读 · 3 评论 -
LEFT JOIN右表为空查询不出数据
表结构如下表Table_A:idname1张三2赵四3王五表Table_B:idtype112233想查询出A表中所有的结果并关联B中特定字段,如下表idnametype1张三12赵四null3王五null错误SQL:SELECT A.* ,B.ty...原创 2019-04-01 16:37:37 · 35995 阅读 · 14 评论 -
ON DUPLICATE KEY UPDATE 使用
语句如下INSERT INTO doctor(name,hospital_id) VALUES (#{doctor.name},#{doctor.hospitalId})ON DUPLICATE KEY UPDATE hospital_id=#{doctor.hospitalId},name=#{doctor.name};先执行INSERT INTO doctor(name,hospit...原创 2019-02-25 12:39:14 · 347 阅读 · 0 评论 -
insert返回主键
在Mybatis中插入一条记录并返回该记录的主键(假设插入的是doctor)实体@Datapublic class Doctor { private int id; //医生名 private String name; //医院id private Integer hospitalId;}serviceint save(Doctor docto...原创 2019-02-25 12:19:59 · 352 阅读 · 0 评论 -
Spring Boot事物手动回滚
在Dao层的方法上添加@Transactional当要回滚时在代码中添加TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();原创 2019-02-22 21:33:19 · 1932 阅读 · 0 评论 -
mybatis转义问题
1、使用转义字符串sql符号转义字符<&lt;>&gt;&&amp;’&apos;"&quot;2、使用<![CDATA[ sql语句 ]]>(sql语句不会被改变,直接编译)...原创 2018-12-30 10:19:53 · 648 阅读 · 0 评论 -
mybatis动态sql中where、set、if 、for循环使用
if&amp;amp;lt;select id=&amp;quot;listBySearch&amp;quot; resultType=&amp;quot;java.lang.Integer&amp;quot;&amp;amp;gt; SELECT id FROM hospital WHERE 1=1 &amp;amp;lt;if test=&am原创 2018-12-29 15:11:24 · 2660 阅读 · 0 评论 -
MySQL错误码解释
错误:1000 SQLSTATE: HY000 (ER_HASHCHK) 消息:hashchk错误:1001 SQLSTATE: HY000 (ER_NISAMCHK) 消息:isamchk错误:1002 SQLSTATE: HY000 (ER_NO) 消息:NO错误:1003 SQLSTATE: HY000 (ER_YES) 消息:YES错误:1004 SQLSTATE: HY000 (...原创 2018-12-18 12:30:42 · 1653 阅读 · 0 评论 -
Mybatis中#{}和${}输入参数的区别
#{}mybatis 会进行预编译,比如(假设ID=6):select * from user where id=#{ID}会先编译成select * from user where id=?然后用ID的值(6)替代?#{}的优势更安全如果传入的值值中有#(#在sql中表示注释)使用#{},不会使#后面的sql失效,当传入的name参数中有#,比如hh#:select * f...原创 2018-09-21 17:30:44 · 482 阅读 · 0 评论 -
mysql not in 查询不出数据
表结构如下表Table_A: 项目 数量 id name 1 张三 2 赵四 3 王五 4 徐六表Table_B: 项目 数量 id name null 张三 2 赵四 3 王五sql: SELECT * FROM Ta...原创 2018-09-14 16:48:34 · 759 阅读 · 0 评论 -
前台将base64 转为二进制
调用以下方法function dataURLtoBlob(dataurl) { var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while (n--) ...原创 2018-09-10 14:33:58 · 3799 阅读 · 0 评论 -
判断两个日期是否是同一天
sql:select * from date where TO_DAYS(date)=TO_DAYS(date1)表: | :——– | ——–:| :–: | id date date1 1 2018-08-28 20:39:25 2018-08-28 01:39:25 2 2018-08-28 20:39:25 2018-08-29 ...原创 2018-08-28 21:01:37 · 7386 阅读 · 0 评论 -
一张表中根据一个字段分组,查询分组中另一个字段最大值
一张表中根据一个字段分组,查询分组中另一个字段最大值表: id score uid 1 100 1 2 100 1 3 90 1 4 80 2 5 100 2 6 50 3 7 90 3 8 80 3sqlselect ...原创 2018-08-18 16:06:30 · 3500 阅读 · 0 评论