Db2
如何系統地將所有表從 DB2 數據庫模式導出到 csv
有沒有辦法使用 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 修改的,但您可以配置的還有更多。看:
了解更多資訊。