SQL
一些不常见的,比较难点,简单的SQL语句
殇莫忆
历尽千帆,归来仍是少年
展开
-
视图和表的区别
1、视图: 是虚拟的内存表;表:是实际在数据库中创建的表2、视图 :只能进行select操作; 表 :可以用update,insert,delete等sql语句修改表中的数据3、视图:不会对性能产生影响,但是会产生资源消耗; 并且它是已经编好的SQL语句; 表:它不是已经编译好的SQL语句;4、视图:他的删除不会对表产生任何的影响,只会影响视图本身;...原创 2019-01-15 13:54:56 · 6740 阅读 · 0 评论 -
JPA 自定义对象 postgresql数据库
1、返回值为List<Object[]>,由于我们之前说过Jpa无法自动完成查询结果到自定义实体的映射,所以我们要使用改对象接收。nativeQuery=true,属性的设置,是表明该方法中的sql以数据库的sql语句格式对待。 //查询某个tag在某段时间内的avg 、min 、 max 、 sum 、 count 等 @Query(value = "SELECT ...原创 2018-09-28 08:57:19 · 1176 阅读 · 0 评论 -
Mybatis Exception getting JDBC Driver
在pom.xml中添加mysql的依赖:<build> <plugins> <plugin> <dependencies> <dependency> <groupId>mysql</groupId> &l原创 2018-06-22 17:21:18 · 2642 阅读 · 0 评论 -
mybatis 拓展框架对比
文档连接 :http://baomidou.oschina.io/mybatis-plus-doc/#/?id=%E7%AE%80%E4%BB%8B https://gitee.com/hengboy/mybatis-enhance https://gitee.com/free/Mapper/wikis/1....转载 2018-08-07 11:48:52 · 3174 阅读 · 0 评论 -
MySQL 数据备份与还原
一、数据备份1、使用mysqldump命令备份mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。1、备份一个数据库mysqld...转载 2018-09-18 13:51:28 · 161 阅读 · 0 评论 -
mysql 数据库在Windows的安装
下载mysql 地址:https://dev.mysql.com/downloads/mysql下载之后解压缩 ,本人在C盘[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]# 设置3306端口port = 3306# 设置mysql的安装目录basedir=C:\mysql-8.0.11...原创 2018-09-14 10:22:50 · 1568 阅读 · 0 评论 -
55 道 MySQL 面试题
1、一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ? 2、Mysql的技术特点是什么?Mysql数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程SQL服务器、不同的后端、广泛的应用程序编程接口和管理工具。3、Heap表是什...转载 2018-09-18 13:46:25 · 234 阅读 · 0 评论 -
MySQL 学习笔记
Windows服务-- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)连接与断开服务器mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VAR...转载 2018-09-10 14:48:01 · 164 阅读 · 0 评论 -
SpringBoot 报表 与前端的交互
类似于这种报表,本人用的是SpringBoot + SpringData Jpa , idea 编辑器 @Query(value = "select avg()...... from .. where ...",nativeQuery = true) List select(...); 如果用select查询语句,把min、max、avg等都写出来,就是想下图一样,在一个...原创 2018-08-17 11:22:31 · 4437 阅读 · 0 评论 -
动态SQL 和静态SQL 的 区别
所谓SQL的静态和动态,是指SQL语句在何时被编译和执行,二者都是用在SQL嵌入式编程中的,这里所说的嵌入式是指将SQL语句嵌入在高级语言中,而不是针对于单片机的那种嵌入式编程。二者区别 :静态SQL 动态SQL SQL语句直接嵌入到宿主编程语言,程序需要预编译处理这些嵌入的SQL语句 SQL语句一般作为宿主语言的变量出现。嵌入式动态SQL应用需要预编译,非嵌...转载 2018-08-20 11:24:57 · 5034 阅读 · 0 评论 -
数组的查询 json字符串转 java 对象数组
应用版本:SpringBoot 2.0 版本 , Tomcat 1.8 , Intellij Idea ,springDataJpa //查询多个表,在某个站点下的指定tag的统计值 @Query(value = " where name IN (?1)) and source_time between ?2 and ?3",nativeQuery = true) Lis...原创 2018-08-15 14:04:06 · 4216 阅读 · 0 评论 -
SQL优化的方法
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where ...转载 2018-05-25 16:44:09 · 133 阅读 · 0 评论 -
SQL优化方法(二)
下面列举一些工作中常常会碰到的Oracle的SQL语句优化方法:1、SQL语句尽量用大写的; 因为oracle总是先解析SQL语句,把小写的字母转换成大写的再执行。2、使用表的别名: 当在SQL语句中连接多个表时, 尽量使用表的别名并把别名前缀于每个列上。这样一来,就可以减少解析的时间并减少那些由列歧义引起的语法错误。3、选择最有效率的表名顺序(只在基于规则的优化器(RBO)中有效): ORA...转载 2018-06-01 10:54:10 · 194 阅读 · 0 评论 -
怎样玩转千万级别的数据(表分区)
大数据处理是一个头疼的问题,特别当达不到专业DBA的技术水准时,对一些数据库方面的问题感到无赖。所以还是有必要了解一些数据库方面的技巧,当然,每个人都有自己的数据库方面的技巧,只是八仙过海,所用的武功不同而已。我把我最常用的几种方式总结来与大家分享,大家还有更多的数据库设计和优化的技巧,尽量的追加到评论中,有时一篇完整的博客评论比主题更为精彩。方法1:采用表分区技术。 第一次听说表分区,是以前...转载 2018-06-05 09:51:48 · 890 阅读 · 0 评论 -
Hypertable 和 chunk 超表和块
概述TimescaleDB作为PostgreSQL的扩展实现,这意味着Timescale数据库在整个PostgreSQL实例中运行。 该扩展模型允许数据库利用PostgreSQL的许多属性,如可靠性,安全性以及与各种第三方工具的连接性。 同时,TimescaleDB通过在PostgreSQL的查询规划器,数据模型和执行引擎中添加钩子,充分利用扩展可用的高度自定义。从用户的角度来看,Timescal...翻译 2018-06-08 11:58:59 · 2506 阅读 · 0 评论 -
TimescaleDB 与PostgreSQL 数据库的比较(未完待续······)
文档:https://docs.timescale.com/v0.9/introduction/timescaledb-vs-postgres为什么在关系数据库上使用TimescaleDB?TimescaleDB相对于存储时间序列数据的vanilla PostgreSQL或其他传统RDBMS提供了三大优势:· 数据采集率要高得多,尤其是在数据库规模较大的情况下。· 查询性能从相当于数量级...翻译 2018-07-25 09:15:59 · 9158 阅读 · 13 评论 -
为什么在NoSQL上使用TimescaleDB?
为什么在NoSQL上使用TimescaleDB?与一般NoSQL数据库(例如MongoDB,Cassandra)或更专门的时间导向数据库(例如InfluxDB,KairosDB)相比,TimescaleDB提供了定性和定量差异:普通SQL:即使在规模上,TimescaleDB也可以为时间序列数据提供标准SQL查询的功能。大多数(所有?)NoSQL数据库都需要学习新的查询语言或使用最好的“SQL-i...翻译 2018-06-08 15:07:21 · 2455 阅读 · 0 评论 -
SQL查询语句(一)
1、如何用一个开始时间一个结束时间为条件,查询一个时间段内的数据sql=" select * from tablename where 字段名称 between '"& 开始日期变量 &"' and '"& 截止日期变量 &"'"sql=" select * from tablename where 字段名称 between '"& Sta原创 2018-07-21 16:02:10 · 234 阅读 · 0 评论 -
sum(sum()) 含义
sum(sum(y)) 求矩阵y所有元素的和。sum(y) 是对矩阵各个列求和例如:y=[1 2 ; 3 4 ] ====》 y = 1 2 3 4 ====》sum(y) = 4 6 ====sum(sum(y)) =10 参考:https://blog.csdn.net/qq_26093511...原创 2018-08-01 10:29:25 · 8580 阅读 · 1 评论 -
函数 over() 的含义
目录一、开窗函数和聚合函数的含义1、开窗函数的定义2、开窗函数二、开窗函数的具体介绍---聚合开窗函数和排序开窗函数1、聚合开窗函数2、排序开窗函数一、开窗函数和聚合函数的含义1、开窗函数的定义 它和聚合函数是一样的 ,都是对行的集合组进行聚合计算。它用于为行定义一个窗口(这里的窗口是指运算将要操作的行的集合),它对一组值进行操作,不需要使用GROUP ...转载 2018-08-01 11:09:08 · 15525 阅读 · 0 评论 -
一天24h 分成几段去查询
1、查询多个tag 分段查询 1小时的avg,countSELECT time_bucket('1 hour', time) AS bucket, avg(value) AS avg_value , count(value) as count_value FROM xxx WHERE sa in(?1) and time between ?2 AND ?3 GR...原创 2018-08-06 18:23:27 · 948 阅读 · 0 评论 -
postgresql 分页查询
PostgreSQL的LIMIT子句是用来限制由SELECT语句返回的数据量。通俗的讲解:官方的讲解:语法:LIMIT子句的SELECT语句的基本语法如下:SELECT column1, column2, columnNFROM table_nameLIMIT [no of rows] 以下是LIMIT子句时使用OFFSET子句的语法:SELECT colu...转载 2018-08-07 17:07:05 · 9863 阅读 · 1 评论 -
SQL语句(包含:求统计值、合格率、合格次数、保留两位小数等)
表的结构【这张表---- low 是上限值 ; high 是下限值 ; __id 是第二张表的a 互相关联的表】【第二张表】求多个?的值①、函数min、max、avg、count 等 【a , b , tag, low, high 分别是两张表的字段】select 字段 ,count(字段) as count_a , min(字段) as min_b , ...原创 2018-08-08 15:31:32 · 14159 阅读 · 0 评论