1.安装
参考菜鸟教程👇
https://www.runoob.com/sqlite/sqlite-installation.html
2.建库
打开cmd输入命令
# 创建spiders.db数据库
sqlite3 spiders.db
# 输入上面的命令会进入sqlite界面
# 查看已创建的数据库,这条命令可以告诉你数据库建到哪去了,方便你去copy它
.databases
# 退出sqlite界面
.quit
3.连接使用
你可以先用navicat连上这个库把表建好(navicat连sqlite特别简单就不写出来了),然后用python操作sqlite增删改查,具体方法如下👇
import json
import sqlite3
import numpy as np
class SqliteOp(object):
def __init__(self, db_path='./database/mysqlite.db'):
print(f"db_path: {db_path}")
self.db_path = db_path
# conn = sqlite3.connect('./test.db')
def operate(self, sql):
db = sqlite3.connect(self.db_path)
cur = db.cursor()
try:
# 执行sql语句
cur.execute(sql)
cur.close()
# 提交到数据库执行
db.commit()
except Exception as e:
print(e)
cur.close()
# Rollback in case there is any error
db.rollback()
# 关闭数据库连接
db.close()
def select(self, sql):
db = sqlite3.connect(self.db_path)
cur = db.cursor()
results = None
try:
# 执行sql语句
cur.execute(sql)
# 获取所有记录列表
results = cur.fetchall()
print(results)
except Exception as e:
print(e)
# 关闭数据库连接
db.close()
return results
@classmethod
def escape_str(cls, text):
'''
string类型数据导入时有可能出现单双引号等需要转义的字段,也可能出现nan这样的字段,需要先处理一下
:return:
'''
if cls.isNaNo(text):
return 'null'
else:
return json.dumps(str(text), ensure_ascii=False)
@classmethod
def isNaNo(cls, sth):
'''
NaN、None或者空字符串返回True,其他情况返回False
'''
if not sth:
return True
if isinstance(sth, float):
if np.isnan(sth):
return True
return False
if __name__ == '__main__':
# 使用之前先建张表,可以用cmd、navicat或者直接sqlt.operate创建也行,我是用navicat建的表
sqlt = SqliteOp()
str_field = "好耶"
int_field = 2
sqlt.select(f'''
insert into 表名 (字符串字段1, 整数字段2) values ({SqliteOp.escape_str(str_field)}, {int_field})
''')