CX Oracle是Python語言環境下一個用于連接Oracle數據庫和執行SQL語句的模塊。在實際應用當中,我們經常需要往數據庫中插入數據。本文將著重講解如何使用CX Oracle的insert功能來實現數據插入。
首先需要注意的是,在使用CX Oracle進行insert操作前,需要確保我們已經連接上了相應的數據庫。假設我們已經連接到了名為test的Oracle數據庫,接下來我們就可以開始實現數據插入的功能。
我們首先需要使用以下代碼創建一個游標(cursor):
import cx_Oracle
conn = cx_Oracle.connect('username/password@localhost/test')
cursor = conn.cursor()
接下來,我們可以使用以下方法來執行insert操作,將一條數據插入到Students表中:
sql = "INSERT INTO Students (Name, Age, Gender, Major) VALUES ('Tom', 18, 'Male', 'Computer Science')"
cursor.execute(sql)
conn.commit()
在這個例子中,我們首先定義了sql語句,其中包含了要插入的數據的詳細信息。接著我們調用了cursor.execute()方法來執行這個sql語句,將數據插入到了Students表中。最后,需要調用conn.commit()方法來提交這個事務,這樣才能確保插入操作被成功保存到數據庫當中。
不難發現,上述方式寫死了要插入的數據,并不太靈活,無法適應各種不同的需求。為了實現更靈活的數據插入方式,我們可以使用變量的形式,將需要插入的數據作為變量傳入。
示例代碼如下:
data = ('Tom', 18, 'Male', 'Computer Science')
sql = "INSERT INTO Students (Name, Age, Gender, Major) VALUES (:1, :2, :3, :4)"
cursor.execute(sql, data)
conn.commit()
示例代碼中,我們首先定義了一個元組data,里面包含了即將插入到表格中的數據信息,然后使用占位符 :1、:2、:3、:4 來替代具體的數據,實現了更靈活的傳入方式,能夠適應多種不同類型的數據插入需求。
在實際應用過程中,我們經常會遇到批量插入數據的情況,這時候我們可以使用executemany()方法來實現。示例代碼如下:
data = [('Tom', 18, 'Male', 'Computer Science'), ('Jerry', 20, 'Male', 'Mathematics')]
sql = "INSERT INTO Students (Name, Age, Gender, Major) VALUES (:1, :2, :3, :4)"
cursor.executemany(sql, data)
conn.commit()
在這個示例中,我們首先創建了一個列表data,包含了多個元組,每個元組都是一個需要插入到表格中的數據。接著,我們使用占位符 :1、:2、:3、:4 來替代元組中的具體數據,最后調用cursor.executemany()方法來執行這個sql語句,一次性將所有數據批量插入到表格中。
總結起來,本文介紹了如何使用CX Oracle實現數據的插入操作,包括單條插入和批量插入。需要注意的是,在插入操作完成后,一定要調用conn.commit()方法來提交事務,保證插入操作被成功保存到數據庫當中。