1. 数据表结构(postgresql)
Table: public.phm_2040tempo_if_mst
-- DROP TABLE IF EXISTS public.phm_2040tempo_if_mst;
CREATE TABLE IF NOT EXISTS public.phm_2040tempo_if_mst
(
unei_temban_cd character varying(6) COLLATE pg_catalog."default" NOT NULL,
shiyo_kaishi_ymd character varying(8) COLLATE pg_catalog."default" NOT NULL,
shiyo_shuryo_ymd character varying(8) COLLATE pg_catalog."default" NOT NULL,
toroku_kbn character varying(2) COLLATE pg_catalog."default" NOT NULL,
kessai_hanei_kbn character varying(5) COLLATE pg_catalog."default",
tempo_sys_kanren_joho_toroku_jokyo_kbn character varying(2) COLLATE pg_catalog."default",
hatchu_kanren_joho_toroku_jokyo_kbn character varying(2) COLLATE pg_catalog."default",
zettai_temban_cd character varying(6) COLLATE pg_catalog."default" NOT NULL,
temban_cd character varying(6) COLLATE pg_catalog."default",
tempo_unei_kaishi_ymd character varying(8) COLLATE pg_catalog."default",
tempo_unei_shuryo_ymd character varying(8) COLLATE pg_catalog."default",
tempo_meisho_15_moji character varying(90) COLLATE pg_catalog."default",
tempo_tel_no character varying(15) COLLATE pg_catalog."default",
kaiten_hm character varying(4) COLLATE pg_catalog."default",
heiten_hm character varying(4) COLLATE pg_catalog."default",
tempo_eigyo_time numeric(4,0),
o24h_eigyo_flg character varying(1) COLLATE pg_catalog."default",
sake_menkyo_umu_flg character varying(1) COLLATE pg_catalog."default",
tabako_menkyo_umu_flg character varying(1) COLLATE pg_catalog."default",
tencho_shain_cd character varying(8) COLLATE pg_catalog."default",
tencho_shunin_ymd character varying(8) COLLATE pg_catalog."default",
tencho_yubin_no character varying(8) COLLATE pg_catalog."default",
tencho_jusho_todofuken_cd character varying(2) COLLATE pg_catalog."default",
tencho_jusho character varying(240) COLLATE pg_catalog."default",
tencho_tel_no character varying(15) COLLATE pg_catalog."default",
fc_tempo_flg character varying(1) COLLATE pg_catalog."default",
tempo_unei_keitai_kbn character varying(2) COLLATE pg_catalog."default",
proper_shain_flg character varying(1) COLLATE pg_catalog."default",
tencho_name_sei character varying(120) COLLATE pg_catalog."default",
tencho_name_mei character varying(120) COLLATE pg_catalog."default",
tempo_meisho_zenkaku_kana character varying(90) COLLATE pg_catalog."default",
tencho_name_zenkaku_kana_sei character varying(240) COLLATE pg_catalog."default",
tencho_name_zenkaku_kana_mei character varying(240) COLLATE pg_catalog."default",
tencho_zagaku_kenshu_kaishi_ymd character varying(8) COLLATE pg_catalog."default",
tencho_tempo_kenshu_kaishi_ymd character varying(8) COLLATE pg_catalog."default",
tencho_kenko_shindan_ymd character varying(8) COLLATE pg_catalog."default",
tencho_seinengappi character varying(8) COLLATE pg_catalog."default",
kikan_gentei_eigyo_time_kaishi_ymd character varying(8) COLLATE pg_catalog."default",
kikan_gentei_kaiten_hm character varying(4) COLLATE pg_catalog."default",
kikan_gentei_eigyo_time_shuryo_ymd character varying(8) COLLATE pg_catalog."default",
kikan_gentei_heiten_hm character varying(4) COLLATE pg_catalog."default",
kikan_gentei_eigyo_time numeric(2,0),
kikan_gentei_o24h_eigyo_flg character varying(1) COLLATE pg_catalog."default",
zenshu_saiyo_teishi_ymd_10_ji character varying(8) COLLATE pg_catalog."default",
zenshu_saiyo_sai_kaishi_ymd_10_ji character varying(8) COLLATE pg_catalog."default",
zenshu_saiyo_teishi_ymd_15_ji character varying(8) COLLATE pg_catalog."default",
zenshu_saiyo_sai_kaishi_ymd_15_ji character varying(8) COLLATE pg_catalog."default",
hatchu_chiku_cd character varying(2) COLLATE pg_catalog."default",
sake_menkyo_shutoku_ymd character varying(8) COLLATE pg_catalog."default",
sake_hambai_kaishi_ymd character varying(8) COLLATE pg_catalog."default",
sake_hambai_shuryo_ymd character varying(8) COLLATE pg_catalog."default",
sake_hambai_shubetsu_kbn character varying(2) COLLATE pg_catalog."default",
sake_fee_ritsu numeric(6,3),
sake_menkyo_meiginin_hojin_flg character varying(1) COLLATE pg_catalog."default",
sake_menkyo_meigi_hojin_meisho character varying(120) COLLATE pg_catalog."default",
sake_menkyo_meigi_kojin_name_sei character varying(120) COLLATE pg_catalog."default",
sake_menkyo_meigi_kojin_name_mei character varying(120) COLLATE pg_catalog."default",
sake_hambai_sys_donyu_ymd character varying(8) COLLATE pg_catalog."default",
kikan_gentei_sake_hambai_kaishi_ymd character varying(8) COLLATE pg_catalog."default",
kikan_gentei_sake_hambai_shuryo_ymd character varying(8) COLLATE pg_catalog."default",
sake_minashi_saeki_ritsu numeric(5,2),
tabako_menkyo_shutoku_ymd character varying(8) COLLATE pg_catalog."default",
tabako_hambai_kaishi_ymd character varying(8) COLLATE pg_catalog."default",
tabako_hambai_shuryo_ymd character varying(8) COLLATE pg_catalog."default",
tabako_koza_kbn character varying(2) COLLATE pg_catalog."default",
tabako_menkyo_meiginin_hojin_flg character varying(1) COLLATE pg_catalog."default",
tabako_menkyo_meigi_hojin_meisho character varying(120) COLLATE pg_catalog."default",
tabako_menkyo_meigi_kojin_name_sei character varying(120) COLLATE pg_catalog."default",
tabako_menkyo_meigi_kojin_name_mei character varying(120) COLLATE pg_catalog."default",
tabako_hambai_tempo_cd character varying(20) COLLATE pg_catalog."default",
tabako_koza_henko_ymd character varying(8) COLLATE pg_catalog."default",
modem_tel_no character varying(13) COLLATE pg_catalog."default",
baika_tempo_kata_kbn character varying(2) COLLATE pg_catalog."default",
setsuzoku_saki_center_kbn character varying(1) COLLATE pg_catalog."default",
zenken_mst_haishin_ymd character varying(8) COLLATE pg_catalog."default",
sc_settei_ymd character varying(8) COLLATE pg_catalog."default",
keitai_henko_ymd character varying(8) COLLATE pg_catalog."default",
tempo_sys_kaiso_kaishi_ymd character varying(8) COLLATE pg_catalog."default",
tempo_sys_kaiso_shuryo_ymd character varying(8) COLLATE pg_catalog."default",
tempo_sys_kaiten_ymd character varying(8) COLLATE pg_catalog."default",
tempo_sys_heisa_ymd character varying(8) COLLATE pg_catalog."default",
kaiso_kikan_shuhaishin_kahi_flg character varying(1) COLLATE pg_catalog."default",
eigyo_ritchi_kbn character varying(2) COLLATE pg_catalog."default",
keitai_henko_shin_temban_cd character varying(6) COLLATE pg_catalog."default",
keitai_henko_kyu_temban_cd character varying(6) COLLATE pg_catalog."default",
shin_tempo_kbn character varying(1) COLLATE pg_catalog."default",
hombu_temban_kbn character varying(1) COLLATE pg_catalog."default",
hatchu_model_tempo_kbn character varying(1) COLLATE pg_catalog."default",
numbers_toriatsukai_umu_flg character varying(1) COLLATE pg_catalog."default",
fm_fresh_toriatsukai_umu_flg character varying(1) COLLATE pg_catalog."default",
tempo_manager_name_sei character varying(120) COLLATE pg_catalog."default",
tempo_manager_name_mei character varying(120) COLLATE pg_catalog."default",
tempo_manager_name_zenkaku_kana_sei character varying(240) COLLATE pg_catalog."default",
tempo_manager_name_zenkaku_kana_mei character varying(240) COLLATE pg_catalog."default",
tempo_manager_seinengappi character varying(8) COLLATE pg_catalog."default",
gyotai_kbn character varying(2) COLLATE pg_catalog."default",
pre_open_ymd character varying(8) COLLATE pg_catalog."default",
receipt_yo_tempo_meisho character varying(96) COLLATE pg_catalog."default",
receipt_yo_tempo_meisho_kana character varying(96) COLLATE pg_catalog."default",
receipt_yo_tempo_jusho character varying(192) COLLATE pg_catalog."default",
bb_kaisen_shubetsu_cd character varying(2) COLLATE pg_catalog."default",
center_depot_cd character varying(2) COLLATE pg_catalog."default",
reito_depot_cd character varying(2) COLLATE pg_catalog."default",
bento_depot_cd character varying(2) COLLATE pg_catalog."default",
joon_depot_cd character varying(2) COLLATE pg_catalog."default",
yamapan_depot_cd character varying(2) COLLATE pg_catalog."default",
nichiyohin_depot_cd character varying(2) COLLATE pg_catalog."default",
kashi_depot_cd character varying(2) COLLATE pg_catalog."default",
depot_cd_yobi_1 character varying(2) COLLATE pg_catalog."default",
depot_cd_yobi_2 character varying(2) COLLATE pg_catalog."default",
depot_cd_yobi_3 character varying(2) COLLATE pg_catalog."default",
tokushu_baika_settei_umu_flg character varying(1) COLLATE pg_catalog."default",
sate_tempo_umu_kbn character varying(1) COLLATE pg_catalog."default",
sate_tempo_shukei_saki_temban_cd character varying(6) COLLATE pg_catalog."default",
pos_hi_rendo_credit_toriatsukai_umu_flg character varying(1) COLLATE pg_catalog."default",
self_pos_register_umu_flg character varying(1) COLLATE pg_catalog."default",
jido_tsurisen_ki_umu_flg character varying(1) COLLATE pg_catalog."default",
tempo_sys_renka_han_donyu_tempo_flg character varying(1) COLLATE pg_catalog."default",
unei_tempo_yobi_kbn_1 character varying(2) COLLATE pg_catalog."default",
unei_tempo_yobi_kbn_2 character varying(2) COLLATE pg_catalog."default",
unei_tempo_yobi_kbn_3 character varying(2) COLLATE pg_catalog."default",
unei_tempo_yobi_kbn_4 character varying(2) COLLATE pg_catalog."default",
unei_tempo_yobi_kbn_5 character varying(2) COLLATE pg_catalog."default",
tempo_kaiso_keitai_kbn character varying(1) COLLATE pg_catalog."default",
todofuken_cd character varying(2) COLLATE pg_catalog."default",
gyomu_yo_todofuken_kakucho_bu_cd character varying(5) COLLATE pg_catalog."default",
shikuchoson_cd character varying(5) COLLATE pg_catalog."default",
eigyosho_no character varying(5) COLLATE pg_catalog."default",
dist_no character varying(4) COLLATE pg_catalog."default",
fm_kaisha_cd character varying(4) COLLATE pg_catalog."default",
zettai_tempo_kaiten_ymd character varying(8) COLLATE pg_catalog."default",
zettai_tempo_heisa_ymd character varying(8) COLLATE pg_catalog."default",
yubin_no character varying(8) COLLATE pg_catalog."default",
tempo_jusho character varying(240) COLLATE pg_catalog."default",
kinrin_moyori_eki character varying(123) COLLATE pg_catalog."default",
uriba_menseki numeric(7,2),
chusha_daisu numeric(7,0),
ichiji_heisa_ymd character varying(8) COLLATE pg_catalog."default",
tempo_sai_kaiten_ymd character varying(8) COLLATE pg_catalog."default",
kaiso_koji_kaishi_ymd character varying(8) COLLATE pg_catalog."default",
kaiso_koji_shuryo_ymd character varying(8) COLLATE pg_catalog."default",
ritchi_joken_kbn character varying(2) COLLATE pg_catalog."default",
tatemono_keitai_kbn character varying(2) COLLATE pg_catalog."default",
uriba_keitai_kbn character varying(2) COLLATE pg_catalog."default",
heiten_riyu_kbn character varying(2) COLLATE pg_catalog."default",
zettai_tempo_yobi_kbn_1 character varying(2) COLLATE pg_catalog."default",
zettai_tempo_yobi_kbn_2 character varying(2) COLLATE pg_catalog."default",
zettai_tempo_yobi_kbn_3 character varying(2) COLLATE pg_catalog."default",
zettai_tempo_yobi_kbn_4 character varying(2) COLLATE pg_catalog."default",
zettai_tempo_yobi_kbn_5 character varying(2) COLLATE pg_catalog."default",
menzei_tempo_kbn character varying(2) COLLATE pg_catalog."default",
menzei_tempo_kbn_meisho character varying(96) COLLATE pg_catalog."default",
toroku_ymdhms character varying(14) COLLATE pg_catalog."default",
toroku_sha_id character varying(60) COLLATE pg_catalog."default",
toroku_shori_id character varying(60) COLLATE pg_catalog."default",
henko_ymdhms character varying(14) COLLATE pg_catalog."default",
henko_sha_id character varying(60) COLLATE pg_catalog."default",
henko_shori_id character varying(60) COLLATE pg_catalog."default",
sakusei_ymdhmss character varying(17) COLLATE pg_catalog."default" DEFAULT to_char(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS00'::text),
sakusei_shori_id character varying(60) COLLATE pg_catalog."default" DEFAULT 'PH90010-SF010'::character varying,
sakusei_tanto_sha_id character varying(60) COLLATE pg_catalog."default" DEFAULT 'PH90010-SF010'::character varying,
koshin_ymdhmss character varying(17) COLLATE pg_catalog."default" DEFAULT to_char(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS00'::text),
koshin_shori_id character varying(60) COLLATE pg_catalog."default" DEFAULT 'PH90010-SF010'::character varying,
koshin_tanto_sha_id character varying(60) COLLATE pg_catalog."default" DEFAULT 'PH90010-SF010'::character varying,
data_jotai_kbn character varying(1) COLLATE pg_catalog."default" DEFAULT '1'::character varying,
CONSTRAINT pk_phm_2040tempo_if_mst PRIMARY KEY (unei_temban_cd, shiyo_kaishi_ymd)
)
-
重点: 关联主键是->unei_temban_cd, shiyo_kaishi_ymd 2个字段,并且unei_temban_cd按照接口数据要求是5位数据
-
逻辑方式:主要逻辑是按照unei_temban_cd循环100000次,再shiyo_kaishi_ymd用日期去继续循环递增
-
注意1:需要按要求去生成的字段需要自己再去加设置条件
-
注意2:本次第二个字段是日期字段,按照了日期去循环
完整代码
# 利用python 生成造数据的sql语句,再去数据库中执行
import random
import datetime
# 构造表t_user_weight
import time
import datetime as dt
def create_t_user_weight():
# 开始执行时间
start = time.time()
# 定义需要生成的数据量 算法=count乘以(endtime减去begintime) 例如:10000x(20200201-20200101)=100万
count = 100000
# 定义日期主键
begintime = dt.date(2017, 10, 29)
# 制表符
delemiter = "\t"
# 打开文件,并动态生成sql数据,将数据存在文件中
try:
with open("../造数据/insert_t_user_weight.csv", "wb") as fo:
# 定义数据,以下只是测试数据,可以根据自己的业务通过调用函数去随机生成对应的值
endtime = dt.date(2017, 11, 2)
for j in range((endtime - begintime).days + 1):
day = begintime + dt.timedelta(days=j)
# print(str(day))
syear = str(day.year)
if day.day < 10:
sday = '0' + str(day.day)
else:
sday = str(day.day)
if day.month < 10:
smonth = '0' + str(day.month)
else:
smonth = str(day.month)
sdate = syear + smonth + sday
print(str(sdate))
for i in range(1, count):
unei_temban_cd = str(i) + delemiter
shiyo_kaishi_ymd = str(sdate) + delemiter
other_data = "20210217 5 dp 1 2 ahtg ynvo 19790824 20120417 日本語czwfevluuzyguzwpduysk 13274685007 855 1825 2110 0 0 1 17888832 20010515 944-1116 13 hcmjofsnasrbskltiqsihlskdvnnfdccmblcgppkyxngqj 9143-3-12345681 0 10 1 eujphc igmrfgobqaoporvnndgqzptwlkj bnfvkvoixgtedlhksglmobentrzcewblkybkqmsqwnyd plxztutqgpnlymvfoenjffsatvdrxbruqbbrdlpvkyhgytugwprvtxxfyuxqshxngdgdwa vpdaztqzjxvyfqfclpyfetljnvlpeqgwnfyisgigsrmjvrambrdbmropxhkroctpyhoh 20120630 20180803 20080629 19780425 19910627 525 19810917 2139 4 0 20011003 19840228 20011227 19830128 13 19890917 20200612 20151227 1 119.66 3 rlrjdudfbgdilcd wkhw tzwt 19780608 20020521 19730706 319.66 20040428 19810318 19940704 1 1 mgyfwryetnonnthysbkwn erkqbkvzasuonhzvst bpkdiievyfvbemtxcdbbwghmudsto dbbobfenub 19821027 67101895 2 2 20171107 20100707 19971128 19960423 19871021 20170327 20040318 1 3 ojpu stxq 0 1 1 1 0 liewemoaqm hhasfmkibktkxryaukyoimyhtkwwryvr lyniwphchdyuwsrboxnpjtkkajzaop nrpobfmqqbejumxgkorjotxxuhmabypsyevihbiurumxmozpytzqpuewtgqjcdjudpfirqibxqlnbva 20120519 3 20090724 pipnyqrkpkrdsufobdfdnruomi daugfvqlgfnof rmgkohv AE zf wd zr dq va fn zb yo tn ny 0 0 dyuyn 0 0 0 1 zs ul vx px ou 0 17 93314 90963 16869 8729 8716 19780601 19970103 793-1116 peegittmdpcdmflqhxduevtaexqbolyvkidrkvqxhjmldobuitduiftmiatxk fimfvbsmwqigdkudksjxyevnlktfelisnitijogl 1956.37 6781972 20021203 20120110 19880820 20180822 5 BI 3 5 er ju ey iw yq 3 hpvvwqqshqdnpmcpkotpqfdsyslmenxi 20220915155501 test 4 202209155701 4 4"
insert_t_user_weight = (
'%s' '%s' '%s'
% (unei_temban_cd, shiyo_kaishi_ymd, other_data)
)
# insert_t_user_weight = (
# "INSERT INTO t_user_weight VALUES ('%s', '%s', '%s','%s', '%s', '%s', '%s');"
# % (id, userId, name, sex, weight, address, time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
# )
insert_t_user_weight = insert_t_user_weight + '\n'
print(insert_t_user_weight)
fo.write(insert_t_user_weight.encode('UTF-8'))
data_size = (count-1) * ((endtime - begintime).days+1)
print(f'共创建{data_size}条sql耗时:{time.time() - start}')
except Exception as e:
print(Exception, ":", e)
f __name__ == "__main__":
create_t_user_weight()
结果数据如图