您的位置:

Python SQLite介绍及使用

一、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可以作为小型数据存储解决方案,也可作为开发阶段的测试用数据库。