importmysql.connector
importlogging
fromcontextlibimportclosing
classMySQLUtil:
"""
MySQL 操作用クラス
"""
def__init__(self,host="localhost",port="3306",user="USER01",password="USER01",database="DB01"):
self.config={
"host":host,
"port":port,
"user":user,
"password":password,
"database":database
}
self.create_db()
defcreate_db(self):
"""
データベース、及び必要なテーブルを作成します.
:return:
"""
logging.info("create database")
withclosing(mysql.connector.connect(**self.config))asconn:
c=conn.cursor()
# ティッカーテーブル
sql="CREATE TABLE IF NOT EXISTS TBL_TICKER ("
sql+=" PRODUCT_CODE VARCHAR(20)"
sql+=", TIME_STAMP DATETIME"
sql+=", TICK_ID VARCHAR(10)"
sql+=", BEST_BID VARCHAR(20)"
sql+=", BEST_ASK VARCHAR(20)"
sql+=", BEST_BID_SIZE VARCHAR(20)"
sql+=", BEST_ASK_SIZE VARCHAR(20)"
sql+=", TOTAL_BID_DEPTH VARCHAR(20)"
sql+=", TOTAL_ASK_DEPTH VARCHAR(20)"
sql+=", LTP VARCHAR(20)"
sql+=", VOLUME VARCHAR(20)"
sql+=", VOLUME_BY_PRODUCT VARCHAR(20)"
sql+=", PRIMARY KEY (TICK_ID)"
sql+=")"
c.execute(sql)
c.close()
conn.commit()
defdelete_data(self):
"""
データを削除します
:return:
"""
logging.info("delete_data")
withclosing(mysql.connector.connect(**self.config))asconn:
c=conn.cursor()
# データクリア
sql="DELETE FROM TBL_TICKER"
c.execute(sql)
c.close()
conn.commit()
definsert_data(self,ticker):
"""
データを登録します
:param ticker:
:return:
"""
withclosing(mysql.connector.connect(**self.config))asconn:
c=conn.cursor()
# データ登録
sql="INSERT INTO TBL_TICKER VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
c.execute(sql,ticker)
c.close()
conn.commit()
ディスカッション
コメント一覧
まだ、コメントがありません