sqlite 简单实现
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2020/4/14 11:54
# @File : sqlite.py
# @Author : BenLam
# @Link : https://www.cnblogs.com/BenLam/
# @Version : PyCharm
import sqlite3, time
db_pwd="C:\data"
connect = sqlite3.connect(db_pwd)
cursor = connect.cursor()
try:
sql = '''
create table test(
[id] integer PRIMARY KEY autoincrement,
[uname] varchar(100),
[title] NONE,
[timestamp] DATETIME(50),
[url] NONE
);
'''
cursor.execute(sql)
except Exception as e:
if e == "table test already exists":
pass
text = [1,2,3]
text.append(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
sql = '''insert into test (uname, title, timestamp, url) VALUES (?,?,?,?)'''
cursor.execute(sql,text)
connect.commit()
sql = '''select * from test'''
for _ in cursor.execute(sql):
print(_)
connect.close()
打印结果
<sqlite3.Cursor object at 0x00000000022D1E30>
(1, '1', 2, 3, '2020-04-14 17:49:38')
类方法实现 sqlite
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2020/4/15 11:54
# @File : sqlite.py
# @Author : BenLam
# @Link : https://www.cnblogs.com/BenLam/
# @Version : PyCharm
import sqlite3, time
class sqlite(object):
"""
sqlite3 缓存
"""
def __init__(self):
print(" 首次连数据库 ".center(59, "-"))
self.connect(data_path="C:\data")
def __del__(self):
self.cursor.close()
self.connect.close()
print(" 关闭数据库 ".center(59, "-"))
def connect(self, data_path):
self.connect = sqlite3.connect(data_path)
self.cursor = self.connect.cursor()
def create(self, table):
try:
sql = '''
create table {}(
[id] integer PRIMARY KEY autoincrement,
[uname] varchar(100),
[title] NONE,
[timestamp] DATETIME(50),
[url] NONE
);
'''.format(table)
self.cursor.execute(sql)
except Exception as e:
if "already exists" in str(e):
return True
else:
print(f"创建数据表出错 - {e}")
return False
self.connect.commit()
def insert(self, sql, data):
# 多条数据插入
# self.cursor.executemany(sql, data)
self.cursor.execute(sql, data)
self.connect.commit()
def select(self, sql):
for _ in self.cursor.execute(sql):
print(_)
test = sqlite()
table = "bili"
select_sql = f'''select * from {table} where id = "1"'''
insert_sql = f'''insert into {table} (uname, title, timestamp, url) VALUES (?,?,?,?)'''
lis = [1, 1, time.strftime("%Y-%m-%d %H%M%S",time.localtime()), "https://www.cnblogs.com"]
test.create(table)
test.select(select_sql)
test.insert(insert_sql, lis)
打印结果
-------------------------- 首次连数据库 -------------------------
(1, '名字', '标题', '2020-04-14 16:53:31', 'https://www.cnblogs.com')
-------------------------- 关闭数据库 --------------------------
[Finished in 0.7s]