一、SQLite简介
SQLite是一款轻量级的数据库,旨在提供一个基本的关系型数据库管理系统。SQLite一般用于本地数据存储,例如存储应用程序的用户信息、位置信息等。SQLite与Python的结合可以用于开发移动应用、网络服务器、桌面应用程序等。
Python中自带了SQLite3模块,可以非常方便地操作SQLite数据库。
二、安装SQLite3
在Python中,SQLite3是内置的模块,因此不需要额外的安装。需要注意的是,如果使用的Python版本不是3.4以上版本,需要先安装SQLite3。
# 安装SQLite3
$ sudo apt-get install sqlite3 libsqlite3-dev
三、连接SQLite数据库
连接SQLite数据库可以通过Python的 connect()方法实现。
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('example.db')
四、创建表格
在SQLite数据库中创建表格可以使用Python的 execute()方法执行SQL语句。
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('example.db')
# 创建表格
conn.execute('''CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''')
print("Table created successfully")
# 关闭数据库连接
conn.close()
五、插入数据
使用Python的 execute()方法执行SQL语句插入数据。
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('example.db')
# 插入数据
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (1, 'Paul', 32, 'California', 20000.00 )")
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (2, 'Allen', 25, 'Texas', 15000.00 )")
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )")
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (4, 'Mark', 25, 'Rich-Mond', 65000.00 )")
# 提交数据库执行操作
conn.commit()
print("Records created successfully")
# 关闭数据库连接
conn.close()
六、查询数据
使用Python的 execute()方法执行SQL语句查询数据。
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('example.db')
# 查询数据
cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
print("ID = ", row[0])
print("NAME = ", row[1])
print("ADDRESS = ", row[2])
print("SALARY = ", row[3], "\n")
# 关闭数据库连接
conn.close()
七、更新数据
使用Python的 execute()方法执行SQL语句更新数据。
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('example.db')
# 更新数据
conn.execute("UPDATE COMPANY set SALARY = 25000.00 where ID = 1")
conn.commit()
print("Total number of rows updated :", conn.total_changes)
# 查询更新后的结果
cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
print("ID = ", row[0])
print("NAME = ", row[1])
print("ADDRESS = ", row[2])
print("SALARY = ", row[3], "\n")
# 关闭数据库连接
conn.close()
八、删除数据
使用Python的 execute()方法执行SQL语句删除数据。
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('example.db')
# 删除数据
conn.execute("DELETE from COMPANY where ID = 2;")
conn.commit()
print("Total number of rows deleted :", conn.total_changes)
# 查询删除后的结果
cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
print("ID = ", row[0])
print("NAME = ", row[1])
print("ADDRESS = ", row[2])
print("SALARY = ", row[3], "\n")
# 关闭数据库连接
conn.close()