sqlite3 資料同步

2021-09-27 09:12:14 字數 2028 閱讀 9953

在乙個小專案中,用到 sqlite3 , 需要同步兩個表,懶得裝工具, 寫了兩個函式搞掂。貼**出來給需要的朋友。

# encoding: utf-8

"""@author: 陳年椰子

@contact: [email protected]

@version: 1.0

@file: workdb.py

@time: 2019/6/18 17:32

說明"""

import sqlite3

# 本地資料庫

class workdb:

def __init__(self, work_db):

self.db = work_db

def connect(self):

return sqlite3.connect(self.db)

def run_sql(self, sql):

conn = self.connect()

cursor = conn.cursor()

ret = cursor.execute(sql)

cursor.close()

conn.commit()

conn.close()

return ret

def insert_sql(self, sql, data):

conn = self.connect()

cursor = conn.cursor()

cursor.execute(sql, data)

cursor.close()

conn.commit()

conn.close()

def exp_market_info(self, data_file):

sql = ''' select makert_key,pd_name,makert_time from market_info '''

data = self.get_sql(sql)

f_e = open(data_file, 'w', encoding='utf-8')

for d in data:

f_e.write("{}\n".format(repr(d)))

f_e.close()

return len(data)

def imp__market_info(self, data_file):

f_e = open(data_file, 'r', encoding='utf-8')

f_data = f_e.readlines()

for d in f_data:

str_info = d.strip()

str_info = str_info[str_info.find('(')+1:str_info.find(')')]

info = tuple(eval("[{}]".format(str_info)))

sql = '''replace into market_info

(makert_key,pd_name,makert_time)

values (?, ?, ?)

'''self.insert_sql(sql, info)

f_e.close()

return len(f_data)

呼叫方法

# 匯出到檔案

import workdb

db1 = workdb.workdb("market.db")

data_rec = db1.exp_market_info('market_info_0923.data')

print('匯出{}條。'.format(data_rec))

# 從檔案匯入

import workdb

db1 = workdb.workdb("market.db")

data_rec = db1.imp__market_info('market_info_0923.data')

print('更新{}條。'.format(data_rec))

使用sqlite3 模組操作sqlite3資料庫

python內建了sqlite3模組,可以操作流行的嵌入式資料庫sqlite3。如果看了我前面的使用 pymysql 操作mysql資料庫這篇文章就更簡單了。因為它們都遵循pep 249,所以操作方法幾乎相同。廢話就不多說了,直接看 吧。都差不多,首先匯入模組,然後建立連線,然後獲取游標物件,之後利...

Sqlite3 資料庫使用

iphone本身是支援 sqlite3 資料庫的,在專案中匯入libsqlite3.dylib。並建立資料庫,在終端,建立資料庫的方式 mkdir sql 建立sql資料夾 cd sql 進入sql目錄下 sqlite3 student.sql 建立名為 student.sql的資料庫 建立表 插入...

sqlite3資料庫操作

1 開啟資料庫 1 需要制定資料庫的路徑 nsstring filepath nshomedirectory documents data.sqlite 2 建立資料庫的物件 sqlite3 qingyundb null 3 開啟命令 sqlite3 open dbfilepath utf8stri...