Db2

如何系統地將所有表從 DB2 數據庫模式導出到 csv

  • August 16, 2019

有沒有辦法使用 DB2 數據庫系統地將所有表從模式導出到單獨的 csv 文件?我的意思是在不指定表名的情況下導出模式中的所有表。也許以某種方式獲取模式中的所有表名,然後將導出應用於那些

您可以輕鬆地創建一個為您執行此操作的小腳本,甚至可以在命令行上執行循環。假設您在 unix/linux 平台上,應該執行以下操作。

#> db2 connect to mydb

#> for t in $(db2 -x "select rtrim(tabschema) || '.' || rtrim(tabname) from syscat.tables where tabschema = 'DB2INST1'"); do db2 "export to $t.csv of del modified by coldel, select * from $t"; done

您可以將 DB2INST1 替換為您感興趣的任何模式。如果您想要來自多個模式的表,您可以在以下位置使用:

#> for t in $(db2 -x "select rtrim(tabschema) || '.' || rtrim(tabname) from syscat.tables where tabschema in ('DB2INST1', ...)"); do db2 "export to $t.csv of del modified by coldel, select * from $t"; done

您可以使用很多選項來格式化導出的輸出,這裡我使用的是由 coldel 修改的,但您可以配置的還有更多。看:

https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0008303.html

了解更多資訊。

引用自:https://dba.stackexchange.com/questions/204790