
Oracle&Mysql
文章平均质量分 64
数据库
ooooooooooooooxiaosu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Oracle】sys_guid()到了springboot代码中,变成了byte[]类型
Oracle数据库中配置表config_a下有一个字段exec_sql,专门存放在程序中要执行的sql脚本,即在程序中读取config_a表,拿到exec_sql字段值,进行执行。执行完成后,拿到table_b的数据,将id转成String时,报类型转换错误。原创 2025-05-26 14:41:00 · 228 阅读 · 0 评论 -
【Oracle】创建公共数据连接
两个oracle数据库,想从B数据库创建视图脚本访问A数据库相关表的数据,该怎么访问呢?原创 2025-05-23 11:45:32 · 937 阅读 · 0 评论 -
池化技术(一)Druid是如何管理数据库连接的?
里都包含。转载 2021-02-03 15:39:12 · 1073 阅读 · 1 评论 -
【MySQL】创建数据表-外键
创建外键方法一drop table if exists base_info;create table base_info( id varchar(64) not null comment '主键', -- 其他字段省略 primary key(id))engine=innodb default charset=utf8 comment '基本信息表';子表drop table if exists sub_info;create table sub_info( i原创 2022-05-25 11:29:20 · 377 阅读 · 0 评论 -
【MySQL】字符串和数字的转换
字符串转数字:方法一字符串后加一个数字,比如0拼接之后不是'1231',而是124.方法二使用cast()函数:cast(value as type)字符串'5.45'转换成数字5,因为signed代表整数。如果要转换成浮点数,则type使用decimal。select cast('5.45' as decimal(9,2)); -- 9代表长度,2代表精度方法三使用convert()函数:convert(value,type)启用,value为待转换的转载 2020-11-24 09:23:16 · 1091 阅读 · 0 评论 -
MySql 8.0配置
MySql 数据库更新为8.0及以上后,对应的应用程序数据库链接驱动包也要更新为8.0版本。否则会报驱动异常。需要注意以下几点1.最新驱动包Maven下载配置如下:<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</arti...原创 2020-06-16 15:43:43 · 300 阅读 · 0 评论 -
【MySQL】Mybatis批量插入
批量插入见其他异常如果批量插入的列表(List)为空,则会报错。原创 2020-12-10 17:35:55 · 488 阅读 · 0 评论 -
【MySQL】填充零
零填充会自动使用无符号位;零填充指的是位数固定,如果数值长度不足字段类型的长度,则使用0来填充方式一:zerofill: 当插入的数值比定义的属性长度小的时候,会在数值前面进行补值操作。创建表create table table_name (id bigint(20) NULL,order_no int(6) unsigned zerofill NULL);填充0,那么就是无符号的。插入数据INSERT INTO table_name VALUES(2,5);查数据转载 2020-11-23 17:07:21 · 5105 阅读 · 1 评论 -
【MySQL】varchar类型的数值大小排序
mysql varchar order by转载 2022-07-06 10:04:09 · 1967 阅读 · 0 评论 -
【MySQL】创建数据表主键自增补零
其中,zerofill 要放在auto_increment 前面原创 2022-02-08 15:10:03 · 1208 阅读 · 0 评论 -
【mysql】获取自增主键id 补零 插入新行
RIGHT函数MySQL 中的 RIGHT(s,n) 函数返回字符串 s 最右边的 n 个字符。SELECT RIGHT('中华人民共和国', 4); 结果: 民共和国CONCAT函数MySQL中CONCAT 函数 CONCAT(str1,str2,…) str1 字符串注意:返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。SELECT CONCAT('中华人民', "共和国"); 结果:中华人民共和国@@identit...转载 2020-11-27 17:56:57 · 588 阅读 · 0 评论 -
【Exceptions】com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure转载 2022-06-02 15:55:11 · 473 阅读 · 0 评论 -
【exceptions】com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
问题描述数据库:mysql 5.x在往数据表中插入数据时报错原因分析数据表字段中有一个字段是mysql关键字,数据表成功创建,但往里插数的时候不行了。解决方法修改字段名称参考文章原创 2021-12-31 17:38:32 · 385 阅读 · 0 评论 -
【MySQL】创建数据表并设置xxx
并设置主键:create table xxx( uuid int(10) primary key not null, name varchar(100), addr varchar(100), type varchar(100), phone varchar(100), dateTime varchar(100));另一种方式create table xxx( uuid int(10) not null, ... [c转载 2020-11-26 09:46:48 · 231 阅读 · 0 评论 -
【Oracle】Oracle索引总结
简介1.说明 1)索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用索引可以不用翻阅整本书即可找到想要的信息。 2)索引是建立在表上的可选对象;索引的关键在于通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率 3)索引在逻辑上和物理上都与相关的表和数据无关,当创建或者删除一个索引时,不会影响基本的表; 4)索引一旦建立,在表上进行DML操作时(例如在执行插入、修改或者删除转载 2021-05-13 13:13:24 · 266 阅读 · 0 评论 -
【Oracle】存储过程
一.什么是存储过程存储过程,百度百科上是这样解释的,存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来调用存储过程。简单的说就是专门干一件事一段sql语句。可以由数据库自己去调用,也可以由java程序去调用。在oracle数据库中存储过程是procedure。二.为什么要写存储过程1.效率高 存储过程编译一.转载 2021-04-21 14:10:27 · 529 阅读 · 0 评论 -
【Oracle】ORA-06553: PLS-306: wrong number or types of arguments in call to ‘存储过程‘
问题描述调用存储过程,报错:“ORA-06553: PLS-306: wrong number or types of arguments in call to '存储过程'”原因分析存储过程一开始只有两个入参,后又增加了一个出参,而存储过程的调用处没有修改,导致三个参数只传了两个。解决方法由于加了一个out参数,不能直接用call来调用存储过程了。所以,把存储过程的调用放在declare语句块中。例如:declare actualNum number(10);beg原创 2021-04-19 16:51:06 · 21628 阅读 · 0 评论 -
springboot+mybatis调用oracle存储过程
描述代码逻辑:controller层定义实体类对象entity,并entity.set给存储过程的输入参数赋值,把赋值后的实体类通过service层传到dao层,然后通过dao层调用存储过程1 存储过程参数为VARCHAR1-1 存储过程参数IN_STR IN VARCHAR,OUT_STR OUT VARCHAR1-2 controller层@RequestMapping("/TESTPRO")@ResponseBodypublic String TESTPRO() {转载 2021-04-19 16:12:26 · 916 阅读 · 0 评论 -
【Oracle】触发器中if条件的谓词错误
oracle触发器指定列更新触发在工作中时而不时都有可能会用到触发器,我现在就是利用oracle触发器解决某些表的某些字段发生变化后会将日志记录到另外一个表中,然后通过定时器的方式读取日志信息,定时更新到redis中,关于这个项目的架构后续我会说一下,现在我们只说一下oracle触发器指定列更新触发,具体代码如下:CREATE OR REPLACE TRIGGER TRGSYNC_USER_TEST_AFTERafter insert or <span style="color:#ff00转载 2021-04-19 15:34:18 · 370 阅读 · 0 评论 -
【Oracle】oracle存储过程----异常的写法介绍
异常描述存储过程中的异常来自于程序本身,也有的来自开发人员自定义的数据,而所有的这些错误我们称之为异常(编译时的错误不能称为异常)。&esmp; 本篇介绍存储过程中对于异常的三种分类: 预定义异常。 非预定义异常。 自定义异常。1、预定义异常oracle中为每个错误提供了一个错误号,而捕获异常则需要异常有名称,oracle提供了一些已经定义好名称的异常,这就是预定义异常。oracle一共提供了25种预定义异常。想要查看oracle预定义异常,输入下边的命令...转载 2021-04-19 15:21:15 · 1213 阅读 · 0 评论 -
【Oracle】表分区详解
此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作.1.表空间及分区表的概念表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程...转载 2021-03-26 15:56:37 · 257 阅读 · 0 评论 -
【exceptions】【Oracle】ORA-14400: 插入的分区关键字未映射到任何分区
问题描述对数据表进行分区,在删除某一个分区后,再次往数据表插入(对应这个分区的)数据时报错:原因分析删除分区后,对应分区的数据不知道该往哪里写,无法插入。解决方法重新建立分区,然后再insert。但此时有可能会报“ORA-01502:索引或这类索引的分区处于不可用状态”错误,若报错,参见 https://blog.youkuaiyun.com/xiaoxiao_su123/article/details/115178877说明:分区表的插入操作和普通表没什么区别(报ORA-1440与ins.原创 2021-03-24 16:24:34 · 1239 阅读 · 0 评论 -
【exceptions】【Oracle】ORA-01502:索引或这类索引的分区处于不可用状态
问题描述对数据表进行分区,在n多中间操作之后,再次往数据表插入数据时报错:原因分析在中间的“乱七八糟的”操作中,有一步删除分区的操作alter table xxx drop partition yyy;而删除分区操作呢,会导致数据表xxx的(主键)索引不可用,从而再次插入数据(此时的数据对应未删除分区)时,无法插入。解决方法方法一在删除某一分区之后,再重建(主键)索引,见 https://blog.youkuaiyun.com/xiaoxiao_su123/article/deta.原创 2021-03-24 16:23:44 · 426 阅读 · 0 评论 -
【exceptions】【Oracle】ORA-01502 索引或这类索引的分区处于不可用状态
问题描述索引失效后,向表中是无法插入数据的原因分析出现这个问题,可能有人move过表,或者disable 过索引。1. alter table xxxxxx move tablespace xxxxxxx 命令后,索引就会失效。2. alter index index_name unusable,命令使索引失效。删除数据后,move回收表空间导致表索引失效。alter table message move;解决方法1.表索引失效重建索引解决方法--查索引失效sel.转载 2021-03-24 16:19:23 · 602 阅读 · 0 评论 -
数据库连接池-配置 wallfilter问题解决-UncategorizedSQLException
问题描述wallFilter对sql有着严格的校验,会对有风险的sql过滤,抛出异常信息;org.springframework.jdbc.UncategorizedSQLException:### Error querying database. Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, expect RPAREN, actual IDENTIFIER ) : selec转载 2021-03-24 15:11:05 · 1019 阅读 · 0 评论 -
分布式关系数据库(OLAP、OLTP)的介绍和比较
OLAP、OLTP的介绍和比较OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLTP 系统强调数据库内存效率,强调内存各种指标的命令率...转载 2021-03-09 15:01:48 · 2827 阅读 · 0 评论 -
【Oracle】DDL、DML和DCL的区别与理解
DML、DDL、DCL区别 .总体解释:DML(data manipulation language):它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言DDL(data definition language):DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用DCL(Data Con转载 2021-03-01 17:41:24 · 1582 阅读 · 0 评论 -
【Oracle】数据库的实例、表空间、用户、表之间关系
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);2) Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区。在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件。Oracle有一个很大的内存快,成为全局区(SGA)。一转载 2021-03-01 16:49:25 · 166 阅读 · 0 评论 -
【Oracle】数据库安装——Express Edition
这里11g Express Edition为例,不给出每一步的具体步骤,只说明一下本人在这个过程中遇到的问题。下载在下载过程中,要不就是让我登录、要不就是找不到下载按钮、要不就是点下载按钮没反应、要不就是输入什么support identifier......如果遇到以上问题,可以尝试换一个入口进入(或者,换个浏览器)。只要找到下载的地方,下载的过程无非就是等着的过程了。安装Express Edition的安装没有企业那么复杂,中间过程有一步设置密码以创建SYS和SYSTEM这两个管理员原创 2021-02-07 10:26:27 · 1328 阅读 · 0 评论 -
【Oracle】安装配置InstanceClient
官网下载最新的InstanceClient下载最新的InstanceClient,并解压。配置环境变量解决中文乱码添加如下环境变量:为了解决cmd中文显示乱码问题测试cmd,测试sqlplus,可以了。参考文章https://blog.youkuaiyun.com/u010758410/article/details/76549120...转载 2021-02-07 09:49:17 · 1667 阅读 · 0 评论 -
plsql developer 14如何更改语言
问题描述plsql developer 14 首次登陆的时候,让选择是否更改什么什么东西,点了一个yes,结果整个的语言环境变成了非英语的,什么破玩意儿~~解决方法如果那个语言不认识,就按顺序估摸一下....参考文章https://blog.youkuaiyun.com/weixin_42988712/article/details/111320034...转载 2021-02-07 09:26:00 · 1563 阅读 · 0 评论 -
数据库六种范式详解(1NF/2NF/3NF/BCNF/4NF/5NF)
目录数据库的基本概念函数依赖函数依赖的定义函数依赖与属性的关系六种范式第一范式(1NF)第二范式(2NF)第三范式(3NF)巴斯-科德范式(BCNF,Boyce-Codd Normal Form)第四范式(4NF)第五范式(5NF)范式规范化路线范式规范化实例数据库的基本概念范式:设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式。各种范式呈递次规范,越高的范式数据库冗余越小。有冗余的数据库未必是最转载 2021-02-01 14:45:36 · 4774 阅读 · 0 评论 -
【Mybatis】【Oracle】批量更新
探讨批量更新数据三种写法的效率问题。实现方式有三种一、用for循环,通过循环传过来的参数集合,循环出N条sql注意:该法要想成功,需要(针对mysql)在db链接url后面带一个参数 &allowMultiQueries=true,即: jdbc:mysql://localhost:3306/mysqlTest?characterEncoding=utf-8&allowMultiQueries=true其实这种东西写过来写过去就是差不多一样的代码,不做重复的赘述,直..转载 2020-09-30 13:56:02 · 2939 阅读 · 0 评论 -
【Mybatis】【Oracle】in的条件大于1000
问题描述Oracle数据库in中表达式上限默认1000,那么超过1000在mybatis中如何进行处理原因分析解决方法<foreach collection="array" item="item" index="index" open="(" close=")" separator=","> <if test="(index % 999) == 998"> NULL ) OR DOC.ID IN (</if> #{item}</forea转载 2020-09-29 16:59:55 · 1375 阅读 · 0 评论 -
【Oracle】regexp_substr()函数
一、参数解释说明:function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)string:需要进行正则处理的字符串pattern:进行匹配的正则表达式position:起始位置,从字符串的第几个字符开始正则表达式匹配(默认为1) 注意:字符串最初的位置是1而不是0occurrence:获取第几个分割出来的组(分割后最初的字符串会按分割的顺序排列成组)modifier:模式(‘i’不区分大小写进行检索;‘c’区分大小写进行转载 2020-09-18 09:29:52 · 1862 阅读 · 0 评论 -
【Oracle】交差并补
交集intersect运算:SELECT * FROM t_AintersectSELECT * FROM t_B;语法差集minus运算:返回t_A表中去掉t_B的记录SELECT * FROM t_AMINUSSELECT * FROM t_B;根据多个字段取差集:SELECT * FROM t_A a where (a.ID,a.Name) not in (SELECT b.ID,b.Name FROM t_B b);并集union/uni.转载 2020-09-16 14:37:08 · 452 阅读 · 0 评论 -
【Oracle】把字段更新为该记录中的另一个字段值
问题描述在一张数据表中,把一条记录的字段A的值更新成字段B的值。解决方法思路:数据表的自关联方式update table_a a/* 更新a表col字段值等于b表中coll字段的值,其中a.id=b.id */ set col=(select coll from table_b b where a.id=b.id and coll is not null) /* 只更新a.id再b表中存在的记录 ,如果不加该条件会有问题*/where exists (s转载 2020-09-14 13:45:36 · 3034 阅读 · 0 评论 -
【Oracle】设置字段可空/非空
设置字段可以为空alter table 表名 modify 字段名 null;设置字段非空alter table 表名 modify 字段名 not null;原创 2020-09-14 11:02:53 · 7673 阅读 · 0 评论 -
【Oracle 】unable to get a stable set of rows in the source tables
问题描述Oracle数据库批量merge操作,报错:“unable to get a stable set of rows in the source tables”MERGE INTO TABLE tUSING (<foreach collection="infoList" item="info" separator="union all"> SELECT #{info.id} AS id, #{info.code} AS code, #{info.nam原创 2020-08-31 13:56:37 · 3081 阅读 · 0 评论 -
【Oracle】must have same datetype as corresponding expression
问题描述Oracle批量merge,如下MERGE INTO TABLE tUSING (<foreach collection="infoList" item="info" separator="union all"> SELECT #{info.id} AS id, #{info.code} AS code, #{info.name} AS name FROM dual</foreach>) t1ON (t.code = t1.原创 2020-08-29 16:51:19 · 361 阅读 · 0 评论