隨着互聯網行業的不斷發展,越來越多的數據需要存儲和管理。數據庫是一種被廣泛應用的數據管理工具,而Python作為一種流行的編程語言,也在數據庫的讀取和管理方面得到了廣泛的應用。本文將介紹Python讀取數據庫的基本方法及相關的知識點。
一、連接數據庫
Python連接數據庫的方法有很多種,我們可以使用Python自帶的sqlite3模塊連接SQLite數據庫,或者使用第三方的模塊連接MySQL、Oracle等其他類型的數據庫。下面以SQLite數據庫為例,介紹如何連接到數據庫。
import sqlite3
# 連接到SQLite數據庫
conn = sqlite3.connect('example.db')
上面的代碼中,我們使用了Python自帶的sqlite3模塊,調用了connect()函數連接到SQLite數據庫。其中example.db是我們要連接的數據庫文件。
二、創建表格
在連接到數據庫後,我們可以創建表格,並在表格中插入數據。使用CREATE TABLE語句可以創建一個新的表格,使用INSERT語句可以向表格中插入新的數據。
import sqlite3
# 連接到SQLite數據庫
conn = sqlite3.connect('example.db')
# 創建一個新表
conn.execute('''CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''')
# 插入數據
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (1, 'Paul', 32, 'California', 20000.00)")
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (2, 'Allen', 25, 'Texas', 15000.00)")
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (3, 'Teddy', 23, 'Norway', 20000.00)")
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (4, 'Mark', 25, 'Rich-Mond', 65000.00)")
# 提交事務
conn.commit()
上面的代碼中,我們使用execute()函數執行SQL語句,創建了一個名為COMPANY的表格,並插入了一些數據。在插入數據之後,需要使用commit()函數提交事務,以確保數據存儲在數據庫中。
三、讀取數據
在創建表格並插入數據後,我們可以使用SELECT語句從表格中讀取數據。
import sqlite3
# 連接到SQLite數據庫
conn = sqlite3.connect('example.db')
# 讀取數據
cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
print("ID = ", row[0])
print("NAME = ", row[1])
print("ADDRESS = ", row[2])
print("SALARY = ", row[3], "\n")
# 關閉數據庫連接
conn.close()
上面的代碼中,我們使用execute()函數執行SELECT語句,從COMPANY表格中讀取了ID、NAME、ADDRESS和SALARY這些字段的數據。在讀取數據時,我們可以使用for循環逐行打印數據。最後需要使用close()函數關閉數據庫連接。
四、常見問題
1. 使用Python連接MySQL數據庫
Python可以使用第三方模塊連接MySQL數據庫,例如使用pymysql模塊連接MySQL。
import pymysql
# 連接到MySQL數據庫
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='test')
上面的代碼中,我們使用pymysql模塊連接到MySQL數據庫。其中host、port、user、passwd和db是連接數據庫必需提供的參數。
2. 讀取數據庫時如何處理異常
在讀取數據庫時,可能會遇到各種異常情況,例如數據庫連接失敗、讀取數據失敗等等。為了減少異常情況的發生,可以使用try…except語句處理異常,並對異常情況進行相應的處理。
import sqlite3
try:
# 連接到SQLite數據庫
conn = sqlite3.connect('example.db')
# 讀取數據
cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
print("ID = ", row[0])
print("NAME = ", row[1])
print("ADDRESS = ", row[2])
print("SALARY = ", row[3], "\n")
except Exception as e:
print(e)
finally:
# 關閉數據庫連接
conn.close()
上面的代碼中,我們使用try…except語句處理異常。當遇到異常情況時,程序會拋出一個Exception異常,並通過exception as e語句輸出異常信息。在處理完異常情況後,使用finally語句關閉數據庫連接。
總結
本文介紹了Python讀取數據庫的基本方法及相關知識點。了解這些知識點可以幫助我們更好地處理數據,並提高數據管理的效率。在實際的應用中,我們需要根據具體的情況選擇合適的數據庫類型和連接方式,並掌握相應的編程技能,以便更好地完成數據管理任務。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/309735.html