如何在 Python 中使用 SQLite

大家好,今天这篇文章我将教你如何在 Python 中使用 SQLite,如果你想使用 SQLite 数据库在 Python 中创建项目,那么这篇文章肯定会对你有所帮助。

什么是 SQLite?

1.SQLite是一个用作数据存储的库。
2.SQLite3 模块由 Gerhard Haring 编写。
3. 提供符合 PEP 249 描述的 DB-API 2.0 规范的 SQL 接口。
4.如果你想在Python中使用SQLite则不需要单独安装这个库,直接连接数据库即可。

连接数据库

要创建与SQLite 的连接,首先我们必须在我们的代码中导入sqlite3模块,然后我们可以创建一个连接对象进行连接。 sqlite3模块的预定义函数 connect() 用于创建连接对象。以下是连接 SQLite 数据库的代码。

import  sqlite3
conn=sqlite3.connect("student.db")
print("数据库创建成功!")

在这里我们可以为数据库键入任何名称,例如我创建了一个student数据库。 输入数据库名称后不要忘记添加.db,因为它是数据库文件的扩展名。 此处将在当前目录中创建名为 student 的数据库文件,但您可以根据需要更改文件路径。 当您运行此代码时,您将收到一条消息,如数据库创建成功。 下面是项目文件夹的截图。
在这里插入图片描述
在上面的屏幕截图中,您可以看到创建了一个名为 student 的数据库文件。

创建表

创建数据库后,我们需要在数据库中创建一个表。 在这里,我将创建一个包含以下字段的学生注册表 [STUD_ID,STU_NAME,STU_CONTACT,STU_EMAIL,STU_ROLLNO,STU_BRANCH]。 这是在数据库中创建此表的完整代码。

import  sqlite3
conn=sqlite3.connect("student.db")
print("数据库创建成功!")
conn.execute("""
CREATE TABLE STUD_REGISTRATION(
STU_ID INTEGER PRIMARY KEY NOT NULL ,
STU_NAME TEXT NOT NULL, 
STU_CONTACT TEXT,
STU_EMAIL TEXT,
STU_ROLLNO TEXT NOT NULL,
STU_BRANCH TEXT NOT NULL)
""")
print ("STUD_REGISTRATION表创建成功!")

这里 execute() 是一个预定义的函数,用于执行 SQLite 的任何查询。 如果您想在 SQLite 中查看您的表,那么您可以使用 DB Browser。
在这里插入图片描述

插入数据

现在我要向表中插入数据。通过使用 SQL 查询,我们可以将数据插入表中。以下是将数据插入表的语法。

INSERT INTO TABLE_NAME (column1, column2,column3,...columnN)
VALUES (value1, value2, value3,...valueN);

通过使用上述语法可以将数据插入表中,以下是向表中插入数据的代码。

import  sqlite3
conn=sqlite3.connect("student.db")
conn.execute("INSERT INTO STUD_REGISTRATION (STU_ID,STU_NAME,STU_CONTACT,STU_EMAIL,STU_ROLLNO,STU_BRANCH) \
      VALUES (1,'Raju', '9179876567', 'raju@gmail.com','MCA204', 'CA')");
conn.execute("INSERT INTO STUD_REGISTRATION (STU_ID,STU_NAME,STU_CONTACT,STU_EMAIL,STU_ROLLNO,STU_BRANCH) \
      VALUES (2,'Nancy', '9179785695', 'nancy@gmail.com','MCA225', 'CA')");

conn.commit()
print ("记录插入成功!")
conn.close()

执行结果:
在这里插入图片描述

查询数据

现在是查看存储在数据库表中的数据的时候了。以下是从表中获取数据的程序。

import sqlite3

conn = sqlite3.connect('student.db')

cursor = conn.execute("SELECT * from STUD_REGISTRATION")
print("NAME\tCONTACT\t\tEMAIL\t\t\tROLLLNO\tBRANCH")
for row in cursor:
   print ("{}\t{}\t{}\t{}\t{}".format(row[1],row[2],row[3],row[4],row[5]))
conn.close()

当您执行此程序时,您将获得如下图所示的输出。
在这里插入图片描述
从以上输出可以验证前面插入的记录。

更新数据

多数情况下,我们需要对数据进行修改并将修改后的数据保存到表中,例如有时将错误的数据插入到表中,然后需要将错误的数据更新为正确的。假设在上面的记录中我们要更新Nancy的 ROLLNO。目前它是 MCA225,我们必须用 MCA325 更新它。为此,请参阅以下程序

import sqlite3
conn = sqlite3.connect('student.db')

#更新记录
conn.execute("UPDATE STUD_REGISTRATION set STU_ROLLNO = 'MCA325' where STU_ID = 2")
conn.commit()
#显示记录
cursor = conn.execute("SELECT * from STUD_REGISTRATION")
print("NAME\tCONTACT\t\tEMAIL\t\tROLLLNO\tBRANCH")
for row in cursor:
   print ("{}\t{}\t{}\t{}\t{}".format(row[1],row[2],row[3],row[4],row[5]))
conn.close()

当您执行上述代码时,您将得到以下结果。
在这里插入图片描述

删除数据

有时我们必须删除一个人、产品、公司等的完整记录。假设我们必须从我们的数据库中删除 Nancy 的记录,可以使用下面的代码。

import sqlite3

conn = sqlite3.connect('student.db')

#删除记录
conn.execute("DELETE from STUD_REGISTRATION where STU_ID = 2")
conn.commit()
#显示记录
cursor = conn.execute("SELECT * from STUD_REGISTRATION")
print("NAME\tCONTACT\t\tEMAIL\t\tROLLLNO\tBRANCH")
for row in cursor:
   print ("{}\t{}\t{}\t{}\t{}".format(row[1],row[2],row[3],row[4],row[5]))
conn.close()

上述程序将删除 Nancy 记录并显示剩余记录。为了更好地理解,请看下图。
在这里插入图片描述

在上面的输出屏幕截图中,您会注意到数据库中只有一条记录。因为Nancy的记录被成功删除了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