logo头像

猪老大要进步!

Python数据库

本文于 1172 天之前发表,文中内容可能已经过时。

很多时候我们希望使用数据库,而不是把数据写在文件里面。本篇文章讨论如何在Python中调用数据库。

数据存储的三种方法:

方法 优点 缺点
把数据存储到内存中 使用方便 程序关闭的时候,内存被释放,数据随之消失
把数据写入到文件中 数据是永久性的,不易丢失 需要经常打开关闭文件,操作比较麻烦
把数据存储到数据库中 永久存储,操作方便 学习难度较大

数据库按照规模大小分为四种:

类别 举例
大型数据库 oracle
中型数据库 Sqlserver
小型数据库 mySQL
微型数据库 sqlite

本文调用的是Python自带的sqlite数据库。

1、调用库

1
import sqlite3 # 导入sqlit3库

2、创建数据库和表

1
2
3
4
5
6
7
8
9
#  连接到一个数据库名为 data_base_name 的数据库,如果存在则直接连接,如果不存在则创建
data_base=sqlite3.connect('data_base_name')
# 设置数据库光标,你之后所有对数据库进行的操作都是通过光标来执行的
cursor=data_base.cursor()
# 创建一个表名为 table_name 的数据库表,如果这个表不存在的话
# 后面括号里面的内容为这个表的属性,属性与属性之间用 , 隔开,属性名与属性类型之间用 空格 隔开,如果不写类型的话,默认 为text类型
cursor.execute('create table if not exists table_name(name text,age int,info text)')
# 数据库的提交,对数据进行增删改后都需要进行数据库的提交
data_base.commit()

3、查询符合条件的数据

1
2
3
cursor.execute('select * from table_name')
result=cursor.fetchall()
print(result)

4、增加数据

1
2
cursor.execute('insert into table_name (name,age,info) VALUES ("python",29,"最接近人工智能的计算机语言")')
data_base.commit()

5、删除数据

1
2
cursor.execute('DELETE FROM table_name WHERE name="C++"')
data_base.commit()

6、修改数据

1
2
3
cursor.execute('update table_name set name="C++",age=33 WHERE name="python"')
cursor.execute('update table_name set name="C++",age=33 WHERE age=29')
data_base.commit()

参考文献:

1、Python3之数据库(以SQLite为例):https://blog.csdn.net/qq_41646358/article/details/81279548

2、Github代码:https://github.com/Cytor/bilibili/blob/master/python/database.ipynb

支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励