首页
统计
关于
Search
1
Sealos3.0离线部署K8s集群
1,082 阅读
2
类的加载
741 阅读
3
Spring Cloud OAuth2.0
726 阅读
4
SpringBoot自动装配原理
691 阅读
5
集合不安全问题
584 阅读
笔记
Java
多线程
注解和反射
JVM
JUC
设计模式
Mybatis
Spring
SpringMVC
SpringBoot
MyBatis-Plus
Elastic Search
微服务
Dubbo
Zookeeper
SpringCloud
Nacos
Sentinel
数据库
MySQL
Oracle
PostgreSQL
Redis
MongoDB
工作流
Activiti7
Camunda
消息队列
RabbitMQ
前端
HTML5
CSS
CSS3
JavaScript
jQuery
Vue2
Vue3
Linux
容器
Docker
Kubernetes
Python
登录
Search
标签搜索
Java
CSS
mysql
RabbitMQ
JavaScript
Redis
JVM
Mybatis-Plus
Camunda
多线程
CSS3
Python
Spring Cloud
注解和反射
Activiti
工作流
SpringBoot
Mybatis
Spring
html5
蘇阿細
累计撰写
388
篇文章
累计收到
4
条评论
首页
栏目
笔记
Java
多线程
注解和反射
JVM
JUC
设计模式
Mybatis
Spring
SpringMVC
SpringBoot
MyBatis-Plus
Elastic Search
微服务
Dubbo
Zookeeper
SpringCloud
Nacos
Sentinel
数据库
MySQL
Oracle
PostgreSQL
Redis
MongoDB
工作流
Activiti7
Camunda
消息队列
RabbitMQ
前端
HTML5
CSS
CSS3
JavaScript
jQuery
Vue2
Vue3
Linux
容器
Docker
Kubernetes
Python
页面
统计
关于
搜索到
26
篇与
的结果
2020-07-05
MySQL连接问题
以SSM(c3p0连接池)为例在连接池配置中添加如下内容:<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driver}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> //检测所有连接的有效性,默认为true(影响性能),这里设置为false <property name="testConnectionOnCheckout" value="false"/> //异步检测连接的有效性 <property name="testConnectionOnCheckin" value="true"/> //每隔3600秒c3p0检测连接的有效性,单位秒 <font color=green><property name="idleConnectionTestPeriod" value="3600"/> </bean>
2020年07月05日
69 阅读
0 评论
0 点赞
2020-06-12
常用聚合函数
-- 聚合函数-- count() 查询有多少条记录-- count(字段) 会忽略所有的null值SELECT COUNT(phone) FROM student;-- count() 不会忽略null值,本质计算行数SELECT COUNT(*) FROM student;-- count(1) 不会忽略所有的null值,本质计算行数SELECT COUNT(1) FROM student;SELECT SUM(studentresult) FROM result; -- 总和 SELECT AVG(studentresult) FROM result; -- 平均分 SELECT MAX(studentresult) FROM result; -- 最高分 SELECT MIN(studentresult) FROM result; -- 最低分-- 分组和过滤-- 查询不同课程的平均分,最高分和最低分,平均分大于80-- 核心:根据不同的课程分组SELECT subjectname,AVG(studentresult) AS 平均分,MAX(studentresult) AS 最高分,MIN(studentresult) AS 最低分 FROM result r INNER JOIN `subject` sub ON r.subjectno = sub.subjectno GROUP BY r.subjectno -- 通过什么字段来分组 HAVING 平均分 > 80;
2020年06月12日
172 阅读
0 评论
0 点赞
2020-06-12
常用函数
-- 常用函数-- 数学运算SELECT ABS(-8); -- 绝对值 SELECT CEILING(9.3); -- 向上取整 SELECT FLOOR(9.6); -- 向下取整 SELECT RAND(); -- 返回一个0-1之间的随机数 SELECT SIGN(-10); -- 判断一个数的符号 附属返回-1,正数返回1-- 字符串SELECT CHAR_LENGTH('str'); -- 字符串长度 SELECT CONCAT('H','e','l','l','o'); -- 拼接字符串 SELECT INSERT('Hello World!',1,2,'HE'); -- 查询 替换(从某个位置开始替换某个长度) SELECT LOWER('STR'); -- 转小写 SELECT UPPER('str'); -- 转小写 SELECT INSTR('Hello','l'); -- 返回第一次出现的子串的索引 SELECT REPLACE('你好,再见!','你好','Hello'); -- 替换出现的指定字符串 SELECT SUBSTR('故乡的樱花开了吗?',4,2); -- 返回指定的子字符串(源字符串,截取位置,截取长度) SELECT REVERSE('故乡的樱花开了吗'); -- 反转字符串-- 查询姓孙的同学,将姓替换为刘SELECT REPLACE(studentname,'孙','刘') FROM student WHERE studentname LIKE '孙%';SELECT CURRENT_DATE(); -- 获取当前日期 SELECT CURDATE(); SELECT NOW(); -- 获取当前时间 SELECT LOCALTIME(); -- 本地时间 SELECT SYSDATE(); -- 系统时间 SELECT YEAR(NOW()); SELECT MONTH(NOW()); SELECT DAY(NOW()); SELECT SECOND(NOW());-- 系统SELECT USER(); SELECT VERSION();
2020年06月12日
149 阅读
0 评论
0 点赞
2020-06-12
子查询
-- 1.查询 数据库结构-1 的所有考试结果(学号,科目编号,成绩)降序排列-- 方式一:连接查询SELECT studentno,r.subjectno,studentresult FROM result r INNER JOIN `subject` sub ON r.subjectno = sub.subjectno WHERE subjectname = '数据库结构-1' ORDER BY studentresult DESC;-- 方式二:子查询(执行顺序:由里及外)SELECT studentno,subjectno,studentresult FROM result WHERE subjectno = ( SELECT subjectno FROM `subject` WHERE subjectname = '数据库结构-1') ORDER BY studentresult DESC;-- 查询课程为高等数学-2 且分数不小于80分的同学信息(学号、姓名)SELECT studentno,studentname FROM student WHERE studentno IN ( SELECT studentno FROM result WHERE studentresult > 80 AND subjectno = ( SELECT subjectno FROM `subject` WHERE subjectname = '高等数学-2') );
2020年06月12日
71 阅读
0 评论
0 点赞
2020-06-11
分页和排序
-- 分页 LIMIT 和排序 ORDER BY-- 排序:升序ASC 降序DESC-- 语法:ORDER BY 通过哪个字段排序 怎么排-- 根据成绩排序SELECT s.studentno,studentname,subjectname,studentresult FROM student s INNER JOIN result r ON s.studentno = r.studentno INNER JOIN `subject` sub ON r.subjectno = sub.subjectno WHERE subjectname = '数据库结构-1' ORDER BY studentresult DESC;-- 分页-- 为什么要分页:缓解数据库压力,提升体验,瀑布流-- 语法: LIMIT 起始值,页面大小SELECT s.studentno,studentname,subjectname,studentresult FROM student s INNER JOIN result r ON s.studentno = r.studentno INNER JOIN `subject` sub ON r.subjectno = sub.subjectno WHERE subjectname = '数据库结构-1' LIMIT 0,5;-- 第一页 limit 0,5 (1-1)5-- 第二页 limit 5,5 (2-1)5-- 第三页 limit 10,5 (3-1)5-- 第N页 limit 0,5 (n-1)pageSize,pageSize0-- pageSize:页面大小-- (n-1)*pageSize:起始值-- n:当前页数-- (数据总条数-1)/页面大小=总页数-- 查询java第一学年课程成绩排名前10的学生,并且分数大于80的学生信息(学号,姓名,科目,成绩)SELECT s.studentno,studentname,subjectname,studentresult FROM student s INNER JOIN result r ON s.studentno = r.studentno INNER JOIN `subject` sub ON r.studentno = sub.subjectno WHERE subjectname = 'JAVA第一学年' AND studentresult > 80 ORDER BY studentresult DESC LIMIT 0,10;
2020年06月11日
47 阅读
0 评论
0 点赞
2020-06-11
自连接
CREATE TABLE `category` ( `categoryid` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主题id', `pid` INT(11) COMMENT '父id', `categoryname` VARCHAR(50) COMMENT '主题名字', PRIMARY KEY (`categoryid`) ) ENGINE = INNODB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;TRUNCATE `category`; INSERT INTO `category` (`categoryid`,`pid`,`categoryname`); VALUES('2','1','信息技术'), ('3','1','软件开发'), ('4','3','数据库'), ('5','1','美术设计'), ('6','3','web开发'), ('7','5','ps技术'), ('8','2','办公信息');-- 自连接,核心:一张表拆为两张一样的表-- 查询父子信息:把一张表看作两张一摸一样的表SELECT a.categoryname,b.categoryname FROM category a,category b WHERE a.categoryid = b.pid;-- 查询学生所属的年级SELECT studentno,studentname,gradename FROM student s INNER JOIN grade g ON s.gradeid = g.gradeid;-- 查询参加了 数据库结构-1 考试的同学信息:学号,姓名,科目,成绩SELECT s.studentno,studentname,subjectname,studentresult FROM student s INNER JOIN result r ON s.studentno = r.studentno INNER JOIN `subject` sub ON r.subjectno = sub.subjectno WHERE subjectname = '数据库结构-1';
2020年06月11日
59 阅读
0 评论
0 点赞
2020-06-10
DQL操作
-- 函数 CONCAT(a,b)SELECT CONCAT('姓名:',studentname) AS 新名字 FROM student;-- 去重 DISTINCT(重复的数据只显示一条)SELECT * FROM result; -- 查询全部的考试成绩 SELECT studentno FROM result; -- 查询参加考试的同学 SELECT DISTINCT studentno FROM result; -- 去重 SELECT VERSION(); -- 查询系统版本 (函数) SELECT 100*99-100 AS 计算结果; -- 计算 (表达式) SELECT @@auto_increment_increment; -- 查询自增的步长 (变量)-- 考试成绩+1SELECT studentno,studentresult FROM result; SELECT stdentno,studentresult+1 AS '加分' FROM result;-- WHERE条件子句-- 作用:检索数据中符合条件的值-- 搜索的条件由一个或多个表达式组成,结果为布尔值-- 查询成绩在80-100之间-- ANDselect studentno,studentresult FROM result WHERE studentresult>=80 AND studentresult<=100;-- &&select studentno,studentresult FROM result WHERE studentresult>=80 && studentresult<=100;-- 模糊查询(区间)select studentno,studentresult FROM result WHERE studentresult BETWEEN 80 AND 100;-- 除了1000号学生之外的成绩select studentno,studentresult FROM result WHERE studentno != 1000;select studentno,studentresult FROM result WHERE NOT studentno = 1000;-- 模糊查询-- 查询姓刘的同学SELECT studentno,studentname FROM student WHERE studentname like '刘%';-- 查询姓刘的同学,名字后边只有一个字的SELECT studentno,studentname FROM student WHERE studentname like '刘_';-- 查询姓刘的同学,名字后边只有两个字的SELECT studentno,studentname FROM student WHERE studentname like '刘__';-- 查询名字中有华的同学SELECT studentno,studentname FROM student WHERE studentname like '%华%';-- 查询1000,1001,1002学号的学生信息SELECT * FROM student WHERE studentno IN (1000,1001,1002);-- 查询北京的学生信息SELECT * FROM student WHERE address IN ('北京朝阳');-- 查询地址为空的学生信息SELECT * FROM student WHERE address='' " OR address IS NULL;-- 查询出生日期不为空的学生信息SELECT * FROM student WHERE borndate IS NOT NULL;-- 多表查询-- 查询参加了考试得学生信息-- JOIN ON 连接查询-- WHERE 等值查询-- INNER JOIN SELECT s.studentno,studentname,subjectno,studentresult FROM student s INNER JOIN result r WHERE s.studentno = r.studentno;-- RIGHT JOIN SELECT s.studentno,studentname,subjectno,studentresult FROM student s RIGHT JOIN result r ON s.studentno = r.studentno;-- LEFT JOIN SELECT s.studentno,studentname,subjectno,studentresult FROM student s LEFT JOIN result r on s.studentno = r.studentno;-- INNER JOIN 如果表中至少有一个匹配,就返回行-- LEFT JOIN 会从左表中返回所有得值,即使右表中没有匹配-- RIGHT JOIN 会从右表中返回所有得值,即使左表中没有匹配-- 查询缺考的同学 SELECT s.studentno,studentname,subjectno,studentresult FROM student s LEFT JOIN result r on s.studentno = r.studentno WHERE studentresult IS NULL;-- 查询参加考试的同学的学号、姓名、科目名称、成绩 SELECT s.studentno,studentname,subjectname,studentresult FROM student s RIGHT JOIN result r on s.studentno = r.studentno INNER JOIN `subject` sub ON r.subjectno = sub.subjectno;
2020年06月10日
126 阅读
0 评论
0 点赞
2020-06-10
DML操作
INSERT INTO `grade`(`name`) VALUES('大一'),('大二'); INSERT INTO `student`(name,pwd,sex) VALUES('孙笑川','123','男'),('刘波','123','男'); UPDATE `student` set `name`='药水哥',`email`='123456@qq.com' WHERE id = 1; UPDATE `student` set `birthday`=CURRENT_TIME WHERE `name`='孙笑川' AND id = 2;-- TRUNCATE 重新设置自增列,计数器会归零-- 不会影响事务 TRUNCATE `grade`; -- 自增会归零 -- DELETE 不会影响自增 DELETE from `grade`;-- DELETE删除的问题(重启数据库)-- InnoDB 自增列会从1开始(存在内存中,断电即失)-- MyISAM 继续从上一个自增量开始(存在文件中,不会丢失)
2020年06月10日
59 阅读
0 评论
0 点赞
1
2
3
4