美文网首页
sqlite3: 用脚本批量导出sqlite数据库中的表格数据

sqlite3: 用脚本批量导出sqlite数据库中的表格数据

作者: 守望一株麦穗 | 来源:发表于2022-02-03 16:04 被阅读0次

应用场景:kobas3.0的注释库中,有很多关系对应表。如果你单独把它提取出来,用来做自己的注释也是不错的。

假设你需要nta.db中的表格信息如何做?
第一步:查看这个文件中有哪些表格。

node17:~>sqlite3 ~/biosoft/kobas-3.0/sqlite3/nta.db
#SQLite version 3.13.0 2016-05-18 10:57:30
#Enter ".help" for usage hints.
sqlite> .tables
Diseases            GeneGis             GeneUniprotkbAcs    Orthologs
GeneDiseases        GeneGos             Genes               Pathways
GeneEnsemblGeneIds  GeneGoslims         Gos
GeneEntrezGeneIds   GenePathways        Goslims

#有了这些表格信息,就可以批量导出了。
先退出sqlite运行环境。
sqlite> .quit

第二步:在txt文本中编辑好脚本信息,最后复制粘贴到shell中运行即可。

sqlite3 ~/biosoft/kobas-3.0/sqlite3/nta.db  <<EOF
.output nta_Gos.txt
.headers on
.separator "\t" "\r\n"
select * from Gos;
.output stdout  

.output nta_GenePathways.txt
.headers on
.separator "\t" "\r\n"
select * from GenePathways;
.output stdout
.quit
EOF

这里解释一下每句都是什么意思

.output nta_GenePathways.txt  ##sqlite语句:意思是后续内容将输出至文本nta_GenePathways.txt。目录是当前目录。
.headers on    #显示表头
.separator "\t" "\r\n"    #设置列与行的分隔符。列设为tab,行设置为"\r\n"。
select * from GenePathways;  #sql语句,把表格里的内容都显示出来。
.output stdout   #屏幕上的内容输出至设定文件中,并结束此次输出。

类似的内容也可以这样改。

sqlite3 ~/biosoft/kobas-3.0/sqlite3/nta.db  <<EOF   #准备对ntab.db开始执行以下操作。

这里就是你想要对sqlit3数据库进行操作的具体内容。

.quit  ##退出sqlite运行环境。
EOF   #操作完毕后,别忘执行退出。

相关文章

网友评论

      本文标题:sqlite3: 用脚本批量导出sqlite数据库中的表格数据

      本文链接:https://www.haomeiwen.com/subject/zagdkrtx.html