![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
frwcode
这个作者很懒,什么都没留下…
展开
-
Python批量插入数据
Python批量插入数据到mysql中,相较于jdbc,简化了长度。import mysql.connector as conndef __getConn(): db = conn.connect( host="localhost", user="root", passwd="root", database="test" ) return dbdef insertBatch(db): cur =原创 2020-09-04 15:41:36 · 1385 阅读 · 0 评论 -
SQL中的WITH AS
在Oracle和TDH中可以使用with as语法,将子查询结果进行抽取,达到提高可读性和复用的效果。mysql中没有这个语法。 WITH A AS (SELECT * FROM USER WHERE AGE > 20), B AS (SELECT * FROM USER_SCORE ) SELECT A.ID,A.NAME,B.SCORE FROM A LEFT JOIN B ON A.UID = B.UID这是一个很简单的用法。但是在TDH环境下需要注意,Oracle没有下面的原创 2020-08-26 17:10:08 · 483 阅读 · 0 评论 -
Oracle的row_number函数的使用
Oracle提供的row_number()函数可以实现加rownum的作用,并且可以根据字段值的分类,在同类中进行排序SELECT id,NAME,class_id,score,row_number() OVER (PARTITION BY class_id ORDER BY score DESC )FROM STUDENT将学生表中将每个年级的学生成绩进行排名其中PARTITION BY后可以接多个字段进行分类over中还可以只有order by 就实现了rownum的效果...原创 2020-08-07 15:31:48 · 1229 阅读 · 0 评论 -
Oracle表空间中指定表占用大小
在此记录一个可能不怎么用得到的一个SQL,查询指定Oracle的表在表空间中占用的大小。SELECT segment_name AS TABLENAME, BYTES B, BYTES / 1024 KB, BYTES / 1024 / 1024 MBFROM user_segmentsWHERE segment_name = '表名'...原创 2020-08-07 14:30:41 · 176 阅读 · 0 评论 -
mybatis中jdbcType的使用
mybatis-plus中注入参数有#{}和${},一般情况下使用预编译的#{}方式,能避免SQL注入问题。在Oracle数据库场景下,mybatis如果参数是null可能出现报错的情况。有2种解决方式:1、在mybatis的xml中在#{}中标记数据类型eg: #{bo.age,jdbcType=DECIMAL}2、在mybatis-plus的配置中做配置mybatis-plus: configuration: jdbc-type-for-null: 'n原创 2020-08-07 10:43:56 · 2987 阅读 · 0 评论 -
PostgreSQL查询表主键及注释内容
网上关于pgSql获取表主键的内容都是千篇一律,并且对于存在多主键的场景不支持。附上测试后可获取多个主键字段值的SQLSELECT string_agg(DISTINCT t3.attname,',') AS primaryKeyColumn ,t4.tablename AS tableName , string_agg(cast(obj_description(relfilenode,'pg_class') as varchar),'') as commentFROM pg原创 2020-07-31 18:19:24 · 3540 阅读 · 0 评论 -
一种Oracle数据库分页查询优化思路
在项目中需要对一张表进行分页查询,按照常规的分页写法,使用ROWNUM实现了分页,但是随着数据的不断增加,目前达到300万条,并且有CLOB字段,在查询后几页数据时,直接超时。SELECT L4.ID, L4.EXECUTE_TIME FROM ( SELECT * FROM ( SELECT L2.*,ROWNUM ROW_ID FROM (SELECT * from TABLE1 L ORDER BY L.ID DESC )L2 WHERE ROWNUM <=原创 2020-05-25 23:01:36 · 317 阅读 · 0 评论 -
Oracle存储过程中创建表,报权限不足
项目需要在存储过程中首先判断表是否存在,如果不存在,则创建表。按照普通的存储过程编写完成后,执行却报权限不足(幸好本地跑了一遍,免得被测试屌( ̄ェ ̄;))网上的解决思路有2中:1、给当前用户增大权限2、在存储过程中添加权限说明我采用的第二种方式:CREATE OR REPLACE PROCEDURE DATA_UPDATE_SQLauthid current_user...原创 2020-04-26 21:05:40 · 2214 阅读 · 0 评论