脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python内置数据库:轻量级SQLite

Python内置数据库:轻量级SQLite

2023-11-24 14:33python学习之旅 Python

本篇文章将介绍Python内置数据库SQLite的特点、用法和一些实用技巧,帮助读者更好地利用它来构建全面的应用程序。

Python是一种流行的编程语言,可以用于开发各种应用程序,从图形用户界面到网站和游戏。Python的一个特点是,它内置了一个轻量级的关系型数据库SQLite,它可以提供快速、简单的数据存储和检索。本篇博客将介绍Python内置数据库SQLite的特点、用法和一些实用技巧,帮助读者更好地利用它来构建全面的应用程序。

Python内置数据库:轻量级SQLite

1. 初识SQLite

SQLite是一个轻量级的数据库,它不需要单独的服务器进程,可以直接嵌入到Python程序中。Python内置了对SQLite的支持,内置库不需要安装,我们可以通过SQLite3模块来使用SQLite数据库。

SQLite数据库使用的.db文件是一种数据库文件,属于二进制文件类型。它是由SQLite引擎创建和管理的,用于存储和管理数据。SQLite数据库文件包含了表格、行和列等结构化数据,并提供了对这些数据的读取、写入和查询等功能。

SQLite数据库文件的特点如下:

  • 单个文件:SQLite数据库通常由单个.db文件组成,包含了所有的表格和数据,没有额外的配置文件或目录。
  • 压缩格式:SQLite数据库文件使用了一种专有的压缩格式,可以有效地压缩和存储大量的数据。
  • 跨平台可移植性:SQLite数据库文件可以在不同的操作系统上进行共享和使用,包括Windows、Linux、Mac等。
  • 零配置:创建和使用SQLite数据库文件通常不需要进行任何额外的配置或服务器设置,只需使用合适的库或工具即可。

由于SQLite数据库文件是二进制格式,并且具有一定的文件结构和格式,所以通常需要使用专门的SQLite数据库引擎或相关的工具才能正确地读取、写入和操作这些文件。

2.牛刀小试

import sqlite3

# 连接到数据库
conn = sqlite3.connect('example.db')

# 创建一个游标对象
cursor = conn.cursor()

# 执行一个查询
cursor.execute('SELECT SQLITE_VERSION()')

# 打印查询结果
data = cursor.fetchone()
print("SQLite version:", data)
# SQLite version: ('3.40.1',)

# 关闭连接
conn.close()

3. Sqlite的增删改查

以下是一个简单的SQLite使用示例:

import sqlite3

# 连接到数据库
conn = sqlite3.connect('user.db')

# 创建一个游标对象
cursor = conn.cursor()

