python 与SQLite

SQLite是一个关系型数据库管理系统(RDBMS),而不是非关系型数据库。它是一个轻量级的数据库,设计用于嵌入到应用程序中,而不是作为一个独立的服务器运行。

SQLite的特点包括:

  • 体积小:它只有一个单一的exe文件,非常适合嵌入到其他应用程序中。
  • 零配置:不需要单独的服务器进程或配置文件。
  • 跨平台:支持多种操作系统,包括Windows、macOS、Linux等。
  • 完全遵守SQL标准:支持标准的SQL查询语言。
  • 支持事务:具有ACID(原子性、一致性、隔离性、持久性)特性。

SQLite的工作机制中,B-tree和Page cache共同对数据进行管理。

  • B-tree

    • SQLite使用B-tree作为其索引结构,用于快速地检索数据。B-tree是一种平衡树结构,可以有效地处理大量的数据,并支持快速的插入、删除和查询操作。
    • B-tree中的每个节点包含多个键值对,这些键值对被组织成有序的列表,以便于快速搜索。
  • Page cache

    • SQLite使用Page cache来缓存磁盘上的数据页。当数据库需要读取数据时,它首先从Page cache中查找,如果数据不在Page cache中,SQLite会从磁盘读取数据页并将其缓存到Page cache中。
    • Page cache提高了数据的读取速度,因为它减少了磁盘I/O操作。

在Python中,sqlite3 库是Python标准库的一部分,不需要通过pip安装

Connection对象是SQLite3提供的主要连接对象,它代表了一个与SQLite数据库的连接。一旦创建了Connection对象,就可以通过它来创建一个或多个Cursor对象。

connect()函数用于建立与SQLite数据库的连接。如果指定的数据库文件存在,它会返回一个Connection对象,允许你执行SQL语句和操作数据库。如果指定的数据库文件不存在,connect()函数会创建一个新数据库文件,并返回一个Connection对象。

python与sqlite3使用例子

import sqlite3

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

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

# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS contacts
                  (id INTEGER PRIMARY KEY, name TEXT, phone TEXT)''')

# 插入一些数据
cursor.execute('INSERT INTO contacts VALUES (?, ?, ?)', (1, 'Alice', '123-4567'))

#更新数据

cursor.execute('UPDATE test_table SET salary=6800 WHERE id=5')

#删除数据

cursor.execute('DELETE FROM test_table WHERE id=5')

# 提交事务
conn.commit()

# 关闭连接
conn.close()
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值