Quantcast
Channel: LiangXu Wang » sql
Browsing latest articles
Browse All 11 View Live

postgresql中从多表中进行update

有时候,需要根据其他表的数据对某表的数据进行更新,这是就可以用到多表更新的功能: update metadata m set source=s.uuid from source s right join datasource d on s.id=d.sourceid where m.uuid=d.uuid

View Article



wordpress站点更换域名

采用wordpress建站后经常会先使用临时域名,待测试完毕后再更换为正式域名,但在wordpress数据库里对站点域名进行了绑定,因此需要使用数据库进行处理: update wp_options set option_value=replace(option_value,’old_site_url’,'new_site_url’) where option_value like...

View Article

简易数据正则处理

因为数据服务填报系统中有个数据需要进行简易的处理,即移除数据列表中的文件大小,而此数据是csv格式的文件,首先想到的就是通过openoffice来进行快捷的处理。 1、OpenOffice尝试 OpenOffice中也有正则支持,默认是关闭的,在“查找与替换”中,点击“更多选项”,然后选择正则表达式,即可打开正则表达式支持。 实际上,我需要运行的正则很简单,即: \(.*?MB\)...

View Article

postgresql中将多行记录合并为一个字符串

有时候需要将数据库中两个1:m关系的数据表进行转换为一个独立的表,可以这样处理: SELECT m.uuid, m.title, m.description, x.data, array_to_string(ARRAY( SELECT keyword.keyword FROM keyword           WHERE keyword.id = m.id), ', '::text) AS...

View Article

PostgreSQL:使用SQL管理数据中心

在数据中心的元数据中包含了数据作者和单位信息(部分元数据),可以采用如下方法将其分解处理。 1. 测试查看 select (regexp_matches(regexp_replace(citation,'.(Jan\.|Feb\.|Mar\.|Apr\.|May\.|Jun\.|Jul\.|Aug\.|Sep\.|Oct\.|Nov\.|Dec\.)','','g'),...

View Article


记一次sql的10倍效率提升

在数据中心后台,浏览WATER专题文献的时候,速度明显很慢,感觉哪儿有问题。 开始还以为是SQL中提取了大BLOB字段的问题,后来对比了一下,发现和这个没有关系。 于是尝试在pgadmin中直接修改sql看看效果: 首先用老的代码执行: select distinct ref.* from mdref r left join reference ref on r.refid=ref.id left...

View Article

postgresql:诡异的left join结果

在修改数据中心后台系统的代码时候,遇到了一个诡异的sql问题,在此记录一下,我还没有找到原因。 fund与mdfund表之间是M:N关系(多对多),其中mdfund记录的是多对多的关系。 系统中需要找出所有符合一定条件的fund记录,以及其与metadata的关系(记录在mdfund表),因此想当然的用是这个SQL代码: select distinct f.*,mf.id as...

View Article

postgresql中的sql条件判断

有时候,我们想在sql中使用条件判断来查询一个数据的结果。比如,在wsn的数据申请中,用户可以申请一个site上的所有观测变量,也可以申请其中制定的某些观测变量,在进行查询的时候,我们可能只需要返回用户的申请是全部变量还是非全部变量,这是就需要用到条件判断功能了。 在postgresql中可以case when来进行条件判断: CASE WHEN condition THEN result...

View Article


使用SQL分析thunderbird的来往邮件

数据中心的公共服务邮箱已经积累了2万多封邮件(约4.5gb),因此想分析一下这些邮件的信息,比如,收件箱中都有哪些类型的邮件?逐年逐月的邮件分布情况如何?收件箱中的邮件是否存在什么分布规律,包括小时、周、月等?而为了解决这些问题,就需要对这些邮件信息进行分析,首先想当然的是用SQL方法来分析,但通过搜索后发现,科学院的邮箱不支持SQL操作,在WEB管理界面上可以通过高级搜索完成一些对应的搜索功能,但...

View Article


SQL中处理serial类型字段

通常我们在设计数据库时会设计一个自增长的主键(如id、oid),提高数据的查询效率。但有的时候有批量入库的需求,而通常在入库时这个自增长字段是不用赋值的。我们在处理可视化数据入库时(通过CSV数据)时遇到这个问题。 用CSV入库时,若数据的顺序和表中字段的次序一致,则可以这样写SQL:insert into some_table values(value1,value2,value3)...

View Article
Browsing latest articles
Browse All 11 View Live




Latest Images