搜索内容

包含标签:sql 的文章
  • " alt="深入解析云溪数据库分布式 SQL 引擎架构的五大服务组件">
    其他

    深入解析云溪数据库分布式 SQL 引擎架构的五大服务组件

    导读 与传统关系型数据库相比,分布式数据库系统具有多集群、多节点、高并发等特性,这就需要分布式数据库的 SQL 引擎能够在满足用户常规的 SQL 请求以外,提供多集群、多节点协同计算的能力,从而提高查询效率。本文将介绍云溪数据库的 SQL 引擎架构特点,以及其中各大服务组件的技术原理与工作流程。 分布式数据库架构 目前业界最流行的分布式数据库主要分为两种架构。一种是以 Google Spanner 为代表的 Shared nothing 架构,另一种是以 AWS Auraro 为代表的计算/存储分离架构。  Spanner 是 shared nothing 的架构,内部维护了自动分片、分布式事务、弹性扩展能力,数据存储还是需要 sharding,plan 计算也需要涉及多台机器,也就涉及了分布式计算和分布式事务。  Auraro 主要思想是计算和存储分离架构,使用共享存储技术,这样就提高了容灾和总容量的扩展。但是在协议层,只要是不涉及到存储的部分,本质还是单机实例的 SQL 引擎,不涉及分布式存储和分布式计算,这样就和传统数据库兼容性
    admin 今天
  • SUBSTRING_INDEX 函数
    其他

    SUBSTRING_INDEX 函数

    转 链接:mysql数据库根据字符来将一个字段拆分成多个字段_梁兴龙的博客-CSDN博客_sql一个字段拆分为多个字段  
    admin 今天
  • " alt="SQL语句执行顺序 和部分优化">
    其他

    SQL语句执行顺序 和部分优化

      查询语句中select from where group by having order by的执行顺序 1.查询中用到的关键词主要包含六个,并且他们的顺序依次为  select--from--where--group by--having--order by  其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序  与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行  from--where--group by--having--select--order by,  from:需要从哪个数据表检索数据  where:过滤表中数据的条件  group by:如何将上面过滤出的数据分组  having:对上面已经分组的数据进行过滤的条件   select:查看结果集中的哪个列,或列的计算结果  order by :按照什么样的顺序来查看返回的数据 2.from后面的表关联,是自右向左解析的  而where条件的解析顺序是自下而上的。  也就是说,在写SQL文的时候,尽量把数
    admin 今天
  • MySQL统计信息不准确导致索引失效
    其他

    MySQL统计信息不准确导致索引失效

    1.统计信息不准确的影响 统计信息不准确一般会导致MySQL优化器无法选择正确的索引,从而导致优化器选择错误的索引或者不走索引,引起索引失效,导致大量慢查询。 2.什么情况下会导致统计信息不准确? 一般来说,大体分为以下两种情况: 统计信息未及时更新,不正确的统计信息导致索引失效。表中碎片过多,导致Cardinality不准确,计算错误。 下面就两种场景进行细谈: 统计信息未及时更新 在这个话题之前先看一些参数: FOR MySQL 5.7: 一般来说统计信息由下面的参数控制: innodb_stats_persistent:控制统计信息是否持久化,默认打开。 innodb_stats_auto_recalc: 控制表多少比例的行被修改后自动更新统计信息,默认是10%,默认打开。 innodb_stats_persistent_sample_pages: 开启统计信息持久化之后索引统计时采样的页面数
    admin 今天
  • sql的执行顺序
    其他

    sql的执行顺序

     SQL语言的运行顺序,先执行上图中的第一步,然后再执行select子句,最后对结果进行筛选。distinct是在select子句中,而group by在第一步中,所以group by去重比distinct去重在效率上要高。
    admin 今天
  • " alt="Error creating bean with name ‘xxx‘ defined in javaconfig问题。">
    其他

    Error creating bean with name ‘xxx‘ defined in javaconfig问题。

    作为一个Spring的初学者,检查过文件的配置,全部都是正确的,但是不知道为什么我已启动就是Error creating bean with name 'xxx' defined in javaconfig问题。直接上代码,求大神指点。 这是我的项目结构: 这是我引入的依赖: 4.0.0 com.hncgzy.wutao
    admin 今天
  • Mybatis查询一段时间内数据,按时间分组,返回时间格式化sql
    其他

    Mybatis查询一段时间内数据,按时间分组,返回时间格式化sql

    Mybatis查询一段时间内数据,按时间分组,返回时间格式化sql问题 日常查询中sql语句中会带有时间段的条件查询,我举例的数据库中storage_time表示的是时间,storage_channel可以当做商品类型 查询出来返回时间 根据时间分组 完整的sql 查询得出的数据 时间分组效果不是我想要的,12号这一天因为时刻的不同当天又被分成了很多个组,而且查询结果时间这一列格式也不是我想要的,显示的时候把时分秒去掉,所以在显示的时候可以加上格式化 时间格式化: date_format(storage_time,'%Y-%m-%d') t 更改之后的sql为,storage_time起别名t 查询结果为,现在就不带时分秒了 但是这样去使用在mybatis上会出现问题,接收不到数据,查询出来后返回的时间是null,这让我很奇怪,想了各种办法行不通,但我们依然还是要根据当
    admin 今天
  • Windows10本地安装MySQL8.0.27
    其他

    Windows10本地安装MySQL8.0.27

    Windows10本地安装MySQL8.0.27 一、下载二、解压三、配置四、初始化五、安装并启动服务六、登录并修改密码七、开启远程连接 一、下载 下载地址:https://dev.mysql.com/downloads/mysql/ 二、解压 解压后得到文件 三、配置 在根目录添加文件夹data和配置文件my.ini 在配置文件my.ini添加内容 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8mb4 [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录(以自己具体的解压目录为准) basedir=D:\Program Files\My
    admin 今天
  • Java 将小数转化为百分比
    其他

    Java 将小数转化为百分比

    /** * 转换成百分比 * @param str 0.00%表示转换为百分比后,保留两位小数 * @return */ public static String convert(double str){ // DecimalFormat df = new DecimalFormat("0%"); String s = df.format(str); return s; }  
    admin 今天
  • postSQL使用存储过程动态查询
    其他

    postSQL使用存储过程动态查询

    动态查询数据库 CREATE OR REPLACE FUNCTION 表名 ( 参数名 参数类型 )  RETURNS TABLE  (表字段名 表字段类型 )  AS $$ DECLARE BEGIN         RETURN query EXECUTE '执行的查询sql';(SQL拼接三种方式或者使用占位符进行参数配置)      END; $$ LANGUAGE plpgsql;
    admin 今天
  • Mysql动态sql之mybatis动态sql
    其他

    Mysql动态sql之mybatis动态sql

    mysql动态sql想必大家都了解了 举个列子:现在有如下sql语句 select id,name from animals where id = 1 and name ="老虎" 很简单的sql语句但是在我们进行传参时  加入id 赋值为null 或者 name 为 null  那么sql语句就会报错,那么这个时候就需要用到伟大的mybatis了,在日常的开发中mybatis这个半持久化框架的好处不用多说,直接上代码。   if  是我们比较常见的写法 这条语句提供了可选的查找文本功能。如果不传入 “title”,那么所有处于 “ACTIVE” 状态的 BLOG 都会返回;如果传入了 “title” 参数,那
    admin 今天
  • Rtrim()、Ltrim()去掉字符串中的空白(空格)函数
    其他

    Rtrim()、Ltrim()去掉字符串中的空白(空格)函数

    Ltrim():去除字符串左边空格 select 'hei'+ltrim(' 左边有空格'),ltrim('右边有空格 ')+'hei' 结果:   Rtrim():去除字符串右边空格 select 'hei'+rtrim(' 左边有空格'),rtrim('右边有空格 ')+'hei' 结果:  
    admin 今天
  • Mysql中TCL语言
    其他

    Mysql中TCL语言

    TCL 一、TCL事务控制语言 事务: 一个或者一组sql语句组成一个执行单元,这个单元要么全部执行,要么全部不执行 show engine; //查看支持的引擎。 innodb引擎支持事务。 事务的特性:ACID 1、原子性(Atomicity): 原子性是指事务是一个不可分割的工作单位,事务中操作要么全执行,要么都不发生。 2、一致性(Consistency): 事务使数据库从一个一致性状态变为另一个一致性状态。 3、隔离性(Isolation): 一个事务的执行不能被其他事物干扰,并发执行的各个事务之间不能相互干扰。 4、持久性(Durability): 一个事务一旦被提交,它对数据库中数据的改变就是永久性的。 二、事务的创建 隐式事务:事务没有明显的开始和结束的标记 比如:insert,update,delete 显式事务:事务有明显的开始和结束的标记 前提:必须先设置自动提交功能为禁用 se
    admin 今天
  • MySQL系列-binlog
    其他

    MySQL系列-binlog

    MySQL binlog是MySQL数据库的DDL 和DML (除了数据查询语句select、show等)操作的逻辑重放,他像Oracle redo 但不同于Oracle redo,MySQL binlog记录的不光是逻辑日志,还是数据库层的逻辑操作,众所周知,由于MySQL架构设计问题,MySQL作为一个支持多种存储引擎的开放式数据库,那么他就会有不同于存储引擎的日志记录,它就是binlog,不同于innodb 的redo。 Binlog 的日志格式 记录在二进制日志中的事件的格式取决于二进制记录格式。支持三种格式类型: STATEMENT:基于SQL语句的复制(statement-based replication, SBR),每一条会修改数据的sql都会记录在binlog中,不记录每一行的变化,减少了binlog日志量,但是由于记录的只是执行语句,为了这些语句能在slave上正确运行,因此还必须记录每条语句在执行的时候的一些相关信息,以保证所有语句能在slave得到和在master端执行的时候相同的结果。另外mysql的复制
    admin 今天
  • 简单的mybatis-plus查询所有值为空
    其他

    简单的mybatis-plus查询所有值为空

    命名空间 包扫描 到测试类运行发现值为空怎么回事? 结果: 数据库 很简单的结构了 数据库是可以的 看源码标签都解析 问题出现了源头, 表面写错误了,我写的之前的表面。 低级错误 改了数据库 没问题了; 在这里插入图片描述
    admin 今天
  • 使用sql填充数据
    其他

    使用sql填充数据

    使用sql填充数据 1.创建表 create table test ( name string, activity string ) row format delimited fields terminated by '\t'; 2.构造数据 张三 吃饭 张三 张三 张三 王五 打豆豆 王五 王五 赵四 唱歌 赵四 赵四 赵四 赵四 赵四 赵四 3.处理思路 3.1 使用sum()over(order by)开窗函数特性进行累积分组 select sum(flag)over(order by rownum) as category, name, activity from ( select row_number()over() as rownum, case when a
    admin 今天
  • 数据库概述–了解数据库
    其他

    数据库概述–了解数据库

    数据库 什么是数据库?什么是数据库管理系统?什么又是SQL呢?带着疑问走进学习园地。 数据库(DataBase) 简称DB。按照特定的格式存储数据的文件组合。简单来说,就是一个存储数据的仓库,其实就是一些文件,文件中存储了特定格式的数据。数据库管理系统(DataBaseManagement) 简称DBMS。数据库管理系统是专门用来管理数据库中的数据,然而数据库管理系统可以对数据库当中的数据集进行增删改查。常见的数据库管理系统 MySQL、SQL Server、DB2、Oracle、MS SQL Server、Sybase等。 SQL:结构化查询语言 开发人员需要学习SQL语句,开发人员通过编写SQL语句,然后DBMS负责执行SQL语句,最终完成数据库的增删改查操作。三者之间的关系: 首先是通过DBMS来执行SQL语句操作,来完成对数据库的增删改查操作。顺序结构如下所示:DBMS—执行—>SQL–操作—>DB(
    admin 今天
  • 数据库–视图
    其他

    数据库–视图

    --实验11(视图的建立与使用) --    针对S_T数据库: --1、    创建计算机系所有学生的信息视图。(create  视图  as) create view CS_view as select sno,sname,ssex,sage,sdept from student where sdept='CS' with check option --5、    通过视图cust_view删除所有姓张的收件人且名字为2个汉字的客户数据。(delete 视图) delete cust_view where receiver like '张_'  --7、    在实验1的基础上添加一个计算机系学生的信息。(insert into 视图) insert into CS_view values('200215131','Jackson','男',20,'CS') 更新视图(updata 视图 set ) --8、    在实验1的基础上将计算机系所有学生的年龄增加1岁。 update CS_view set sage=sage+
    admin 今天
  • (CVE-2020-9483)ApacheSkyWalking SQL注入 漏洞复现
    其他

    (CVE-2020-9483)ApacheSkyWalking SQL注入 漏洞复现

    漏洞信息 漏洞名称 ApacheSkyWalking SQL注入漏洞 漏洞编号 CVE-2020-9483 危害等级 高危 漏洞类型 通用型漏洞 漏洞厂商 Apache 漏洞概述 当使用H2 / MySQL / TiDB作为Apache SkyWalking存储时,通过GraphQL协议查询元数据时,存在SQL注入漏洞,该漏洞允许访问未指定的数据。 Apache SkyWalking 6.0.0到6.6.0、7.0.0 H2 / MySQL / TiDB存储实现不使用适当的方法来设置SQL参数。 环境搭建 先在kali安装docker-compose 然后下载靶场vulhub: docker-compose up -d 生成靶场环境: 访问8080端口: 环境搭建完成。 漏洞复现 利用burpsuite抓包: BP抓包,利用报错注入获取版本 POST /graphql HTTP/1.1 Host:
    admin 今天
  • PostgreSQL学习总结(7)—— PostgreSQL 语句 INSERT INTO、SELECT、UPDATE、DELETE 等学习
    其他

    PostgreSQL学习总结(7)—— PostgreSQL 语句 INSERT INTO、SELECT、UPDATE、DELETE 等学习

    一、INSERT INTO 语句 PostgreSQL INSERT INTO 语句用于向表中插入新记录。我们可以插入一行也可以同时插入多行。 语法 INSERT INTO 语句语法格式如下: INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN); column1, column2,...columnN 为表中字段名。 value1, value2, value3,...valueN 为字段对应的值。 在使用 INSERT INTO 语句时,字段列必须和数据值数量相同,且顺序也要对应。如果我们向表中的所有字段插入值,则可以不需要指定字段,只需要指定插入的值即可: INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN); 下表列出执行插入后返回结果的说明: 序号输出信息 & 描述1 INSERT
    admin 今天
  • maven-assembly-plugin使用
    其他

    maven-assembly-plugin使用

    maven-assembly-plugin使用 1. maven-assembly-plugin是什么?2. maven-assembly-plugin使用步骤 1. maven-assembly-plugin是什么? 它是maven中提供的打包标准插件。 Assembly 插件的主要作用是,允许用户将项目输出与它的依赖项、模块、站点文档、和其他文件一起组装成一个可分发的归档文件。 2. maven-assembly-plugin使用步骤 在Maven工程的pom.xml文件里配置maven-assembly-plugin插件,引入Assembly描述符文件。 org.apache.maven.plugins maven-a
    admin 今天
  • Java int 转 String 类型,java类型转换
    其他

    Java int 转 String 类型,java类型转换

     int类型转String类型有下面几种方式:   String var = num + ""; Strng var = String.valueOf(num); String var = Integer.toString(num); 这三种方法在实际使用过程中都是没有问题的 但是效率上还是有些许区别的 所以写个段代码来对照一下他们的效率 int num = 123456789; long start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++){ String var = num + ""; } long end = System.currentTimeMillis(); System.out.println("num + '' 时长为:" + (end - start)); start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++){ S
    admin 今天
  • hive计算世界完全对称日 hive生成序列 hive格式化日期
    其他

    hive计算世界完全对称日 hive生成序列 hive格式化日期

    当前日期 2021年12月2日 --使用hive进行格式化 select date_format(current_date(),'yyyyMMdd'); --20211202 即为世界完全对称日 然后百度世界完全对称日 只给出寥寥无几的结果 此时回忆起之前曾用sql直接生成了一张日期维表,当时通过posexplode这个函数实现了hive自增序列,再结合其他日期函数可直接生成任意时间跨度的时间维表 posexpode函数演示 select tbl.* from (select 1) tmp lateral view posexplode(split('123456789','')) tbl; --posexplode会自动映射出 pos和val两个列名 所需参数为一个数组 这里采用split函数实现 +------+------+ | pos | val | +------+-
    admin 今天
  • MySQL存储函数
    其他

    MySQL存储函数

    一 存储函数的概述   在MySQL中,存在一种与存储过程十分相似的过程式数据库对象——存储函数。它与存储过程一样,都是由SQL语句和过程式语句组成的代码片段,并且可以被应用程序和其他SQL语句调用。 二、存储函数和存储过程的区别 (1)存储函数不能拥有输出参数。存储过程拥有输出参数。 (2)可以直接对存储函数调用(select),不需要使用CALL语句,存储过程调用需要。 (3)存储函数中必须包含RETURN语句,此语句不允许出现在存储过程中。 (4)存储过程和存储函数都是存储在服务器端的SQL语句的集合,要使用这些已经定义好的存储过程和存储函数就必须要通过调用的方式来实现,存储过程是通过CALL语句来调用的。而存储函数的使用方法与MySQL内部函数的使用方法是一样的,区别在于,存储函数是用户自己定义的,而内部函数是MySQL的开发者定义的。 三、创建存储函数语法 Delimiter $$ Create function 存储函数名称(参数名 数据类型,...) Returns 数据类型 Begin 存储函数体
    admin 今天
  • mysql存储过程
    其他

    mysql存储过程

    一、存储过程的概述 存储过程:是一组为了完成特定功能的sql语句集,其实质上是一段存储在数据库中的代码,它由声明式语句(create、update、delete、select等语句)和过程式语句(如if-then-else、case等语句)组成。 这组语句经过编译存储在数据库中,用户只需要通过存储过程的名称和指定参数(如果该存储过程带有参数),既可以随时调用和处理它,而不需要重新编译,提高数据库操作语句的执行效率。 特点: 增强sql语言的功能和灵活性;良好的封装性;高性能;可减少网络流量;保证数据库的安全性和数据的完整性; 创建存储过程语法 Delimiter $$ Create procedure 存储过程名称(in|out|inout 参数名 数据类型) Begin 存储过程体 End $$ 注意:(1)参数名一定不能跟表中列名相同; 存储过程名称是唯一的,不能重复;in|out|inout:只能三者选一;如果没有参数时,小括号仍然需要写上; 1、存储过程的参数列表(in|out|inout 参数名 数据
    admin 今天
  • Labview如何建立与远程MS SQL数据库的连接
    其他

    Labview如何建立与远程MS SQL数据库的连接

    一、远端服务器上安装MS SQL Server 2019 官网下载:https://www.microsoft.com/zh-cn/sql-server/sql-server-2019 二、配置服务器MSSQL容许访问 服务器的防火墙要容许MSSQL的端口支持TCP/IP协议(MySQL的访问端口默认为1433),在防火墙设置的高级选项中,打开如下界面 如上图,默认端口1433是支持TCP/IP访问,如果不支持,点击右侧新建规则 三、确保SQL Server的服务是打开运行状态,dos下输入services.msc,进入如下界面 四、打开SQL Server2019配置管理器,启用Named Pipes和TCP/IP协议,并确认TCP/IP里的端口是1433 五、客户端同样安装MS SQL Server2019或者只安装MS SQL的ODBC驱动即可 六、客户端配置—ODBC 1、
    admin 今天
  • mssql 数据库恢复
    其他

    mssql 数据库恢复

    服务器硬盘出了问题,硬盘出现坏盘,虽然做了备份,在硬盘恢复后,数据依然 出现了:正在恢复  的问题。 解决办法: 1、停止mssql服务; 2、备份数据库,如果是硬盘问题,可能复制比较慢,我使用的办法是将数据库主文件移动到同盘其它主文件夹; 3、删除现在有数据库; 4、附加数据库; 5、附加后,在系统读取数据时,可能会现表数据更新问题。此时针对于表再做命令修复即可。 注:其实只要数据库主文件没有被损坏 ,系统也是会恢复 的,只是等待时间未知,我的数据库主文件是23g。说大不大,说小不小。如果一直等系统自修复,应该也是可以恢复 的。也应该相应 软件的技术 。
    admin 今天
  • " alt="synchronized之CAS机制的实现原理">
    其他

    synchronized之CAS机制的实现原理

    CAS机制(比较与替换) CAS方法会传递三个参数,第一个参数V表示要更新的变量,第二个参数E表示期望值,第三个参数U表示更新后的值。更新的方式是,如果V==E,表示预期值和实际值相等,则将V修改成U并返回true,否则修改失败返回false。  在Java中的Unsafe类中提供了CAS方法,针对int类型变量的CAS方法定义如下。 //这是java的本地方法 public final native boolean compareAndSwapInt(Object paramObject, long paramLong, int paramInt1, int paramInt2); paramObject,表示当前的实例对象。paramLong,表示实例变量的内存地址偏移量paramInt1,表示期望值。paramInt2,表示要更新的值。 paramLong表示目标变量X在实例对象paramObject中内存地址偏移量。换句话说,在预期值paramInt1要和目标变量X进行比较是否相等的判断中,目标变量X的值就是通过该偏移量从内
    admin 今天
  • 2021-12-02 简易封装一个postgresql C++接口
    其他

    2021-12-02 简易封装一个postgresql C++接口

    最近学习了一下SQL, 配置了一个postgres数据库, pg本身是有C和C++接口的, 为了熟悉这个库, 又封装了一下, 将libpg封在struct里方便调用, 同时利用析构来断开资源. 调试编译参数: set_languages("c++17") add_cxxflags("-fsanitize=address","-ftrapv") add_ldflags("-lpq") add_ldflags("-lfmt") add_ldflags("-fsanitize=address") 编译环境: linux: Debian + gcc + Xmake. 依赖: {fmt} 库, libpg库, C++版本>=17. 默认查询域:public //PostGres.h #ifndef POSTGRESH #define POSTGRESH #include
    admin 今天
  • 论文阅读工具ReadPaper
    其他

    论文阅读工具ReadPaper

    对于搞科研的同学们来说,看论文是要经历的第一关,尤其是要读好多篇论文的时候,更是着实令人头大。 这不,最近无意中发现了个在线论文阅读网站:readpaper.com,号称「论文阅读笔记神器,硕博科研学术必备之选」。 5分钟带你上手ReadPaper! 比方说,想看一篇有关轻量级CV网络「ShuffleNet」的相关论文。 在首页输入「ShuffleNet」,点击搜索,一键直达。 在ShuffleNet论文的详情页,点击「阅读」可以浏览论文原文,点击「引用」可以生成各种引用形式(写论文党狂喜)。 点击「收藏」还能按类别将这篇论文添加到你的收藏夹中。 搞科研的同学参加组会是免不了的,去组会就要做PPT,做PPT就需要截好多图,往往还真得花些时间。 而ReadPaper这次,把论文中所有的图表都自动提取出来,还附上了论文的来源,直接复制进PPT就行,实在是「懒人福音」。 页面中的论文速读功能中,很有可能会出
    admin 今天
  • windows如何安装gitee
    其他

    windows如何安装gitee

    首先下载gitee 安装gitee 下载好gitee之后,进行安装gitee 首先双击gitee 点击next 点击next 直接点击next 点击next 点击next 点击next 然后一路next即可 gitee一般会帮我们配置环境变量 然后,在cmd窗口里敲git version只要出现git的版本,说明安装成功了; 设置用户名和邮箱 设置用户名的命令:git cinfig --global user.name"自己的用户名" 设置用户名的命令:git cinfig --global user.email" 邮箱账号 git config --list是查看是否设置成功 创建远程仓库 在这个文件夹里,写一些东西 在窗口命令行里输入git init 输入过git init之后会在该目录下有一个.git文件, 如果没有.git文件,那么就
    admin 今天
  • 数仓|几种SQL隐藏的错误
    其他

    数仓|几种SQL隐藏的错误

    本文分享几种书写SQL时常见的一些隐藏错误,主要包括:**在运算符中使用null值、在聚合数据时使用null值、求平均值时使用判断条件、滤条件中使用and和or、查询的列字段之间缺少逗号分隔、inner join与left join。**都是一些比较细节的点,希望本文对你有所帮助。 在运算符中使用null值 在SQL中常见的运算符有算术运算符(+,-),逻辑运算符(in,not in),比较运算符(>,<)等等。但是,如果参与运算的数据中存在null值,这个时候我们就要小心了,因为对于null值参与的运算可能会返回null值。 情况1:与null值列相加 比如有如下表: 当我们对每行的列字段相加时,会出现null值 SELECT Jan + Feb + Mar as total_amount -- 结果为null FROM stores WHERE store = 1 比如: SELECT
    admin 今天
  • " alt="【无标题】jdbc和jdbc编写模式">
    其他

    【无标题】jdbc和jdbc编写模式

    jdbc它是java语言操作数据库的技术,通过java技术代码发送sql语句到数据库,并执行语句 DriverManager 是驱动管理器,它是sun提供 Connection 用来关联数据库进行连接的对象 PreparedStatement 用来进行发送sql到数据库的对象 Resultset 这个对象是查询操作专门使用,它就是结果集对象 jdbc创建基本步骤 public void getEmpbyid(){ Connection connection = null; PreparedStatement ps =null; ResultSet resultSet =null; try{ //创建jdbc第一步 加载驱动 //然后用Connection连接数据库 Class.forName("com.mysql.jdbc.Driver"); connection= Dri
    admin 今天
  • 第二章 SQL谓词的概述(二)
    其他

    第二章 SQL谓词的概述(二)

    文章目录 第二章 SQL谓词的概述(二) 谓词和`%SelectMode`谓词和PosixTime、时间戳和日期取消文字替换示例 第二章 SQL谓词的概述(二) 谓词和%SelectMode 所有谓词都使用逻辑(内部存储)数据值进行比较。 但是,有些谓词可以对谓词值执行格式模式转换,将谓词值从ODBC或Display格式转换为Logical格式。 其他谓词不能执行格式模式转换,因此必须始终以Logical格式指定谓词值。 执行格式模式转换的谓词确定是否需要从匹配字段的数据类型(如DATE``%List)进行转换,并确定从%SelectMode设置进行转换的类型。 如果%SelectMode设置为逻辑格式以外的值(例如%SelectMode=ODBC或%SelectMode=Display),则必须以正确的ODBC或Display格式指定谓词值。 相等
    admin 今天
  • 574. 当选者
    其他

    574. 当选者

    select name from ( select CandidateId from Vote group by CandidateId order by count(*) Desc # 这里的vote表里是id 代表选民的id, candidateID 是和canditdate里面的id 是对应的 limit 0,1) a join Candidate b on a.CandidateId = b.id 表: Candidate +-----+---------+ | id  | Name    | +-----+---------+ | 1   | A       | | 2   | B       | | 3   | C       | | 4   | D       | | 5   | E       | +-----+---------+   表: Vote +-----+--------------+ | id  | CandidateId  | +-----+--------------+ | 1   |     2
    admin 今天
  • 550. 游戏玩法分析 IV
    其他

    550. 游戏玩法分析 IV

    SELECT ROUND( ( SELECT COUNT(DISTINCT a.player_id) FROM Activity a inner join ( select player_id, min(event_date) as first_day from Activity group by player_id ) as tmp on a.player_id = tmp.player_id and datediff(a.event_date, tmp.first_day) = 1 ) / ( SELECT COUNT(DISTINCT player_id) FROM Activity ) ,2 ) AS fraction; Table: Activity +----------
    admin 今天
  • 534. 游戏玩法分析 III
    其他

    534. 游戏玩法分析 III

    select a.player_id,b.event_date,sum(a.games_played) as games_played_so_far from Activity a inner join Activity b on a.player_id=b.player_id and a.event_date<=b.event_date group by b.player_id,b.event_date; Table: Activity +--------------+---------+ | Column Name  | Type    | +--------------+---------+ | player_id    | int     | | device_id    | int     | | event_date   | date    | | games_played | int     | +--------------+---------+ (player_id,event_date)是此表的主键。 这张表显示了某些游
    admin 今天
  • [web入门]SQL注入-2
    其他

    [web入门]SQL注入-2

    文章目录 前言知识点wp判断注入类型布尔盲注查表名报错注入 前言 请原谅我发出一点不友好的声音: 每个人无论是做完题了,还是没做完题,他只要是想进步,都会搜一下WP,尤其是BUUCTF的WP更有必要搜一下,为的是更标准、更多的思路,不成想我搜索发现,清一色! 思路一摸一样,用的函数一模一样,更甚之有的连思路都没有,上来就报错注入,生怕别人不知道他是抄的wp。。。令人无语! 我写的这个是我自己的思路,权当是留作笔记吧,或者是一点不健康的牢骚。。。 知识点 报错注入: 使xml路径不存在而报错(存在特殊字符) updatexml(目标xml内容, xml路径, 更新内容) 在路径处加入查询语句,用拼接函数与特殊符号(~)拼接在一起,使其报错并执行查询语句length() 返回字符串长度ascii() 使字符返回为ASCIIsubstr() 其中有三个参数:substr(字符串,n,m)
    admin 今天
  • " alt="最强最全面的Hive SQL开发指南,超四万字全面解析">
    其他

    最强最全面的Hive SQL开发指南,超四万字全面解析

    本文整体分为两部分,第一部分是简写,如果能看懂会用,就直接从此部分查,方便快捷,如果不是很理解此SQL的用法,则查看第二部分,是详细说明,当然第二部分语句也会更全一些! 本文非常适合PDF版本查看,效果非常好,本文PDF链接: 最全面Hive SQL开发指南PDF版 第一部分: hive模糊搜索表:show tables like '*name*'; 查看表结构信息:desc table_name; 查看分区信息:show partitions table_name; 加载本地文件:load data local inpath '/xxx/test.txt' overwrite into table dm.table_name; 从查询语句给table插入数据:insert overwrite table table_name partition(dt) select * from table_name; 导出数据到本地系统:insert overwrite local directory '/tmp/text'
    admin 昨天
  • Oracle:in 逗号/分号 来分隔的字符串
    其他

    Oracle:in 逗号/分号 来分隔的字符串

    例如字符串“123,456,789” SELECT * FROM TAB_A T1  WHERE  T1.CODE  IN ( SELECT REGEXP_SUBSTR(“123,456,789”,'[^,]+', 1, LEVEL) FROM DUAL CONNECT BY REGEXP_SUBSTR('SMITH,ALLEN,WARD,JONES', '[^,]+', 1, LEVEL) IS NOT NULL )  REGEXP_SUBSTR 函数解释 REGEXP_SUBSTR(String, pattern, position, occurrence, modifier) __srcstr     :需要进行正则处理的字符串 __pattern    :进行匹配的正则表达式 __position   :起始位置,从第几个字符开始正则表达式匹配(默认为1) __occurrence :标识第几个匹配组,默认为1 __modifier   :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)
    admin 昨天
  • 04.SQL Server(内置函数)
    其他

    04.SQL Server(内置函数)

    Microsoft SQL Server中提供了许多内置函数,常用内置函数分为字符串函数、日期函数、数学函数、转换函数。进行查询操作时,能够用到SQL函数,使用SQL函数会给查询带来很多的方便。 1.字符串函数 1.charindex:返回字符或者字符串在另一个字符串中的起始位置。         语法:charindex('目标字符串',用于被查找的字符串',开始查找的位置) 2.len:返回字符串的长度         语法:len('值') 3.lower:将指定的字符串转换为小写         语法:lower('值') 4.upper:将指定的字符串转换大写         语法:upper('值') 5.ltrim:清除字符串左边的空格         语法:ltrim('值') 6.rtrim:清除字符串右边的空格         语法:rtrim('值') 7.right、left:从字符串右边/左边返回指定书目的字符         语法:left('字符串',返回长度) 8.
    admin 昨天
  • SQL Server 表连接方式
    其他

    SQL Server 表连接方式

    一、inner join         内联查询查出满足on条件的两个表的公共交集。使用inner join时 inner可以省略。 select * from Student inner join Score on Student.SNo=Score.SNo 二、left join         左外联查询,left outer join的简写。以左边的表为基准与右边的表进行关联,连接查询出满足on条件的结果,左表的数据会完全保留,右表中无法满足on条件的数据会在连接的结果中用null与左表数据补齐。 select * from Student left join Score on Student.SNo=Score.SNo 三、right join         右外联查询,right outer join的简写。以右边的表为基准与左边的表进行关联,连接查询出满足on条件的结果,右表的数据会完全保留,左表中无法满足on条件的数据会在连接的结果中用null与右表数据补齐。 select * from Student ri
    admin 昨天
  • 达梦数据库(oracle数据库)不是GROUP BY表达式
    其他

    达梦数据库(oracle数据库)不是GROUP BY表达式

    在达梦数据库中执行sql报错, 由于达梦数据库的语法和oracle的语法大体上是类似的,所以同样适用oracle; 原因: 1.没有把所有的非聚合函数字段加入到group by 中; 2.在group by 中使用别名; 例如: select a, sum©, b from hh where year = 2021 group by a, b 在这个sql中的group by中a,b都必须在 group by分组里 否则会出现 不是group by 表达式的错误。 例如: select a as p, sum©, b from hh where year = 2021 group by p, b 上面的sql也会导致报错; 另外在达梦数据库中,order by 和group by是可以同时使用的,group by在前,order by后的字段要出现在group by后
    admin 昨天
  • [C#]几个超级实用但很少人知道的 VS 技巧
    其他

    [C#]几个超级实用但很少人知道的 VS 技巧

    大家好,今天分享几个我知道的实用 VS 技巧,而这些技巧我发现很多人都不知道。因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS “骚”操作,他们会好奇地问:你是怎么做到的?这给我的感觉,有时候你知道一些别人不知道的小技巧便可以让你显得更专业。 PS:本文所有示例演示均基于 VS 2019 版本。 1. 扩展/缩小选区 通过双击选中整个单词,这个操作大家应该都知道。但如何快速选择几个单词、或多个单词的字符串、或代码块呢?教大家一个快捷键,如何快速扩展选择代码区域。例如,当光标在一个字符串中时,使用下面的快捷键就可以选择整个字符串。 按 Alt + Shift + = 扩展选区,按 Alt + Shift + - 缩小选区: 你也可以使用 Alt + Shift + ] 直接选中一个代码块。 2.切换窗口停靠 我们知道 VS 的窗口布局可以非常灵活的拖动,想摆
    admin 昨天
  • mysql 删除数据库表中重复数据(按照某一字段删除)
    其他

    mysql 删除数据库表中重复数据(按照某一字段删除)

    sql代码 delete from plan_msg where id not in ( select t.max_id from (select max(id) as max_id from plan_msg group by ad_id) as t ); plan_msg 是表名 id 是自增主键 ad_id 是计划唯一id 结果:删除相同ad_id主键小的数据(保留id最大的)
    admin 昨天
  • es script操作
    其他

    es script操作

    1、比较同一条数据两个字段之间的差异 eg:比较两个时间字段相差的天数 POST my_date_index/_search {   "size": 0,   "aggs": {     "my_dates_diff": {       "avg": {         "script": """           long d1 = doc['created_at'].value.toInstant().toEpochMilli();           long d2 = doc['check_in'].value.toInstant().toEpochMilli();           long differenceInMillis = d1-d2;           return Math.abs(differenceInMillis/86400000);         """       }     }   } 2、查询聚合后字段占总数的百分比 POST /sales/_search {     "size": 0
    admin 昨天
  • 计算机毕业设计Java校园资料在线分享网站(系统+源码+mysql数据库+lw文档)
    其他

    计算机毕业设计Java校园资料在线分享网站(系统+源码+mysql数据库+lw文档)

    计算机毕业设计Java校园资料在线分享网站(系统+源码+mysql数据库+lw文档) 计算机毕业设计Java校园资料在线分享网站(系统+源码+mysql数据库+lw文档) 最新计算机专业毕业设计选题,均有源码,是近期作品, 免费赠送本源代码、数据库,请私信  【1】JSP网站流量统计系统strut版本sqlserver【2】ssm众筹平台网站【3】jspm远程教育网站hsg【4】ssm小区物业管理系统【5】ssm基于微信平台的校园汉服租赁系统的设计与实现【6】ssm汽车租赁系统【7】ssm供电公司安全生产考试系统【8】ssm宾馆业务管理【9】springboot校园美食评价系统【10】jsp非处方药物的查询与推荐系统【11】ssm疫情下智慧社区系统【12】ssm针对患者的寻医问药系统【13】ssm基于SSM学生管理系统【14】jsp网上报名及成绩查询系统【15】ssm学生宿舍管理系统【16】jsp基于JavaEE技术的“日进斗金”理财大师系统设计与实现【17】springboot康养服务网站【18】ssm师生教学评价系
    admin 昨天
  • 数据库领域 TOP10 热门课程推荐 | 最棒的课程给最好的你
    其他

    数据库领域 TOP10 热门课程推荐 | 最棒的课程给最好的你

    简介:阿里云开发者学堂出品了近千门课程,在数据库领域中哪几门课程最受开发者们的青睐呢?小助手来揭秘! 阿里云开发者学堂为了方便开发者,推出了近千门的免费课程供开发者们学习,课程包含云计算、大数据、数据库、云原生等众多领域。课程汇集知识碎片,为开发者们解决技术难题。开发者学堂学习中心:https://developer.aliyun.com/course/explore 本期推荐开发者学堂数据库领域TOP10课程,榜单来啦👇 NO.1【MySQL高级应用 - 索引和锁】—14000+人学习 课程地址:https://developer.aliyun.com/learning/course/598 MySQL 是目前最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 也是目前最好的 RDBMS 应用软件之一。 本教程主要讲授针对 Java 开发所需的 MySQL 高级知识
    admin 昨天
  • https://blog.csdn.net/weixin_45232247/article/details/121650708?spm=1001.2014.3001.5501

    " alt="vue展示SQL语句第二篇:vue的sql-formatter插件解决sql语句前端展示comment注释语句并没格式化问题">
    其他

    vue展示SQL语句第二篇:vue的sql-formatter插件解决sql语句前端展示comment注释语句并没格式化问题

    结合上一篇文章sql语句前端展示及格式化文章续集:vue格式化显示后端返回的SQL语句_丽雪的空间的博客-CSDN博客效果图:方法: 1:下载插件:vue-codemirror:npm i vue-codemirror -S 官方网址:https://codemirror.net/index.html 2:下载格式化SQL语句插件:sql-formatter:npm i sql-formatter -S 注意:sql-formatter插件的版本要求4以下,否则会报错 网址:ht...https://blog.csdn.net/weixin_45232247/article/details/121650708?spm=1001.2014.3001.5501 问题:上一篇讲过,sql-formatter插件格式化的sql语句只能格式化sql代码,并不能格式化comment注释语句,导致前端展示混乱  针对这一问题,查看了sql-formatter源码,重新更改了一下代码: 新的效果图: 1:新建js文件:sqlFormatte
    admin 昨天
  • SpringBoot中常见注解@Controller@ResponseBody@RestController@RequestMapping@RequestParam
    其他

    SpringBoot中常见注解@Controller@ResponseBody@RestController@RequestMapping@RequestParam

    package com.huc.demo.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; //@Controller // 将类标识为Controller层用来接受请求 //@ResponseBody // 默认返回的是一个页面对象,当使用这个注解之后,可以返回普通对象 @RestController // @RestController=@Controller+@ResponseBody // 相当于既能标识为Controller层又能返回普通对象 publi
    admin 昨天