![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql
新林。
这个作者很懒,什么都没留下…
展开
-
mysql按组区分后获取每组前几名的sql写法(以及学生各科成绩大于多少分的总结)
遇到一个场景,要把数据分组,然后获取每组前10条数据,首先我想到用group by分组,但是难点是分组后怎么知道该数据在组里面排第几条。研究了一下,写个demo,记录一下笔记,后面顺便也记录一下常规sql的一些考试题(统计各科学生成绩大于多少多少分的题目)原创 2020-11-21 18:32:31 · 3489 阅读 · 3 评论 -
mysql在update中使用select查询出的数据来更新数据,以及sql求两个日期时间相差的月数
记一个有意思的sql,mysql在update中使用select查询出的数据来update,我一开始是想先用sql把数据查询出来成一个列表,然后再循环遍历update更新的,但是效率太低了要执行很多遍sql,为什么sql不能写在一条呢,在update的时候直接select出来,学习了一下,发现可以。update中使用select查询出的数据-通用模式:update a inner join (select * from b) c on a.id = b.id set a.xx = c.xxx。原创 2019-11-15 21:15:02 · 6879 阅读 · 0 评论 -
mysql explain用法和结果的含义
转自:https://www.cnblogs.com/qiudongxu/p/10312777.html explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explain select surname,fir...转载 2019-09-25 14:15:31 · 164 阅读 · 0 评论 -
linux mysql导入sql文件导出以及mysqldump导出数据库备份笔记
有时候mysql的端口不对外网开放,只能ssh进入linux的机器单独操作mysql,记录一下mysql导入文件导出备份数据库笔记。导入sql文件:source ~/file.sql,导出sql文件:mysqldump -h主机名 -P端口 -u用户名 -p密码 数据库名 > 文件名.sql原创 2019-07-03 11:15:29 · 1648 阅读 · 0 评论 -
Navicat配置mysql数据库用户权限
用数据库的时候就会遇到有多个用户,分配用户权限的情况,有些用户只读,有些用户可以读写,有些用户只能操作一个或者多个数据库,如何给mysql的用户设置权限,我这里描述一下如何用navicat图形操作分配用户权限如果用sql grant分配权限的话,参考MYSQL数据库管理之权限管理,分配用户单个数据库全部权限:grant all on 数据库名.* to 用户名@'%' identified by '密码';查询数据库用户权限:show grants for 用户名@'%';原创 2019-06-24 23:22:37 · 20263 阅读 · 1 评论 -
mysql存储过程demo,动态拼接表名、表名作为参数传递,以及通过存储过程自动插入批量测试数据
存储过程很方便,就像写shell脚本一样,可以帮我们把重复的命令总结成一个脚本,不用自己每次都做重复的操作,sql是不可以拼接表名的,有时候写存储过程想把表名作为参数传进来或者在sql中动态拼接表名,这时候可以在存储过程中用concat函数动态拼接我们的sql,在拼接sql的时候拼接表名。用两个demo看代码理解一下。例1:把表名作为存储过程的参数;例2:以及通过存储过程自动插入批量测试数据原创 2019-06-20 23:55:43 · 8010 阅读 · 0 评论 -
mysql根据json字段内容作为查询条件(包括json数组),检索数据
我们有一个日志表,里面的data字段是保存不同对象的json数据,遇到想根据里面的json的字段内容作为条件查询的情况# mysql根据json字段的内容检索查询数据mysql5.7以上支持json的操作,以及增加了json存储类型一般数据库存储json类型的数据会用json类型或者text类型查询根据表字段的json内容进行查询1. 创建表. 1)使用 字段->'$.json属性'进行查询条件 2)使用json_extract函数查询,json_extract(字段,原创 2019-06-14 09:06:45 · 217948 阅读 · 49 评论 -
mysql如何查询多样同样的表/sql分表查询、java项目日志表分表的开发思路/按月分表
之前开发了一个监控系统,数据库的日志表是单表,,虽然现在数据还不大并且做了查询sql优化,不过以后数据库的日志表数据肯定会越来越庞大,将会导致查询缓慢,所以把日志表改成分表,日志表可以按时间做水平分表,我是按月分的,每个月一张表,这时候的问题是1. 数据库有多张同样的分表如何根据条件查询?2. 在进行分页的时候如何计算总记录数?如何查询出所有分表?3. 每个月的新表是如何创建?系统如何自动创建?4. 不确定哪个分表的情况如何查询某一条详细记录?分表查询用union或者union或者uni原创 2019-06-01 16:25:23 · 6645 阅读 · 0 评论 -
总结java数据类型和mysql、oracle、pgsql数据类型对应关系,附数据库字段类型转java类型代码
**java的基本数据类型有八种:** byte、short、int、long、float、double、char、boolean **总结java和mysql、oracle、pgsql数据类型对应关系**| java|byte | short|int|long|float|double|char|boolean|string|java.sql.Date|java.math.BigDecimal|java.sql.Blob|java.sql.Clob|--|--|--|-原创 2019-06-12 14:24:50 · 12656 阅读 · 1 评论 -
mysql全连接和oracle全连接查询、区别
oracle的全连接查询可以直接用full on,但是在mysql中没有full join,mysql使用union实现全连接> 注:mysql利用左连接和右连接分别查询出左右两边的数据然后利用union去重合并(去掉两边都有的重复数据)原创 2019-06-05 17:00:17 · 1832 阅读 · 0 评论 -
记一个mysql中有多张根据时间生成的相同结构的表的查询问题(mysql的information_schema.tables使用)
有一个需求要查询mysql中的同样结构的表中查询出最小值 id,(这些表是根据时间生成的,前缀都一样,后缀不一样,年份越前的表的id越小)困难点:在生产环境不知道最小的表是哪一张表,不然可以直接根据表名查需求分析:查询出时间最小的表,然后再查最小值1.利用INFORMATION_SCHEMA.TABLES先查询出时间最早的表select min(table_name) as tableN...原创 2019-05-17 14:48:45 · 1455 阅读 · 0 评论