大家好,在数据涌现的今天,数据库已成为生活中不可或缺的工具。Python作为一种流行的编程语言,内置了多种用于操作数据库的库,其中之一就是SQLite。SQLite是一种轻量级的关系型数据库管理系统,它在Python中的应用非常广泛。本文将介绍如何使用Python操作SQLite数据库,希望能够帮助大家提高数据处理能力。 1.SQLite3简介

SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置。SQLite3支持SQL语句,对数据库的操作简单高效。因此,SQLite3非常适用于小型项目和单机应用程序,是Python开发中常用的数据库解决方案之一,能为程序提供完整的数据库解决方案。 2.创建SQLite数据库

在IDE或文本编辑器中创建一个新的Python文件,把此文件命名为python_database.py

首先,将SQLite模块导入到我们的项目中:

import sqlite3

由于Python内置了SQLite3,不需要安装任何东西。接下来,需要创建数据库和与文件的连接。

db = sqlite3.connect('db.sqlite3')
cursor = db.cursor()

上面的代码分配了两个变量,第一个变量db调用了sqlite3.connect,它会连接到文件,这里在括号内告诉Python我们想要命名数据库。 上面的代码分配了两个变量,第一个变量db调用了sqlite3.connect,它会连接到文件,这里在括号内告诉Python我们想要命名数据库。

cursor变量设置为db.cursor(),Python使用它来读取和写入数据库文件表。 然后需要实际创建表,可以通过以下代码来完成:

cursor.execute('''
               CREATE TABLE IF NOT EXISTS contacts(
                   id INTEGER PRIMARY KEY,
                   firstName TEXT,
                   lastName TEXT,
                   age TEXT,
                   address TEXT,
                   jobTitle TEXT)''')
   db.commit()

解释一下上面的代码:

调用cursor.execute来在db.sqlite3数据库文件中写入一个新表。创建的表名为contacts,CREATE TABLE IF NOT EXISTS行创建表(如果它还不存在于你的Python文件目录中)。

下面几行分配表头名称给每列,还必须指定每列中将放入什么类型的数据。

下面列出了不同的数据类型:

NULL,该值是个NULL值。

INTEGER,该值是个有符号整数,根据值的大小,以1、2、3、4、6或8个字节的形式存储。
REAL,该值是个浮点值,存储为8个字节的IEEE浮点数。
TEXT,该值是个文本字符串,使用数据库编码(UTF-8、UTF-16BE或UTF-16LE)存储。
BLOB,该值是数据的二进制大对象,以原始形式存储。

有一个名为id的列,为其分配了INTEGER PRIMARY KEY值。这对数据库来说是必需的,以便为每个条目分配唯一的ID,SQLite会自动增加每个新条目,每次添加新条目时SQLite都会自动将每个条目递增1。(在创建其他表之间的关系时,也需要使用此功能)。 创建的下一组标题包括fname、lname、age、address和jobTitle,由此构建一个简单的联系人数据库,调用db.commit()将表提交到数据库文件中。 现在向新表中输入一些假数据,可以编写一些 SQL 代码,如下所示:

cursor.execute('''INSERT INTO contacts(fname, lname, age, address, jobTitle) 
VALUES (?, ?, ?, ?, ?)''', ('Grant', 'Peach', '35', '1 Smith Street', 'Software Dev'))

查询数据

使用SELECT语句,从表格中检索数据。

以下是一个查询数据的示例:

查询所有学生的信息

conn.connection('数据库名)
cursor=conn.cursor()
cursor.execute("SELECT * FROM students")
students = cursor.fetchall()

for student in students:
    print(student)

上述代码执行SELECT语句并将结果存储在students变量中,然后通过循环打印每个学生的信息。 更新和删除数据

更新数据,使用UPDATE语句;

删除数据,使用DELETE语句。

以下是更新和删除数据的示例:

更新学生信息

cursor.execute("UPDATE students SET age = ? WHERE name = ?", (26, 'Alice'))
conn.commit()

# 删除学生信息
cursor.execute("DELETE FROM students WHERE name = ?", ('Alice',))
conn.commit()

上述代码分别将学生Alice的年龄更新为26岁,并从表格中删除了名为Alice的记录 总结 SQLite是一种轻量级的嵌入式数据库引擎,适用于各种应用程序,从小型工具到大型数据驱动应用程序。SQLite是一个强大且灵活的数据库引擎,对于许多应用程序都非常适用。