下面是Python练习之操作SQLite数据库的完整攻略:
1. SQLite数据库简介
SQLite是一款轻型的关系型数据库,可以支持SQL语言标准的绝大部分功能,并且相对于其他的关系型数据库,SQLite更加便携、灵活和易于学习。Python作为一款著名的解释型编程语言,自带了SQLite数据库库,可以直接在Python中操作SQLite数据库。
2. Python如何连接SQLite数据库
Python连接SQLite数据库的方式非常简单,我们可以使用Python标准库中的sqlite3模块。使用sqlite3模块连接SQLite数据库的步骤如下:
- 导入sqlite3模块:
import sqlite3
- 创建连接:
conn = sqlite3.connect('example.db')
- 创建游标:
cursor = conn.cursor()
其中,example.db
为需要连接的数据库文件名,如果该文件不存在,则会新建一个空的数据库文件。
3. Python如何操作SQLite数据库
Python连接了SQLite数据库后,我们就可以使用SQL语句来对数据库进行操作。SQLite支持大部分的SQL语句,如SELECT、INSERT、UPDATE、DELETE等。下面是一些示例操作:
示例1:创建表
在SQLite数据库中创建表非常简单,只需要使用CREATE TABLE语句即可,如下所示:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS user_info (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
)
''')
这个例子中,我们创建了一个名为user_info的表,表中包含id、name和age三个属性。其中,id是主键。
示例2:插入数据
我们可以使用INSERT INTO语句将数据插入表中,如下所示:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 插入一条记录
cursor.execute("INSERT INTO user_info (id, name, age) VALUES (1, 'Alice', 25)")
# 插入多条记录
values = [
(2, 'Bob', 23),
(3, 'Charlie', 20),
(4, 'David', 26),
]
cursor.executemany('INSERT INTO user_info (id, name, age) VALUES (?, ?, ?)', values)
上面的代码中,我们使用cursor.execute()和cursor.executemany()方法向表中插入了记录。
示例3:查询数据
我们可以使用SELECT语句来查询表中的数据,如下所示:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 查询所有数据
cursor.execute('SELECT * FROM user_info')
rows = cursor.fetchall() # 获取所有记录
for row in rows:
print(row)
# 条件查询
cursor.execute("SELECT * FROM user_info WHERE age > 23")
rows = cursor.fetchall() # 获取所有记录
for row in rows:
print(row)
上面的代码中,我们使用cursor.execute()方法执行SELECT语句来查询表中的数据,使用cursor.fetchall()方法获取查询结果。同时也展示了如何使用条件进行查询。
示例4:更新数据
我们可以使用UPDATE语句来修改表中已有的数据,如下所示:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute("UPDATE user_info SET age = 26 WHERE name = 'Alice'")
上面的代码中,我们使用cursor.execute()方法执行UPDATE语句来修改表中的记录。
示例5:删除数据
我们可以使用DELETE语句来删除表中的数据,如下所示:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 删除所有数据
cursor.execute('DELETE FROM user_info')
# 按条件删除
cursor.execute("DELETE FROM user_info WHERE name = 'Bob'")
上面的代码中,我们使用cursor.execute()方法执行DELETE语句来删除表中的数据。
4. Python如何关闭SQLite数据库
当我们完成对SQLite数据库的操作时,应该关闭数据库文件和游标。关闭数据库文件可以使用conn.close()
方法来实现,关闭游标可以使用cursor.close()
方法来实现。示例如下:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 对数据库进行操作...
# ...
conn.close() # 关闭数据库文件
cursor.close() # 关闭游标
当然,我们也可以使用Python的with语句来简化操作,如下所示:
import sqlite3
with sqlite3.connect('example.db') as conn:
with conn.cursor() as cursor:
# 对数据库进行操作...
# ...
这样,在with语句块结束时,Python会自动关闭数据库文件和游标,非常方便。
以上就是Python练习之操作SQLite数据库的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python练习之操作SQLite数据库 - Python技术站