在實際的開發中,需要不斷地往數據庫中插入數據,而Python作為一種便捷高效的編程語言,其對數據庫的操作也具有很高的靈活性。本文將詳細介紹Python中插入數據到數據庫的方法。
一、連接數據庫
在Python中,可以使用不同的庫來連接數據庫,例如Python內置的sqlite3庫,還有較為常用的MySQLdb、pymssql、psycopg2等。這裡以MySQL為例。
import mysql.connector
# 配置連接參數
config = {
'user': 'root',
'password': '123456',
'host': '127.0.0.1',
'database': 'test'
}
# 連接數據庫
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
以上代碼通過mysql.connector庫連接MySQL數據庫,參數config中包含了連接所需要的信息,即數據庫賬號、密碼、地址和數據庫名等。使用connect方法連接數據庫,並使用cursor()方法生成游標對象,後續的數據插入將通過該游標實現。
二、執行SQL語句
連接成功之後,需要使用SQL語句來對數據庫進行操作。在MySQL中,可以使用INSERT INTO語句插入數據到數據庫中。
sql = "INSERT INTO users (name, age, gender) VALUES (%s, %s, %s)"
params = ("Tom", 20, "male")
cursor.execute(sql, params)
cnx.commit()
以上代碼通過SQL語句向users表中插入一條數據,該數據的name為Tom,age為20,gender為male。其中的%s為佔位符,後面的params為插入的參數列表,必須用元組形式傳遞,元組中的每個元素分別對應%s的位置。
然後調用execute方法執行SQL語句,通過commit方法提交修改,使數據真正寫入到數據庫中。
三、使用ORM框架
除了使用SQL語句操作數據庫,還可以使用ORM(對象關係映射)框架,例如Django自帶的ORM框架、SQLAlchemy等。
這裡以Django ORM為例:
from django.db import models
class Users(models.Model):
name = models.CharField(max_length=20)
age = models.IntegerField()
gender = models.CharField(max_length=10)
# 往數據庫中插入一條數據
user = Users(name='Tom', age=20, gender='male')
user.save()
以上代碼使用Django ORM創建了一個名為Users的模型類,並在類中定義了3個屬性:name、age、gender。然後創建一個Users對象user,並給它的name、age、gender屬性賦值,最後調用save()方法將數據插入到數據庫中。
四、關閉連接
最後,為了保證程序的安全性,需在數據操作完成之後,調用close方法關閉連接:
cursor.close()
cnx.close()
以上代碼中,先關閉游標對象,再關閉數據庫連接。
總結
Python插入數據到數據庫的方法有多種,為了提高開發效率和代碼可讀性,可以使用ORM框架進行數據操作。特別需要注意的是,在操作數據時一定要注意安全性,避免SQL注入等安全漏洞。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/303388.html