import pymysql import pandas as pd conn = pymysql.connect(user="root", password="123123", database="tree", host="127.0.0.1", port=3306) class DbUtil(): @staticmethod def insert_to_fractal(name, e_name, basic_pattern, function_code, vars): sql = """ insert into fractal(name, e_name, basic_pattern, function_code, vars) values (%s, %s, %s, %s, %s) """ cursor = conn.cursor() cursor.execute(sql, (name, e_name, basic_pattern, function_code, vars)) conn.commit() id = cursor.lastrowid return id @staticmethod def update_to_fractal(fractal_id, name, e_name, basic_pattern, function_code, vars): sql = """ update fractal set name=%s, e_name=%s, basic_pattern=%s, function_code=%s, vars=%s where id=%s """ cursor = conn.cursor() cursor.execute(sql, (name, e_name, basic_pattern, function_code, vars, fractal_id)) conn.commit() @staticmethod def insert_to_var(name, value, comment, fractal_id): sql = f"insert into fractal_var values ('{name}', '{value}', '{comment}', {fractal_id})" cursor = conn.cursor() cursor.execute(sql) conn.commit() @staticmethod def delete_fractal(id): conn.cursor().execute(f"delete from fractal_var where fractal_id={id}") conn.commit() conn.cursor().execute(f"delete from fractal where id={id}") conn.commit() @staticmethod def execute(sql): return pd.read_sql(sql, con=conn) @staticmethod def update(sql): conn.cursor().execute(sql) conn.commit() @staticmethod def query_fractal_by_id(id): return pd.read_sql("select * from fractal where id={}".format(id), con=conn) @staticmethod def query_fractal_var_by_id(id): return pd.read_sql("select * from fractal_var where fractal_id={}".format(id), con=conn)