数据库
文章平均质量分 67
介绍数据库相关的内容
Stephen·You
这个作者很懒,什么都没留下…
展开
-
Oracle数据库用户密码过期
问题现象:今天在更改数据库数据的时候,程序报错了,如下:ORA-28001:the password has expired问题分析:很显然,报错原因就是:密码已过期!所以现在需要做的事情只有两件:1.修改密码的过期时间2.修改/重置密码这里分析一下为什么要这样做:1.修改密码的过期时间:这是因为Oracle Database 11g 版本的Oracle数据库有一项默认配置,就是密码过期时间默认为180天(6个月左右);通过sysdba身份可以登录..原创 2021-04-30 11:26:26 · 14353 阅读 · 0 评论 -
windows系统连接,退出,启动与关闭Oracle数据库
问题现象:如何简单快速的连接,退出,启动与关闭windows上的数据库?问题分析:简单快速,据我所知,windows的DOS命令行应该是最简便快捷的一个操作数据库工具了:1.连接数据库(3种方式):1.1 先sqlplus /nolog 再conn sys / as sysdba1.2 sqlplus / as sysdba1.3sqlplus “/as sysdba”2.退出数据库:exit3.启动数据库:startup4.关闭数据库...原创 2021-04-30 12:25:41 · 721 阅读 · 0 评论 -
Oracle数据库:实现批量插入的sql语句
问题现象:今天想使用Oracle数据库进行批量插入的操作,发现和想象中的不太一样,报错如下:问题分析:很显然,是因为sql语句有误!那么是为什么呢?报错的语句格式如下:INSERT INTO 表名 (需要操作的列名)VALUES (需要插入到对应列名中的数据值), (需要插入到对应列名中的数据值);如:INSERT INTO tablename(column1, column2, column3...) VALUES ...原创 2021-05-10 15:52:25 · 8472 阅读 · 0 评论 -
Mybatis调用dao层(Mapper接口类)的方法时,访问了错误的数据源
问题现象:今天在项目运行过程中出现了SQL报错:java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在从报错信息可以看出,这是因为:该sql执行时访问的表不存在于该数据源(run)中。问题分析:我们都知道mybatis可以通过application.properties(或.yml/.yaml类型)配置文件,来配置多个数据源,当配置了多个数据源后,就可以依据数据源,创建Mapper接口类和Mapper.xml文件进行对应数据源的表映.原创 2021-05-20 10:38:38 · 1651 阅读 · 0 评论 -
设置Gson返回数据库timestamp格式的时间戳数据到前端显示的格式
设置Gson返回数据库timestamp格式的时间戳数据到前端显示的格式问题现象:事情是这样的:今天在项目中使用了Gson来进行前后端数据交换的载体,而不是Json格式.然后发现Gson再使用到insert插入数据到postgresql数据库时,数据显示格式为"yyyy-MM-dd HH:mm:ss";先说明一点,由于springboot默认是Json格式,因此在使用Gson时,不仅要导入依赖.还要再配置文件中设置springmvc响应数据的格式为Gson如下:然而,问题是当我通过通原创 2020-06-27 19:25:54 · 1488 阅读 · 1 评论 -
ERROR:remote query result rowtype does not match the specified FROM clause rowtype.
问题现象:今天在项目中使用postgresql数据库编写sql语句的时候,出现了一下报错:ERROR:remote query result rowtype does not match the specified FROM clause rowtype.问题分析:在项目配置了第一数据库之后,如果需要连接到第二个数据库,这时候就需要配置两个数据源,在springboot中配置好需要使用到的两个数据源之后;接下来就是编写sql语句了,在这里我需要连接到第二个数据库(远程数据库)中的pq_w原创 2020-08-25 15:50:08 · 2239 阅读 · 0 评论 -
postgresql获取指定时间(如当月第一天、最后一天、下个月的第n天等)
问题现象:今天在项目开发中遇到了一个需求,在编写某个功能时,需要使用到基于某个时间(如当前时间),去获取本月第一天或下个月的第一天的数据.问题分析:通过查询资料可以得知,要实现这个需求并不容易,在sql语句中就能很好的获取到,这里我使用的是postgresql数据库,其他数据库应该也适用,或者是使用了差不多的逻辑.1.首先是获取当前时间:select now(); //返回值:当前年月日、时分秒,且秒保留6位小数。select ...原创 2020-08-25 16:36:01 · 11576 阅读 · 2 评论 -
postgresql数据库中使用使用UUID
问题现象:今天在项目学习中,需要给数据添加一个id,组长要求使用UUID.问题分析:由于我们的项目中使用的是postgresql数据库,那么如果在postgresql语句中使用UUID呢?正常来说很多小伙伴应该都试过在java中使用java.util.UUID这个工具类吧!这确实是个很方便的工具类,然而我在想的是,直接在sql语句中使用uuid,为什么要这样做呢?其实答案很简单,就是因为,如果直接操作sql语句完成dao操作就可以节省很多时间;试想一下:假如你从已有的数据库表..原创 2020-08-25 17:17:36 · 5610 阅读 · 0 评论 -
sql的数据类型转换函数
问题现象:今天在学习中思考了这样一个问题:如何给sql中select结果集中的某个字段转换数据类型呢?问题分析:我们知道java中也有数据类型转换的对应函数(函数很多,每种数据类型都有对应的转换函数,这里就不扯了);回到正题,sql中的数据类型转换函数只有一个:cast( x as 转换后的数据类型) ;作用是: 将 x 转化为 as 关键字 后面定义的 数据类型;这里需要注意的是: 这个 x 必须是适配 as 关键字后面的 数据类型 的才能 转换成功,否则会报错, 如:.原创 2020-08-25 18:05:40 · 1194 阅读 · 0 评论 -
postgresql的UUID函数优化
问题现象:今天在学习中思考了这样一个问题:如何删除sql中uuid函数生成的随机id中的横杆(-)呢?问题分析:我们都知道UUID是一串32位的随机数字组合;在sql中我们可以利用uuid_generate_v4() 函数来生成一个uuid,但是细心的小伙伴会发现一个问题,生成的这个uuid并不是32位的,这个id里面还包含了4个 - (横杆),也就是说它是36位,这个时候问题就来了:假如我的字段长度是32位,我们知道varchar类型的字段默认是32位的;这样一来生成的36位.原创 2020-08-25 17:52:39 · 1196 阅读 · 0 评论 -
sql字符串拼接或给某个字段值添加字符串前后缀
问题现象:今天在学习中,产生了一个想法:如何给select结果集中的某个字段的值添加前缀呢?问题分析:通过查阅资料,我发现了一个字符串拼接函数:concat(x,y);显而易见,这个函数就是用于将两个字符串拼接在一起,规则是:将左边的字符串拼接到右边字符串的前面.通过一个例子就可以发现这个函数的魅力了:select concat('嗯嗯',column1 )as column1 from table where id='xx' //该行记录中 column1 字段..原创 2020-08-25 16:47:24 · 6334 阅读 · 0 评论 -
sql判断字符串是否包含某子串
问题现象:今天在学习中思考了这样一问题:如何判断某个字符串是否包含某个子串?问题分析:在项目中,我们常常会对已有数据库表中的数据进行统计select;所以经常会需要根据某些条件,来对结果集进行加工;例如:如果一个select 的数据库表的违规环节字段中如果包含了某个环节,则可以判断该记录是 轻度违规 还是 重度违规;从这个统计需求中就可以知道: 这个违规环节字段 的值中应该是可以包含多个值,一般会用 , 来分隔(如: a, b, c, d) ;现假如这个字段的值中,...原创 2020-08-25 18:27:30 · 7375 阅读 · 0 评论 -
sql判断字段是否为null,是否为空串
问题现象:今天在项目中思考了一个问题:如何在sql中判断一个字段是否为 null值 , 是否为 空串 呢?问题分析:需要注意的是: null值 和 空串 并不是同一个概念!!!!!!null值 就是这个字段没有赋值,也就是java中常说的 null ;而 空串 是指这个字段有赋值, 只是该值是一个 空字符串, 也就是java中常说的 空串 .既然明白了 这两者的区别之后,那就要给大家介绍一下,如何在sql中判断某个字段 时候为 null 或 空串 了!在postgresql数据库原创 2020-08-25 17:35:09 · 45310 阅读 · 2 评论 -
sql判断字段是否以某个子串开头,结尾
问题现象:今天在学习中思考了这样一个问题:如何判断字段是否以某个子串开头或结尾?问题分析:通过查阅资料和学习,总结出来以下几个方法:1.like关键字SELECT * FROM car WHERE car.type like '中国%' ; //查询在car表中 type字段 以 '中国' 开头的记录SELECT * FROM car WHERE car.type like '%中国' ; //查询在car表中 type字段 以 '中国' 结尾的记录2.left()函数..原创 2020-08-26 15:37:26 · 21816 阅读 · 1 评论 -
postgresql数据库报错PSQLException: ERROR: LIMIT #,# syntax is not supported
postgresql数据库报错PSQLException: ERROR: LIMIT #,# syntax is not supported问题现象:今天在用mybatis的mapper.xml方式写完分页查询的sql语句后,如图:在访问对应的的接口时出现报错:在IDEA的控制台可以看见报错信息:显然错误原因是:PSQLException: ERROR: LIMIT #,# syntax is not supported问题分析:可以看到这里的报错类型是PSQLExcep原创 2020-06-23 17:43:06 · 13436 阅读 · 5 评论 -
如何用sql语句更新某个表所有记录的指定列数据为另一列(另一个表的指定列)数据?
问题现象:今天想到了一个这样的需求,如何用sql语句更新某个表所有记录的指定列数据为另一列(另一个表的指定列)数据?问题分析:从问题的需求可举例如下:第一种:假如现在有一个表 T含有包括 id , t_id 在内的多个字段;现在想把T 表中所有记录的 id字段 这一列的数据, 修改为T 表 的 t_id字段这一列的数据;(也就是将每一条记录的 id字段的值 修改为t_id字段的值)第二种: 假如现在有两个表 A , B: 其中A表含有 id 字段, 但不...原创 2020-09-17 16:56:11 · 5958 阅读 · 2 评论 -
SQLite数据库学习笔记1:报错:The database disk image is malformed
问题现象:今天在项目中用到了SQLite数据库,此前并未学习过,因此就简单的了解了一下,很快就遇到了第一个小问题,报错如下:问题分析:在组长的建议下,使用了DBeaver数据库管理和开发工具(因为图标是只河狸,所以我也会叫它河狸数据库工具);由于没有接触过SQLite,组长也没有怎么介绍,就发了一个sample.db文件给我,我用DBeaver打开后,发现有一些奇怪的乱码:虽然无法正常阅读,但还是有一些可读信息可以看出一些眉目,在大概浏览了一下这个带有乱码的文档后;作为程序员我.原创 2020-09-27 11:37:38 · 3751 阅读 · 0 评论 -
主键默认值报错:java.sql.SQLException: Field ‘id‘ doesn‘t have a default value
问题现象:今天在调用Controller接口给Mysql数据库插入数据时,出现报错如下:java.sql.SQLException: Field 'id' doesn't have a default value问题分析:通过查看报错信息可知:是因为字段 oid 没有默认值. 很奇怪的错误信息,因为我在Controller层明明给oid赋值了:通过查看网上的资料,发现解决方法几乎都是说:让你把数据库主键设置为自增就可以了!虽然oid确实是主键没有错,但是为什么主键就一定要原创 2020-10-21 16:57:03 · 5967 阅读 · 0 评论 -
Mysql报错:could not execute statement;MySQLSyntaxErrorException: You have an error in your SQL.
报错过程如下:1.对数据库执行了一个update操作,就报错了Hibernate: update user set age=?, dept_id=?, dept_name=?, desc=?, email=?, gender=?, is_secre...原创 2020-04-25 03:49:11 · 1574 阅读 · 0 评论