如何用Python指令碼自動建立多張表

2021-08-20 18:54:23 字數 1245 閱讀 7194

今天有個任務,將伺服器上mysql中的100張表一億條資料資料遷移到es中,

因為mysql和es都是在生產環境中的,不敢亂動啊,萬一搞錯了就完蛋了,

我只能在本地測試,第乙個要解決的問題就是,模擬出mysql的具有相同表結構的100張表

好在表的名字是有規律的***xx_1、***xx_2、***xx_3、......***xx_100、

剛開始我用手動的方式寫了2個,太慢了,於是結合python搞一搞

這裡需要準備兩個檔案

1、用於儲存建立表語句的sql檔案(比如create_table.sql)

在sql檔案中稍作修改,將建立語句

create table`***xx_1` (後面省略,根據自己需求建立
表名中的遞增的序號改為乙個字串(在sql檔案中需要具有唯一性),比如lihaizhen(這是我的名字,肯定唯一),然後儲存。

2、py檔案(比如create_table.py)

import pymysql

import time

with open("creat_tables.sql", "r", encoding='utf8')as f:

content = f.read()

sql_str = content

def write_into_mysql():

try:

conn = pymysql.connect(

host,

user,

password,

database,

port,

charset='utf8',

)cur = conn.cursor()

for i in range(1, 101):

sql = sql_str.replace('lihaizhen', str(i), 1)

cur.execute(sql)

conn.commit()

print('建立第{}張表'.format(i))

except exception as e:

print(e)

if __name__ == '__main__':

s_t = time.time()

write_into_mysql()

e_t = time.time()

print(e_t - s_t)

ok,大功告成

只需等待一分鐘收穫100張表

如何用Python指令碼從檔案讀取資料?

最近自學python的進度比較慢,工作之餘斷斷續續的看著效率比較低,看來還是要狠下心來每天進步一點點。import os 從標準庫匯入os模組 os.chdir f headfirstpython chapter3 切換到包含資料檔案的資料夾 data open sketch.txt 開啟乙個命名檔...

如何用公式在RTF域中自動建立附件

如何用公式在rtf域中自動建立附件?環境產品 lotus notes 平台 pc windows 軟體版本 6.x 問題如何在lotus notes客戶端中通過公式將特定的檔案作為附件放入rtf域中?解答通過以下公式可以將特定的檔案作為附件加入rtf域中 command editgotofield ...

如何用 Python 做自動化測試

python 3 環境的部署搭建 selenium 的定位元素操作 對頁面元素的 8 中定位操作 自動化測試框架的設計架構 對框架的構建有屬於自己的思路 docker for jenkins 整合自動化測試 讓測試用例自己執行 本場 chat 可以讓喜歡自動化測試的讀者從入門到掌握企業自動化測試框架...