gpt4 book ai didi

linux - 使用 linux shell 命令将 CSV 数据插入 DB2

转载 作者:太空宇宙 更新时间:2023-11-04 11:54:31 24 4
gpt4 key购买 nike

在使用 Shell 脚本将数据从 CSV 文件插入到 CUSTOMER 表时,我需要一些帮助。是否可以通过逗号而不是数据的固定位置来检索 CSV 数据?例如,我的Remarks的数据没有固定的位置,即它可能包含10个字符或15个字符,因此变量发生变化。

#!/bin/bash

PASSFILE=/credentials/systemcredential.properties
USERID=$(cat $PASSFILE | grep UserID | cut -f2 -d=)
PASSWORD=$(cat $PASSFILE | grep Pwd | cut -f2 -d=)

# connect to database
source /opt/db2home/db2profile
db2 connect to DBRPTGU user $USERID using $PASSWORD

#--------------------------------------------------#
# TABLE: CUSTOMER
#--------------------------------------------------#

#db2 "select count(*) from udbcuser.CUSTOMER"

db2 "load from /batchload/data/CUSTOMER.csv of asc
method L(1 7, 9 23, 25 39, 41 47, 49 68)
insert_update into udbcuser.CUSTOMER(CUSTOMER_ID,CUSTOMER_NAME,ITEM_PURCHASED,AMOUNT_PURCHASED,REMARKS)"

请求的示例数据:
9000001,Michael Tan,钱包,30 美元,首次顾客
9000002,Sally Gomez,夹克,90 美元,
9000003,程宁, Boot ,$80,成员(member)
9000004,Richard Chin,墨镜,$30,成员(member)

谢谢!

最佳答案

这是一个示例脚本。

echo '9000001,Michael Tan,Wallet,$30,First time customer' > dat.csv
echo '9000002,Sally Gomez,Jacket,$90,' >> dat.csv
echo '9000003,Cheng Ning,Boots,$80,Member' >> dat.csv
echo '9000004,Richard Chin,Sunglasses,$30,Member' >> dat.csv

db2 -v drop db db1
db2 -v create db db1
db2 -v connect to db1
db2 -v "create table db2inst1.customer (num int, name char (30), item char (20), price char(10), remark char(20))"
db2 -v "load from dat.csv of del insert into db2inst1.customer"
db2 -v "select * from db2inst1.customer"

当您运行时,最后一个 select * from db2inst1.customer 返回如下:

NUM         NAME                           ITEM                 PRICE      REMARK
----------- ------------------------------ -------------------- ---------- --------------------
9000001 Michael Tan Wallet $30 First time customer
9000002 Sally Gomez Jacket $90 -
9000003 Cheng Ning Boots $80 Member
9000004 Richard Chin Sunglasses $30 Member

4 record(s) selected.

加载命令有很多选项,这里是V11.5手册页供您引用:

加载命令
https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0008305.html

希望这对您有所帮助。

关于linux - 使用 linux shell 命令将 CSV 数据插入 DB2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54863651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com