一、SQLite的概念
SQLite是一款轻量级的嵌入式关系型数据库,它没有独立的数据库服务器进程,所以无需像MySQL一样配置端口、连接数据库等操作,使用起来非常方便。
SQLite的优点在于它的易用性、速度和可靠性,可以支持大多数 SQL 查询语句,具有许多普通数据库的优点和功能。
如果您需要一个小型数据存储解决方案,则SQLite是理想的选择。
二、Python中的SQLite
在Python中,我们可以使用sqlite3模块来操作SQLite数据库。在Python 2.5及以后版本中sqlite3模块已经成为标准库的一部分。
在使用sqlite3模块之前,需要先使用(import sqlite3)导入模块,然后再使用connect()方法来连接到指定的数据库:
import sqlite3
conn = sqlite3.connect('test.db')
上面代码中,使用sqlite3模块中的connect方法连接到test.db数据库。
三、SQLite数据库基本操作
1. 创建表
创建SQLite数据库的表需要使用SQL语句,可以通过执行execute()方法实现。下面是一个创建用户表的示例:
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
sql = '''create table user (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(20) NOT NULL,
age INTEGER NOT NULL,
gender VARCHAR(4) NOT NULL)'''
cursor.execute(sql)
cursor.close()
conn.close()
2. 插入数据
插入数据需要使用执行SQL语句,使用SQLite的命名参数方式。下面是一个向用户表中插入一条数据的示例:
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
sql = '''insert into user (name, age, gender)
values (:name, :age, :gender)'''
cursor.execute(sql, {'name': 'Tom', 'age': 25, 'gender': 'Male'})
cursor.close()
conn.commit()
conn.close()
3. 查询数据
查询SQLite数据库的数据需要使用SQL语句,使用execute()方法执行查询语句。
查询结果可以使用fetchone()方法获取一条数据,使用fetchall()方法获取所有数据。
下面是一个查询用户表中所有数据的示例:
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
sql = '''select * from user'''
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print(row)
cursor.close()
conn.close()
4. 更新数据
更新SQLite数据库的数据需要使用SQL语句,使用execute()方法执行更新语句。
下面是一个更新用户表中数据的示例:
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
sql = '''UPDATE user SET age = ? WHERE name = ?'''
cursor.execute(sql, (30, 'Tom'))
cursor.close()
conn.commit()
conn.close()
5. 删除数据
删除SQLite数据库的数据需要使用SQL语句,使用execute()方法执行删除语句。
下面是一个删除用户表中数据的示例:
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
sql = '''DELETE FROM user WHERE name = ?'''
cursor.execute(sql, ('Tom',))
cursor.close()
conn.commit()
conn.close()
四、SQLite数据类型
SQLite中有五个基本的数据类型:
- NULL:空值
- INTEGER:整型
- REAL:浮点型
- TEXT:文本类型
- BLOB:二进制类型
五、总结
通过本文的介绍,我们可以了解到SQLite数据库的基本概念、Python中使用SQLite的方法及其常用的操作。
在实际项目中,SQLite可以作为小型数据存储解决方案,也可作为开发阶段的测试用数据库。