如何使用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','mdakota@gmail.com')")
c.execute("INSERT INTO customers_table VALUES ('Amy','Jackson','ajackson@gmail.com')")

#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+

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告