随笔分类 -  数据库

摘要:在mysql中优化sql语句的查询效率时,在开头加上explain,可以检查查询语句中设计到的表数据量,有没有使用索引等信息 例: explain select a.CATA_ID,a.CATA_CODE,a.CATA_TITLE,a.org_id,a.ORG_NAME,t.city_orgid,t 阅读全文
posted @ 2021-12-14 10:14 leviH 阅读(72) 评论(0) 推荐(0)
摘要:使用情况:将某张表中的一些数据的name字段加上‘-DEL’后缀 使用concat拼接函数实现: update table1 set name=(select concat(name,'-DEL') from table1 where id = '123456') id需要是唯一值,返回结果集不能只 阅读全文
posted @ 2021-09-14 11:45 leviH 阅读(164) 评论(0) 推荐(0)
摘要:select --具体要查询的字段不展示,用*代表需要取出的字段 * from (select * from ts_drc_responsibility where CREATE_TIME > '2021-01-01 00:00:00') a left join catalog_res_associ 阅读全文
posted @ 2021-09-02 17:15 leviH 阅读(351) 评论(0) 推荐(0)
摘要:user表中有个type字段,数据类型为varchar,表里有条数据type字段为'7D',但在写sql的时候误将type字段当成integer。 select * from user where type = 7; 这时候会将type为‘7D’的数据查询出来。经过查阅资料,用integer去查询的 阅读全文
posted @ 2021-05-07 10:00 leviH 阅读(1473) 评论(0) 推荐(0)
摘要:视图:视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系 视图是已经编译好的sql语句 视图是逻辑上的概念,不占用物理空间 视图是查 阅读全文
posted @ 2020-12-15 15:06 leviH 阅读(1351) 评论(0) 推荐(0)
摘要:greatest(),取出括号里最大值 SELECT GREATEST(2, 5, 12, 3, 16, 8, 9) A FROM DUAL 结果为16,支持字符串比较,部分为数值型,但是字符串可以通过隐式类型转换转成数值型 SELECT GREATEST(2, '5', 12, 3, 16, 8, 阅读全文
posted @ 2020-12-09 15:02 leviH 阅读(1590) 评论(0) 推荐(0)
摘要:wmsys.wm_concat() 是属于oracle的分组连接字段函数, 作用与MySQL的group_concat函数相似 使用案例: SELECT cid,canme replace(WMSYS.WM_CONCAT(sage), ',', '|') FROM student GROUP BY 阅读全文
posted @ 2020-12-09 14:39 leviH 阅读(717) 评论(0) 推荐(0)
摘要:在开发中,遇到一个新项目时,回让你部署本地开发环境,其中需要部署本地数据库环境,具体做法为,拿到需要的建表SQL语句,拿到数据库dmp文件。 第一步,创建tablespace,也就是表空间,表空间名要和建表语句中所给的tablespace的名字保持一致,不然建表和导入数据时会报错(小白踩的坑,当时解 阅读全文
posted @ 2020-12-08 17:15 leviH 阅读(213) 评论(0) 推荐(0)
摘要:最近客户提一个需求,需要在系统功能中增加一个页面,可以直接执行sql语句。 实现这个功能有三个难点: 1.查询语句中查询的table不确定,前端展示的时候表头也就不是固定的 2.通过jdbc执行sql语句,在执行查询语句的时候需要返回两个数据,一个是查询结果,一个是查询结果里的所有字段的集合(前端展 阅读全文
posted @ 2020-11-27 09:08 leviH 阅读(4394) 评论(0) 推荐(0)
摘要:Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where … columnname为字段名 用法相当于if 判断,if columnname = 值1,则替换为翻译值1. 阅读全文
posted @ 2020-11-19 14:56 leviH 阅读(385) 评论(0) 推荐(0)
摘要:指定sid登录Oracle:sqlplus username/password@sid (一般登录直接输入sqlplus然后回车,接着输入账号密码,这种方式连接数据库为默认数据库,不推荐) 查看当前用户:show user (注意,这个语句不能再plsql中使用) 查看sid:select inst 阅读全文
posted @ 2020-11-10 17:48 leviH 阅读(3671) 评论(0) 推荐(0)
摘要:工作的项目需要用到Oracle数据库,需要安装本地Oracle数据库并将测试数据导入进数据表中,因为以前做的项目使用的是MySQL,并且连接的是远程测试库,所以这是第一次安装Oracle,过程遇到了很多坑,光是这个Oracle数据库就安装了大半天,所以记录一下安装的过程和遇到的坑。 安装oracle 阅读全文
posted @ 2020-11-10 13:50 leviH 阅读(326) 评论(0) 推荐(0)
摘要:在实际开发中,插入数据时会遇到主键自增长的情况,这时可以通过<selectKey>标签实现,代码如下: <insert id="id" parameterType="bean"> <selectKey keyProperty="dataId" order="BEFORE" resultType="j 阅读全文
posted @ 2020-11-06 15:39 leviH 阅读(340) 评论(0) 推荐(0)
摘要:在项目开发中经常会出现一个查询字段包含多个查询内容的情况,在SQL中使用IN实现: SELECT * FROM user WHERE name IN ('张三','李四'); 在mybatis,使用foreach实现in的功能: <where> <if test="isAudit != null"> 阅读全文
posted @ 2020-05-18 17:30 leviH 阅读(3108) 评论(0) 推荐(0)
摘要:在项目开发中需要定时从其他数据库中捞取数据,这时可以使用MySQL的定时任务完成。 定时任务共需要三个部分: 1.数据表:记录捞取的时间,每次捞取时作为查询条件以防止重复捞取,每次捞取数据后获得当前时间更新该数据表 2.函数:捞取数据并存档当前数据库的存储过程 3.时间:时间里实现定时执行函数中的存 阅读全文
posted @ 2020-03-24 08:42 leviH 阅读(425) 评论(0) 推荐(0)
摘要:基本用法:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 常常用于关联查询,并且表数据对应关系为一对多,将结果返回一条数据 业务场景中将项目阶段与结束时间对应查询出来(项目阶段有多个,一阶段对应一阶 阅读全文
posted @ 2020-03-23 11:07 leviH 阅读(3695) 评论(0) 推荐(0)
摘要:传统插入方式为: <insert id="create" parameterType="FcHydrantDetailEntity"> insert into fc_hydrant_detail (id, hydrantId, checkDate, checkUser) values(#{id}, 阅读全文
posted @ 2020-01-09 17:02 leviH 阅读(199) 评论(0) 推荐(0)
摘要:b树和b+树都是应用于数据库索引的,b树与二叉树的区别是,b树是m叉的多路平衡查找树。 理论上来说二叉树的查找速度和比较次数是最少的,但数据库用b树不用二叉树的原因是b树的高度比二叉树小,数据库索引是建立在磁盘上的,所以我们应该减少IO次数,对于树来说,IO次数就是树的高度。 b树的每个节点最多包含 阅读全文
posted @ 2020-01-03 10:24 leviH 阅读(596) 评论(0) 推荐(0)
摘要:两种情况: 1.where前加了逗号,加了多余的符号 2.字段名冲突,字段名使用了关键字 我的情况是:数据表中字段名使用了member,检查过后发现没有多于和错误的字符,而删掉sql语句中的member时,程序正常运行,推测member字段名冲突,将member改为members,程序正常执行。 阅读全文
posted @ 2019-12-30 11:02 leviH 阅读(67825) 评论(0) 推荐(1)
摘要:inner join(内连接),在两张表进行查询时,只保留两张表中完全匹配的结果集: select p.name,p.address,o.orderName from person p inner join orders o on p.id = o.id_p and 1 = 1 order by p 阅读全文
posted @ 2019-12-30 10:50 leviH 阅读(135) 评论(0) 推荐(0)