dataCreating/bin/SQLDataCreating.py

79 lines
2.1 KiB
Python

# -*- coding:utf-8 -*-
import _load
import faker_data
import yaml
import codecs
import jaydebeapi
from schedule import every, repeat, run_pending
from pathlib import Path
from datetime import datetime
# 定义公共的部分
path = Path(__file__)
etc_dir = path.parent.parent / "etc"
configfile = etc_dir / "test_config.yml"
db_config = yaml.load(codecs.open(
configfile, 'r', encoding='utf-8'), Loader=yaml.FullLoader)
driver_jar_path = etc_dir / "driver" / db_config["driver_jar"]
OAuth = [str(db_config["db_user"]), str(db_config["db_password"])]
if not db_config["db_user"] and not db_config["db_password"]:
OAuth = None
# conn to db by jaydebeapi
conn = jaydebeapi.connect(db_config["driver_name"],
db_config["jdbc_url"],
OAuth,
str(driver_jar_path))
# conn.close()
def execute_sql(sql):
with conn.cursor() as curs:
curs.execute(sql)
# selecet_sql = "select * from t22 t WHERE name like '李%'"
# execute_sql(selecet_sql)
#@repeat(every(1).hours)
def create_table():
print("create_table ....")
sql_string = "CREATE TABLE `"
sql_string += "test"
sql_string += "` ("
sql_string += "`uuid` varchar(50) DEFAULT NULL,"
sql_string += "`id` bigint DEFAULT NULL,"
sql_string += "`name` varchar(50) DEFAULT NULL,"
sql_string += "`mobile` varchar(50) DEFAULT NULL,"
sql_string += "`ssn` varchar(50) DEFAULT NULL,"
sql_string += "`sex` int DEFAULT NULL,"
sql_string += "`email` varchar(50) DEFAULT NULL,"
sql_string += "`job` varchar(50) DEFAULT NULL,"
sql_string += "`address` varchar(50) DEFAULT NULL,"
sql_string += "`actime_time` timestamp NULL DEFAULT NULL"
sql_string += ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;"
execute_sql(sql_string)
@repeat(every(20).seconds)
def insert_data():
print("insert_data ....")
@repeat(every(5).seconds)
def dalete_data():
print("dalete_data....")
@repeat(every(6).seconds)
def updata_data():
print("updata_data ....")
if __name__ == '__main__':
while True:
run_pending()