def save_market_data(self, data: list): sql = '' for item in data: sql = 'INSERT INTO neb_market_value (`date`, `opening`, `closing`, `highest`, `lowest`, `amount`, `total_circulation`, `total`) ' \ 'VALUES (%s, %s, %s, %s, %s, \'%s\', \'%s\', \'%s\');' % \ (str(item['date']), str(item['opening']), str(item['closing']), str(item['highest']), str(item['lowest']), str(item['amount']), str(item['total_circulation']), str(item['total'])) execute(sql)
def set(cls, key, value): value = JsonUtil.serialize(value) with cls._lock: if cls._has_key(key): sql = 'UPDATE state SET `value` = \'%s\' WHERE `key` = \'%s\';' % ( value, key) else: sql = 'INSERT INTO state (`key`, `value`) VALUES (\'%s\', \'%s\');' % ( key, value) with DBLock: execute(sql) commit()
def _update_address_table(self, db_table, nr_data: list): addresses = self._addresses_from_db(db_table) n = 0 sql = '' for nr in nr_data: sql += self._add_to_address(db_table, addresses, nr) n += 1 if n >= 1000: execute(sql) n = 0 sql = '' if n > 0: execute(sql)
def _save_date_data(self, db_table: str, date: int, nr_data: list): count = len(nr_data) s = self.serialize_nr_data(nr_data) loc = 0 first = True while True: c = 1024 * 1024 * 1 if c > len(s) - loc: c = len(s) - loc if c <= 0: break t = s[loc: loc + c] loc = loc + c h = ''.join(['%02x' % b for b in t]) if first: sql = 'INSERT INTO %s (`date`, `data`, `count`) VALUES (\'%s\', X\'%s\', \'%s\');' % \ (db_table, str(date), h, str(count)) first = False else: sql = 'UPDATE %s SET `data` = concat(`data`, X\'%s\') WHERE `date`=\'%s\';' \ % (db_table, h, str(date)) execute(sql)
def _save_total_nr(self, total_table, nr_data): sql = 'INSERT INTO %s (`date`, `nr_value`) VALUES (%s, \'%s\')' % \ (total_table, str(self.get_current_sync_date()), self.total_nr(nr_data)) execute(sql)
from common import db from sql import tables for table in tables: print('创建表%s' % table) db.execute(table)