如何使用Python修改SQLite表?


修改SQLite表是数据库操作中的常见任务,使用Python可以轻松完成。SQLite是一个著名的开源关系数据库管理系统,用于将数据存储在本地文件中。在本文中,我们将学习如何使用ALTER TABLE命令在Python中修改SQLite表,以向现有表中添加、编辑或删除列。

我们将逐步介绍必要的步骤,包括建立与SQLite数据库的连接、创建游标对象、执行ALTER TABLE语句、提交更改以及关闭数据库连接。

SQLite

Python中的SQLite指的是Python的SQLite模块,它提供了一个接口,用于从Python程序访问SQLite数据库。SQLite是一个广泛使用的开源关系数据库管理系统。它用于将数据存储在本地文件中,占用空间小,非常适合小型到中型应用程序。

Python的SQLite模块提供了一种简单的方法来处理SQLite数据库,允许开发人员直接从他们的Python代码中修改、创建和查询SQLite数据库。SQLite模块预装在Python中,使许多开发人员易于使用和访问。由于其占用空间小且易于使用的接口,SQLite广泛用于Web和移动应用程序以及小型到中型项目。

导入模块

要在Python中导入SQLite模块,请在编辑器中复制以下代码:

import sqlite3

sqlite3模块是Python标准库的一部分,并预装在Python中。它提供了一个接口,用于从Python代码访问SQLite数据库。

现在已经导入了sqlite3模块,我们可以使用sqlite3函数和类与SQLite数据库进行交互,包括建立数据库连接、检索数据和执行SQL命令。

使用Python修改SQLite表的步骤

要修改SQLite表,我们需要使用ALTER TABLE语句。此语句允许我们向现有表中添加、修改或删除列。我们可以使用Python SQLite模块执行此语句。

我们使用Sublime Text作为文本编辑器,所有输出都将在执行特定Sublime Python文件时显示在终端窗口中。

以下是使用Python修改SQLite表的步骤。

步骤1

创建一个具有.py扩展名的文件。导入sqlite模块。

import sqlite3

步骤2

下一步是使用Python中sqlite3模块提供的connect()方法连接到SQLite数据库。此方法将数据库文件的路径作为参数,并返回一个Connection对象。

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

步骤3

下一步是使用Connection对象提供的cursor()方法创建一个游标对象。游标对象用于对数据库执行SQL语句。

c= conn.cursor()

步骤4

下一步是创建一个新表,并使用游标对象的execute()方法执行它。该语句将表名作为参数,并定义表中所需的列名及其数据类型。

c.execute(""CREATE TABLE table_name(column names with there datatypes)"")

步骤5

下一步是将值插入表中,并使用游标对象的execute()方法执行它。

c.execute("INSERT INTO table_name VALUES (enter the values that you want to provide to the colummns of the table)")

步骤6

现在,我们将修改表并对其进行一些更改之前,先从表中获取所有行。我们将使用游标对象的execute()和fetchall()方法来获取表中的所有行。

c.execute("SELECT * FROM table_name")
print(c.fetchall())

步骤7

ALTER TABLE命令将在这一步执行。要修改表,请使用游标对象的execute()函数运行ALTER TABLE命令。作为参数,这些语句接受表名和要更新的列。例如,要向表中添加新列,可以使用以下语句:

c.execute("ALTER TABLE table_name ADD COLUMN column_name datatype")

步骤8

现在,在修改表并对其进行一些更改之后,我们将从表中获取所有行。我们将使用游标对象的execute()和fetchall()方法来获取表中的所有行。

c.execute("SELECT * FROM  table_name")
print(c.fetchall())

步骤9

执行ALTER TABLE语句后,我们需要使用Connection对象的commit()方法提交更改。

conn.commit()

步骤10

最后,我们需要使用Connection对象的close()方法关闭数据库连接。

conn.close()

让我们来看一个例子,以便更好地理解它:

示例

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

#create a cursor
c= conn.cursor()

#create a table
c.execute("""CREATE TABLE customers_table (first_name text,last_name text,email text)""") 

#insert values in the columns of the table
c.execute("INSERT INTO customers_table VALUES ('Mary','Dakota','[email protected]')")
c.execute("INSERT INTO customers_table VALUES ('Amy','Jackson','[email protected]')")

#Printing all the values before altering the table
print("Table before using ALTER ..")
c.execute("SELECT * FROM customers_table")
print(c.fetchall())

#Alter the table
c.execute("ALTER TABLE customers_table ADD COLUMN UserName CHAR(25)")

#Print the table after altering
print("Table after using ALTER ..")
c.execute("SELECT * FROM customers_table")
print(c.fetchall())

print("Command executed successfully...")
conn.commit()
#close our connection
conn.close()

输出

结论

总之,使用Python修改SQLite表是一个简单的过程。我们可以使用ALTER TABLE语句向现有表中添加、删除或修改列。按照上述步骤,我们可以轻松地使用Python修改SQLite表。

更新于:2023年6月1日

浏览量:1000+

启动您的职业生涯

完成课程获得认证

开始学习
广告