⭐震惊这福利还不知道!免安装几分钟速学Python内库Sqlite3⭐
Posted 雷学委
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了⭐震惊这福利还不知道!免安装几分钟速学Python内库Sqlite3⭐相关的知识,希望对你有一定的参考价值。
学委之前写了一篇把 热榜生成html报告的,看起来是方便了。
但是统计不太方便啊!好吧,我们搞个数据库把数据存起来,存多点后面分析。
那么,选择哪个数据库好呢?
mysql?Oracle?PostgresSQL?云数据库?
好多选择啊,Python就内置了一个数据库福利,这里就是Sqlite(sqlite3内置库)啦。
安装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
也可以用终端输入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()
运行效果如下:
练手完毕,现在创建数据库blog,同时建一个表ranklist
列 | 类型 | 示例值 |
---|---|---|
id | row_id 字符串类型 | 09467de8-ff76-11eb-8c11-7831c1c54756 |
title | 字符串类型 | ❤️爬虫截长屏不方便阅读!推荐dominate直接生成报告❤️ |
link | 字符串类型 | https://blog.csdn.net/geeklevin/article/details/119657231 |
author | 字符串类型 | 雷学委 |
creation_time | TIMESTAMP | 2021-08-18 00:13:19 |
学委特别定制之创建数据库和表格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()
效果如下图:
总结
我们以上完成了建库,建表,添加和查询数据几个步骤了。
Python提供的这个“内库”sqlite3是Sqlite数据库的操作接口,使用也很简单,就几分钟的事情。
比较简单,刚刚好适用来进行热榜分析了。
对了,学委还有这个可以关注长期阅读 =>雷学委趣味编程故事汇编
或者=> 雷学委NodeJS系列
这次先把热榜文章表建好,下一篇,学委准备把热榜放到Sqlite里面,后面进行分析。
持续学习持续开发,我是雷学委!
编程很有趣,关键是把技术搞透彻讲明白。
创作不易,请多多支持,点赞收藏支持学委吧!
以上是关于⭐震惊这福利还不知道!免安装几分钟速学Python内库Sqlite3⭐的主要内容,如果未能解决你的问题,请参考以下文章