⭐震惊这福利还不知道!免安装几分钟速学Python内库Sqlite3⭐

简介: 学委之前写了一篇把 热榜生成html报告的,看起来是方便了。但是统计不太方便啊!好吧,我们搞个数据库把数据存起来,存多点后面分析。

那么,选择哪个数据库好呢?

MySQL?Oracle?PostgresSQL?云数据库?

好多选择啊,Python就内置了一个数据库福利,这里就是Sqlite(sqlite3内置库)啦。

image.png

安装sqlite3?不用!

sqlite3是python安装后的一个预装的模块,算是内置的数据库,直接导入就完啦。

下面直接看代码,保存为demo_db.py.

""" 
雷学委Demo代码
"""
import sqlite3
#创建数据库连接
xuewei_conn = sqlite3.connect("xuewei_jishu.db")
#新建游标
cur = xuewei_conn.cursor()
#下面的sql为创建数据库表tech_stack
sql = """
create table tech_stack(
id INT,
name TEXT
);
"""
cur.execute(sql)
cur.close()

代码加了注释了比较简单不多赘述,直接复制运行代码。

直接查看当前运行目录,发现多了一个xuewei_jishu.db

image.png

也可以用终端输入sqlite3 xuewei_jishu.db使用数据库,如下:


小白会问:内置数据库是不是可以缩写简记为内库啊?那么sqlite3 就是python的内库啊?


呵呵,学委并不想理会,同时想要扔几千行SQL过去。(开个玩笑,写SQL不要搞几千行这样很不厚道!害人害己啊!)


我们刚刚创建了数据库了, 并在数据库中创建了一个表tech_stack(小白还没有反应过来,这就搞定了?)。


我们在数据表中添加技术棧吧

保存下面代码为,demo_db_add.py


""" 
雷学委Demo代码
"""
import sqlite3
#创建数据库连接
xuewei_conn = sqlite3.connect("xuewei_jishu.db")
#新建游标
cur = xuewei_conn.cursor()
sql = """
insert into tech_stack 
(ID, name)
values
(1, "Java"),
(2, "Python"),
(3, "Node.JS"),
(4, "Scala");
"""
cur.execute(sql) #PS学委会的不止这些,这里只是展示一下,欢迎关注三连支持!
xuewei_conn.commit() #PS:commit必须记得
cur.close() #也记得close

运行代码,这个不会报错的。

查看数据库表格的内容

""" 
雷学委Demo代码
"""
import sqlite3
#创建数据库连接
xuewei_conn = sqlite3.connect("xuewei_jishu.db")
#新建游标
cur = xuewei_conn.cursor()
sql = """
select * from tech_stack;
"""
cur.execute(sql)
data = cur.fetchall()
print('query result; %s' % (data))
cur.close()

运行效果如下:

image.png

练手完毕,现在创建数据库blog,同时建一个表ranklist

image.png

学委特别定制之创建数据库和表格Python代码

""" 
雷学委Demo代码
"""
import sqlite3
#创建数据库连接
xuewei_conn = sqlite3.connect("blog.db")
#新建游标
cur = xuewei_conn.cursor()
sql = """
create table ranklist(
id VARCHAR(36) NOT NULL PRIMARY KEY,
title TEXT,
link TEXT,
author TEXT,
creation_time TIMESTAMP default (datetime('now','localtime'))
);
"""
cur.execute(sql)
cur.close()

学委特别定制之添加数据,查询展示

""" 
雷学委Demo代码
"""
import sqlite3
import uuid
#创建数据库连接
xuewei_conn = sqlite3.connect("blog.db")
#新建游标
cur = xuewei_conn.cursor()
fsql = """
insert into ranklist(id, title, link, author)
values
('%s', '%s', '%s', '%s');
"""
sql = fsql % (uuid.uuid1(), "❤️爬虫截长屏不方便阅读!推荐dominate直接生成报告❤️","https://blog.csdn.net/geeklevin/article/details/119657231", "雷学委")
print("sql %s" % sql)
cur.execute(sql)
xuewei_conn.commit() #LEIXUEWEI温馨提示:这里记得调用commit,否则插入语句执行无效果。
sql = "select * from ranklist; "
cur.execute(sql)
data = cur.fetchall()
print("[雷学委] 热榜文章: %s" % str(data))
cur.close()

效果如下图:

image.png

总结

我们以上完成了建库,建表,添加和查询数据几个步骤了。

Python提供的这个“内库”sqlite3是Sqlite数据库的操作接口,使用也很简单,就几分钟的事情。

比较简单,刚刚好适用来进行热榜分析了。

目录
相关文章
|
27天前
|
XML JSON 数据库
Python的标准库
Python的标准库
166 77
|
2月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
103 4
数据分析的 10 个最佳 Python 库
|
29天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
198 15
|
28天前
|
XML JSON 数据库
Python的标准库
Python的标准库
48 11
|
2月前
|
人工智能 API 开发工具
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
吴恩达发布的开源Python库aisuite,提供了一个统一的接口来调用多个大型语言模型(LLM)服务。支持包括OpenAI、Anthropic、Azure等在内的11个模型平台,简化了多模型管理和测试的工作,促进了人工智能技术的应用和发展。
137 1
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
|
2月前
|
XML 存储 数据库
Python中的xmltodict库
xmltodict是Python中用于处理XML数据的强大库,可将XML数据与Python字典相互转换,适用于Web服务、配置文件读取及数据转换等场景。通过`parse`和`unparse`函数,轻松实现XML与字典间的转换,支持复杂结构和属性处理,并能有效管理错误。此外,还提供了实战案例,展示如何从XML配置文件中读取数据库连接信息并使用。
Python中的xmltodict库
|
28天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
66 8
|
2月前
|
存储 人工智能 搜索推荐
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
Memoripy 是一个 Python 库,用于管理 AI 应用中的上下文感知记忆,支持短期和长期存储,兼容 OpenAI 和 Ollama API。
103 6
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
|
1月前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
36 4
|
2月前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践