Python腳本生成SQL測試數據

背景

數據庫測試需要插入多條數據時,手動修改效率太低,可以考慮使用腳本自動化生成指定條數符號條件的待測數據。
下列代碼可根據輸入的單條數據,輸出指定條數同類數據,然後複製到sql插入語句的values後,即可生成要求數據。

代碼

import random
import string
import datetime
import time

def rand_string(num):
    return ''.join(random.sample(string.ascii_letters + string.digits,num))



def get_sql_clause(tpl, num):
    lst = list(tpl)
    dst = [] # 包含指定個數的元組列表

    for i in range(2,cnt):
        tmp = lst[:]

        # 列出需要遞增的字段
        tmp[0] = str(int(tmp[0]) + i)
        tmp[1] = str(int(tmp[1]) + i)
        tmp[2] = str(int(tmp[2]) + i)
        tmp[4] = 'WXJ' + str(int(tmp[4].split('WXJ')[1]) + i)
        tmp[5] = str(int(tmp[5]) + i)
        tmp[6] = rand_string(20)
        tmp[10] = datetime.datetime.now().strftime( '%Y-%m-%d %H:%M:%S')
        tmp[11] = datetime.datetime.now().strftime( '%Y-%m-%d %H:%M:%S')

        time.sleep(1)
        dst.append(tuple(tmp))

    return dst

if __name__ == "__main__":
    tpl = ('1', '11', '41', '121', 'WXJ219', '2', 'wishes', '0', '1', '0', '2020-03-07 20:21:33', '2020-03-07 20:21:33')
    cnt = 55 # 元組個數

    ret = get_sql_clause(tpl, cnt)
    print(ret)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章