随笔分类 -  数据库_sql语句

摘要:https://www.cnblogs.com/wtcl/p/9085427.html 阅读全文
posted @ 2020-03-22 16:01 Shawn_Michaels 阅读(103) 评论(0) 推荐(0)
摘要:建表语句: CREATE TABLE `user` ( `id` varchar(255) NOT NULL, `username` varchar(255) CHARACTER SET latin1 DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB 阅读全文
posted @ 2020-03-22 16:00 Shawn_Michaels 阅读(524) 评论(0) 推荐(0)
摘要:一步一步推导出 Mysql 索引的底层数据结构。 Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。 我们知道,索引的作用是做数据的快速检索,而快速检索的实现的本质是数据结 阅读全文
posted @ 2020-03-21 11:33 Shawn_Michaels 阅读(408) 评论(0) 推荐(0)
摘要:url: jdbc:mysql://localhost:3306/mydb?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false 1. se 阅读全文
posted @ 2020-01-08 23:20 Shawn_Michaels 阅读(2054) 评论(0) 推荐(0)
摘要:一、 SQL语句书写规范(尽量不要在库名,表名前后加“引号”) select * from 库名.表名 where....... select * from 库名1.表名1 left join 库名2.表名2 on 连接条件....... 二、操作这两种数据库的前提条件是用户同时拥有这两个数据库的使 阅读全文
posted @ 2019-11-06 17:08 Shawn_Michaels 阅读(26878) 评论(0) 推荐(0)
摘要:(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。 TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行 阅读全文
posted @ 2019-10-23 15:25 Shawn_Michaels 阅读(4278) 评论(0) 推荐(0)
摘要:思路: 1. 这道题主要是在处理连续二字,观察题中的数据表可以发现,该表的主键是自增而且连续的,所以从主键Id上考虑实现连续的功能。 2. 至少三个连续的相同数字,三个相同的Num的话,这里涉及到对同一个表中的同一属性进行多次比较,考虑给表起别名的方式查询3个该表,从中获取Num来进行对比 MySQ 阅读全文
posted @ 2019-10-14 21:53 Shawn_Michaels 阅读(621) 评论(0) 推荐(0)
摘要:解法一:(左外连接 + not null) 解法二:(not in + 子查询) 阅读全文
posted @ 2019-10-09 13:04 Shawn_Michaels 阅读(161) 评论(0) 推荐(0)
摘要:解法一:(创建临时表当做子表来处理) 解法二:(where好像只能用于原有数据表字段,聚合函数生成的字段无法配合使用) 解法三: 补充: 1、where后面不能跟聚合函数 2、group by 非聚合函数列 having 可以是聚合函数 3、where 子句的作用是在对查询结果进行分组前,将不符合w 阅读全文
posted @ 2019-10-08 13:54 Shawn_Michaels 阅读(318) 评论(0) 推荐(0)
摘要:类型判断:当涉及到了一个表需要和自己表中的某些属性进行对比的时候,使用给表起别名的方式来处理 方法一: 方法二:(注意在select中涉及到多个表的共有字段时,必须标明该字段是属于哪个表的) 阅读全文
posted @ 2019-10-06 23:10 Shawn_Michaels 阅读(212) 评论(0) 推荐(0)
摘要:解题思路: 1、首先,我们需要对分数进行倒序排序(以下得出的结果是没有去重过的倒序的分数) select Score from Scores order by Score DESC 2、接下来我们还缺少一列Rank。例如:一个班有20个人,但是所有人都考了95分,那么全班同学都是并列第一即名次只有一 阅读全文
posted @ 2019-10-03 10:56 Shawn_Michaels 阅读(2326) 评论(0) 推荐(0)
摘要:思路分析:( 结合IF(a,b,c) ) 1、首先我们需要判断如果我们对所有的工资进行去重 再 count 计数,观察工资的阶段的总和是否大于N(这里的N指的是我们需要查询的第N高的薪水),如果去重之后的工资的阶段的总和都小于N,那就说明我们要查询的第N高的工资肯定为null。 >>>>这部分相当于 阅读全文
posted @ 2019-09-24 11:34 Shawn_Michaels 阅读(900) 评论(0) 推荐(0)
摘要:思路一:(最终的结果如果不存在第二高的薪水的话不会返回null) 无论是是使用哪种方法,最终在select后面都要跟一个distinct做到去重的效果 思路二:(解决不能返回null的问题) 方法一:使用子查询结合limit 方法二:使用IFNULL结合limit 补充: 1.对limit的基本使用 阅读全文
posted @ 2019-09-23 21:47 Shawn_Michaels 阅读(404) 评论(0) 推荐(0)
摘要:1、(正解--左连接) 2、(错解--右连接) 3、(错解--内连接) 阅读全文
posted @ 2019-09-22 11:04 Shawn_Michaels 阅读(1697) 评论(1) 推荐(0)