SQL
MarconiYe
这个作者很懒,什么都没留下…
展开
-
SpringBoot整合Mybatis
首先引入mybatis-springboot整合坐标 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> .原创 2022-04-24 22:07:06 · 435 阅读 · 0 评论 -
MyBatis条件查询
单条件查询用select查询数据时,如果需要用户传入的参数只有一个时,可以直接在接口代理方法中设置一个参数:如上图的selectById(int id)方法,定义好方法后需要在对应的映射文件中写上对应的SQL语句只需要将对应的参数名传入#{}中即可实现插入参数,还有一种方法是将#改成$,这两个的区别在于:$代表的是先拼接字符串,再对SQL进行编译,而#则是先预编译SQL语句,再传入参数的值,这样可以防止字符串拼接时的SQL注入问题,具体可看我的另一篇文章JDBC解决SQL注入问题多条件查询当原创 2022-04-09 10:57:31 · 4703 阅读 · 0 评论 -
JDBC事务操作
在JDBC中想要开启事务,实际上就是关闭mysql默认的自动提交机制,将数据库的连接对象调用相应方法即可:con.setAutoCommit(false);//取消自动提交,开启事务con.commit();//手动提交con.rollback();//事务回滚,可在catch代码块中执行...原创 2022-04-06 23:48:30 · 461 阅读 · 0 评论 -
MySQL的一些笔记
数据类型:varchar:字符串,根据实际情况改变储存空间,效率低,可节省空间char:固定分配内存长度,效率高,可能浪费空间,两者最大长度为255int:最长11bigint:Java中的Longfloat:同Javadouble:同javadate:年月日datetime:年月日时分秒日期格式:%Y 年%m 月%d 日%h 时%i 分%s 秒str_to_date(str,‘%Y-%m-%d’)date_formate(date,‘%Y%m%d’)将日期以指定格原创 2022-04-06 16:25:46 · 703 阅读 · 0 评论 -
一道数据库查询面试题
有 3 个表 S(学生表),C(课程表),SC(学生选课表)S(SNO,SNAME)代表(学号,姓名)C(CNO,CNAME,CTEACHER)代表(课号,课名,教师)SC(SNO,CNO,SCGRADE)代表(学号,课号,成绩)问题:1,找出没选过“黎明”老师的所有学生姓名。2,列出 2 门以上(含2 门)不及格学生姓名及平均成绩。3,即学过 1 号课程又学过 2 号课所有学生的姓名。题解:---------------------------第一题-----------------.原创 2022-04-05 20:32:58 · 538 阅读 · 0 评论 -
SQL中的union关键字
union关键字旨在连接两个查询后的表,这两个表的字段数量必须一致,在MySQL中,这些字段数据类型、名称可以不同,但数量必须相同,而在Oracle中数据类型也必须相同,union相对多表查询来说可以提高其效率,因为union只是简单的把两个查询结果相加,而join则具有笛卡尔积效应...原创 2022-04-05 15:07:51 · 859 阅读 · 0 评论 -
SQL子查询
MySQL查询语句中可以在SQL语句中实现嵌套结构,这样的结构称为子查询在from后面的子查询,即将查询之后的新表当成一个实际存在的表,对其进行二次查询在where后的子查询,对于SQL查询语句的执行顺序来说,group by在where语句前执行,因此不能在where语句中直接使用分组函数,但是可以在where中先用分组函数计算出一个值,再利用到条件中:select name from student where (select avg(score) from student) > 90;原创 2022-04-05 15:04:00 · 257 阅读 · 0 评论 -
MySQL多表查询
内连接将两表简单结合:select stu.name, sch.name from student stu join school sch on stu.id = sch.id;该语句将学生表与学校表连接,该连接会将所有学生信息一一与学校信息比对筛选,也称为为笛卡尔积,其匹配的次数为两表数据之积外连接内连接两表时,如上例,有的学校的id或许在学生中没有出现,也就是说被筛选掉的数据就不显示出来,那么外连接相对来说对两表就用了主次关系,用left join和right join来形成主次关系,原创 2022-04-05 03:34:56 · 207 阅读 · 0 评论 -
SQL单行处理函数
单行处理函数表示只能处理一行数据,也就是传入一行,返回一行lower():将字段值变为小写upper():将字段值变为大写substr(field,start,len):将字符串切割length():求字符串长度trim():去空格round(field,num):四舍五入num表示保留小数位数,0为个位,-1为十位rand():生成[0,1)的随机数ifnull(field,value):如果field字段为空,则将值设置为value,用于数学运算,因为数学运算中只要存在null,结果必原创 2022-04-04 17:29:22 · 456 阅读 · 0 评论 -
SQL中分组函数的基本用法
分组函数也成为多行处理函数,包含5个基本函数:count 计数sum 求和avg 平均值max 最大值min 最小值我们知道在表达式中如果出现NULL,就会使整个表达式结果为NULL,但上述5个分组函数在计算值时自动忽略值为NULL的数据。首先需要注意select语句的执行顺序我们知道select语句的书写顺序为: select ... from ... where ... group by ... order by .....原创 2021-10-03 22:25:10 · 851 阅读 · 0 评论 -
SQL语句中的条件语句
在用select语句显示某个字段时,我们可以用以下结构来对字段做特定条件下的操作,类似于if else:case 字段 when 条件 then 操作 when 条件 then 操作 else 操作 end比如我们在显示工资时当某个字段满足条件时,将对某个字段进行指定操作后显示为一个新的字段。...原创 2021-10-03 19:42:18 · 2849 阅读 · 0 评论 -
SQL语句中的数据查询
select 字段名 form 表名可以用通配符*代替字段名。只看表的结构,不看数据:desc 表名(缩写为description)结构显示的是该表中所有的字段名以及数据类型等信息。select 字段名1 as 字段1的别名,字段名2 ,字段名3 from 表名查询多个字段信息,用逗号隔开,as关键字后面跟的是这个字段的别名(as可以省略),注意起别名只是这次显示出来的是别名,而储存在数据库中的字段名并没有改变,**select关键字永远都不改变数据库中的数据。**当需要起的别名有空..原创 2021-09-15 21:47:05 · 537 阅读 · 0 评论