SQLite是一种轻量级的数据库管理系统,以其小巧的体积、易用性和跨平台特性而受到广泛欢迎。在Python Web开发中,SQLite是一个很好的选择,因为它可以简化数据库操作,降低开发难度。本文将详...
SQLite是一种轻量级的数据库管理系统,以其小巧的体积、易用性和跨平台特性而受到广泛欢迎。在Python Web开发中,SQLite是一个很好的选择,因为它可以简化数据库操作,降低开发难度。本文将详细介绍如何掌握SQLite,并在Python Web开发中灵活运用。
SQLite是一款开源的嵌入式数据库管理系统,无需服务器即可运行。它支持SQL标准,并且可以在多种编程语言中使用,包括Python。
由于SQLite是Python标准库的一部分,因此无需单独安装。只需确保Python环境已安装,即可使用SQLite。
在Python中,使用SQLite前需要导入sqlite3模块。
import sqlite3使用SQLite创建数据库和表非常简单。以下是一个示例:
# 连接到SQLite数据库
# 如果文件不存在,会自动在当前目录创建:
conn = sqlite3.connect('example.db')
print("Opened database successfully")
# 创建一个Cursor:
cursor = conn.cursor()
# 创建表
cursor.execute('''CREATE TABLE IF NOT EXISTS COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);''')
print("Table created successfully")在SQLite中,使用INSERT语句插入数据。
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (1, 'Paul', 32, 'California', 20000.00)")
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (2, 'Allen', 25, 'Texas', 15000.00)")
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (3, 'Teddy', 23, 'Norway', 20000.00)")
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (4, 'Mark', 25, 'Rich-Mond', 65000.00)")
# 保存(commit)更改:
conn.commit()
print("Records created successfully")使用SELECT语句查询数据。
cursor.execute("SELECT id, name, address, salary from COMPANY")
print("Results:")
for row in cursor.fetchall(): print("ID = ", row[0]) print("NAME = ", row[1]) print("ADDRESS = ", row[2]) print("SALARY = ", row[3], "\n")使用UPDATE和DELETE语句更新和删除数据。
cursor.execute("UPDATE COMPANY set SALARY = 25000.00 where ID = 1")
conn.commit()
print("Updated successfully")
cursor.execute("DELETE from COMPANY where ID = 2;")
conn.commit()
print("Deleted successfully")conn.close()在Python Web开发中,SQLite常用于轻量级的应用程序。以下是一些流行的Python Web框架,它们支持SQLite:
SQLite是一个功能强大且易于使用的数据库管理系统,适合Python Web开发。通过掌握SQLite,您可以轻松地管理数据库,提高开发效率。本文介绍了SQLite的基础知识、Python中使用SQLite的方法,以及Python Web开发与SQLite的结合。希望本文能帮助您在Python Web开发中更好地利用SQLite。