Python脚本集成SQLite3数据库

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

文章目录

一、Sqlite3数据库的基本使用

1.数据库是什么

借用百科上的话数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 人话来说就是很多个数据存储在一个文件里

2.数据库分类

  • 非关系型数据库例如以键值对存储且结构不固定每一个元组可以有不一样的字段每个元组可以根据需要增加一些自己的键值对 这样就不会局限于固定的结构可以减少一些时间和空间的开销。例如主流非关系型数据库有mongodb、cassandra、redis、hbase、neo4j

  • 关系型数据库存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似关系型数据库中表与表之间是有很多复杂的关联关系的。 人话来说就是像表格一样每个表和数据都有关系例如MySQL还有本教程教的sqlite。以及其余主流关系型数据库Oracle 、DB2、 MySQL 、 Microsoft SQL Server 、 Microsoft Access、PostgreSQL

举个栗子比如我向非关系型数据库存储了一个对象他的字段分别为namegrade并给了他一个对象a这时我又存储进了一个对象b有old这个字段这时 数据库里就有了ab两个对象来分别访问。

请添加图片描述

而在关系型数据库中首先我们需要创建一张表表就是多个相同对象的集合创建一个表a分别有nameold两个字段而想要向表a存储对象需要实例化所 有表a所有的字段才能存储。

请添加图片描述

二、正式开始使用SQLite3Python

1.基础sql命令

以下几句SQL命令在关系型数据库中基本通用

  • insert语句向一个表中添加行格式insert into TABLE values (VALUE1,VALUE2,VALUE3,…VALUEN); (如果表中有这个主键会报错哦下面会教条件语句来防止)

  • select语句在控制台中输出这个表中的所有行以及他的字段格式select * from TABLE_NAME;

  • drop语句删除表的一个语句格式drop table TABLE_NAME;

  • create语句创建表的语句格式create table TABLE_NAME(TYPE_1 NAME_1,TYPE 2 NAME_2…);

  • where语句寻找一个表中符合条件的一项例如我们要找一个主键ID为3的可以这么写select * from TABLE_NAME where ID=3; (注意sqlite中的等于是一个等于号)

  • delete语句删除表中的一项这时就可以用到where语句了例如找到ID为3之后我们要删除它可以这么写delete from TABLE_NAME where ID-3;

在SQLite3中我们不用熟悉过于复杂的查询语句一般会使用简单查询、数据插入、数据删除、数据更新即可因为SQLite3存储的数据量有限。

2.Python连接SQLite3

①查询

以下一段代码是操作SQLite3数据库的一段代码作用体现在了sql语句中。
select stoken,PHPSESSID,QQ from healthydaily where status=1
查询status=1的所有用户的 stoken,PHPSESSID,QQ并以列表的形式返回出去。

import sqlite3

def get_cookies():
    # 如果文件不存在会在当前目录创建:dayReport.db就是你的数据库名
    conn = sqlite3.connect('dayReport.db')
    # 创建一个Cursor:
    cursor = conn.cursor()
    # 保活请求, status 为 1
    sql = "select stoken,PHPSESSID,QQ from healthydaily where status=1"
    # 继续执行一条SQL语句插入一条记录:
    cursor.execute(sql)
    date_list = cursor.fetchall()
    # 关闭Cursor:
    cursor.close()
    # 提交事务:
    conn.commit()
    # 关闭Connection:
    conn.close()
    # 返回 查询到的 信息
    return date_list

②增加

""" 本函数的作用是通过sqlite3将用户cookie信息于qq号存储起来"""
def saveCookies(Cookies, QQ):
    """ Cookies 为字典可为 Qrcheck 的范围值"""
    # 如果文件不存在会在当前目录创建:
    conn = sqlite3.connect('dayReport.db')
    # 创建一个Cursor:
    cursor = conn.cursor()
    # 执行插入操作
    sql = 'insert into healthydaily values( "{}", 0, "{}","{}", 0);'.format(QQ,Cookies["stoken"],Cookies["PHPSESSID"])
    cursor.execute(sql)
    # 关闭Cursor:
    cursor.close()
    # 提交事务:
    conn.commit()
    # 关闭Connection:
    conn.close()

③更新

""" 本函数的作用是通过sqlite3将用户cookie信息于qq号存储起来"""
def updateCookies(Cookies, QQ):
    """ Cookies 为字典可为 Qrcheck 的范围值"""
    # 如果文件不存在会在当前目录创建:
    conn = sqlite3.connect('dayReport.db')
    # 创建一个Cursor:
    cursor = conn.cursor()
    # 执行插入操作
    pprint(Cookies)
    cursor.execute(f'''update healthydaily set stoken='{Cookies["stoken"]}',PHPSESSID='{Cookies["PHPSESSID"]}' where QQ='{QQ}';''')
    # 关闭Cursor:
    cursor.close()
    # 提交事务:
    conn.commit()
    # 关闭Connection:
    conn.close()

每一种操作基本上都一样主要的区别就是SQL语句的使用。相信到了这里大家也就明白了在Python中如何使用SQLite3。如果有疑问或者好的想法欢迎评论区留言或者私信博主。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python数据库