# 创建表格
# 创建一个名为students的表,包含id、name和age三个字段
cursor.execute('''CREATE TABLE students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# cursor.execute('''CREATE TABLE stocks
#                   (date text, trans text, symbol text, qty real, price real)''')

# 插入数据
# 向students表中插入一条数据
cursor.execute("INSERT INTO students (name, age) VALUES ('张三', 20)")
# cursor.execute("INSERT INTO stocks VALUES ('2022-10-28', 'BUY', 'GOOG', 100, 490.1)")

# 保存更改
conn.commit()

# 关闭连接
conn.close()

在上述例子中,我们新建了一张表,并且插入了一条数据,但是我们一般是打不开这个文件的,需要借助插件来查看数据文件;这个时候需要安装一个插件:

SQLite3 Editor

如下所示:

Python内置数据库:轻量级SQLite

然后就可以预览刚才数据的操作:

Python内置数据库:轻量级SQLite

建表完成之后就可以进行数据的增删改查。

(1) 查询数据

import sqlite3

# 连接到数据库
conn = sqlite3.connect('user.db')

# 创建一个游标对象
cursor = conn.cursor()

# 查询users表中的所有数据
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()

# 打印查询结果
for row in rows:
    print(row)

# 关闭连接
conn.close()
# (1, '张三', 20)

(2) 更新数据

import sqlite3

# 连接到数据库
conn = sqlite3.connect('user.db')

# 创建一个游标对象
cursor = conn.cursor()


# 更新users表中id为1的数据的name字段为'李四'
cursor.execute("UPDATE students SET name=? WHERE id=?", ('李四', 1))

# 查询users表中的所有数据
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()

# 打印查询结果
for row in rows:
    print(row)

# 关闭连接
conn.close()
# (1, '李四', 20)

(3) 删除数据

import sqlite3

# 连接到数据库
conn = sqlite3.connect('example.db')

# 创建一个游标对象
cursor = conn.cursor()

# 删除users表中id为1的数据
cursor.execute("DELETE FROM students WHERE id=?", (1,))

# 提交更改并关闭连接
conn.commit()
conn.close()

(4) 提交事务

conn.commit()

(5) 关闭游标和连接

cursor.close()
conn.close()

总结

Python内置的SQLite数据库具有自包含、跨平台、无服务器和易于使用的特点,可以帮助开发人员快速创建和维护小型数据库应用。此外,Python语言自身也提供了丰富的模块和库,可以与SQLite无缝协作,非常方便。在此基础上,我们可以尝试更高级的数据库技术,如ORM(对象关系映射)、数据库迁移和分布式系统构建等。相信有了这篇博客的帮助,您对Python内置的SQLite会有更深入的了解并深受裨益。

原文地址:https://mp.weixin.qq.com/s?__biz=Mzg4NzY0MDEyNg==&mid=2247484914&idx=1&sn=47dcebb1bf8206bb72aa68eb644f556a

延伸 · 阅读

精彩推荐
  • Pythonpygame游戏之旅 创建游戏窗口界面

    pygame游戏之旅 创建游戏窗口界面

    这篇文章主要为大家详细介绍了pygame游戏之旅,教大家如何创建游戏窗口界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    观月执白10042021-04-21
  • PythonPython开发最牛逼的IDE——pycharm

    Python开发最牛逼的IDE——pycharm

    这篇文章给大家介绍了Python开发最牛逼的IDE——pycharm,主要是介绍python IDE pycharm的安装与使用教程,非常不错,具有一定的参考借鉴价值,需要的朋友参考...

    最美小码农11402021-03-25
  • PythonPython 时间操作time详情

    Python 时间操作time详情

    这篇文章主要介绍了 Python 时间操作time详情,在Python高级语言中,内置库提供了time和datetime模块进行对时间日期的处理。本文,我们将进行对Time模块相关的...

    盆友圈的小可爱6302022-03-10
  • PythonPython错误: SyntaxError: Non-ASCII character解决办法

    Python错误: SyntaxError: Non-ASCII character解决办法

    这篇文章主要介绍了Python错误: SyntaxError: Non-ASCII character解决办法的相关资料,需要的朋友可以参考下...

    cscmaker3182020-11-15
  • PythonPython中的变量和数据类型详情

    Python中的变量和数据类型详情

    这篇文章主要介绍了Python中的变量和数据类型详情,变量不需要声明即可使用,向变量赋值即定义变量,python中的数据类型包括数值类型、列表、元组等内...

    柳星科技8642022-10-19
  • PythonDjango 生成登陆验证码代码分享

    Django 生成登陆验证码代码分享

    这篇文章主要介绍了Django 生成登陆验证码代码分享,具有一定参考价值,需要的朋友可以了解下。...

    vastli5562020-12-24
  • Pythondjango restframework使用redis实现token认证

    django restframework使用redis实现token认证

    本文主要介绍了django restframework使用redis实现token认证,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    曲鸟9352022-01-10
  • Pythonpython numpy实现文件存取的示例代码

    python numpy实现文件存取的示例代码

    这篇文章主要介绍了python numpy实现文件存取的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    奋斗的珞珞10882021-06-29