Python对数据库操作的完整攻略
概述
Python作为一门广泛应用于数据处理领域的编程语言,对于数据库操作的支持也是早已被广泛开发和应用的。通过Python能够方便地进行各类数据库管理,如连接数据库、查询数据、修改数据等。本文将带领读者深入了解Python对数据库操作的完整攻略,供读者参考。
数据库连接
Python涉及到常用的数据库连接有以下几种方式:
SQLite数据库连接
SQLite是一款嵌入式的轻量级数据库,Python支持对SQLite数据库的连接。在Python中,可以使用sqlite3模块进行SQLite的数据库连接。代码示例如下:
import sqlite3
# 连接到SQLite数据库,如果数据库不存在,则会自动创建
conn = sqlite3.connect('test.db')
# 创建一个游标Cursor
cursor = conn.cursor()
# 执行一条SQL语句,创建表
cursor.execute("CREATE TABLE IF NOT EXISTS STUDENT (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL)")
# 执行一条SQL语句,插入记录
cursor.execute("INSERT INTO STUDENT(ID, NAME, AGE) VALUES(1, 'Tom', 18)")
# 提交事务
conn.commit()
# 关闭Cursor
cursor.close()
# 关闭连接
conn.close()
MySQL数据库连接
MySQL是一款流行的开源数据库,Python通过pymysql或mysql-connector-python等第三方库支持对MySQL的数据库连接。代码示例如下:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "testuser", "test123", "testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 执行一条SQL语句,创建表
cursor.execute("CREATE TABLE IF NOT EXISTS STUDENT (ID INT PRIMARY KEY NOT NULL, NAME CHAR(20) NOT NULL, AGE INT NOT NULL)")
# 执行一条SQL语句,插入记录
cursor.execute("INSERT INTO STUDENT(ID, NAME, AGE) VALUES(1, 'Tom', 18)")
# 提交事务
db.commit()
# 关闭Cursor
cursor.close()
# 关闭连接
db.close()
Oracle数据库连接
Oracle是一款商业的数据库,Python可以通过cx_Oracle等第三方库支持对Oracle的数据库连接。代码示例如下:
import cx_Oracle
# 连接Oracle数据库
conn = cx_Oracle.connect('username/password@host:port/SID')
# 创建一个cursor
cursor = conn.cursor()
# 执行一条SQL语句,创建表
cursor.execute("""
CREATE TABLE STUDENT
(ID INT PRIMARY KEY NOT NULL,
NAME VARCHAR2(16) NOT NULL,
AGE INT NOT NULL)
""")
# 执行一条SQL语句,插入记录
cursor.execute("INSERT INTO STUDENT(ID, NAME, AGE) VALUES(1, 'Tom', 18)")
# 提交事务
conn.commit()
# 关闭Cursor
cursor.close()
# 关闭连接
conn.close()
数据库查询
Python提供了在数据库中查询记录的方法,示例如下:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "testuser", "test123", "testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 执行一条SQL语句,查询记录
cursor.execute("SELECT * FROM STUDENT")
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
age = row[2]
# 打印结果
print("id=%d,name=%s,age=%d" % (id, name, age))
# 关闭Cursor
cursor.close()
# 关闭连接
db.close()
数据库修改
Python提供了在数据库中修改记录的方法,示例如下:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "testuser", "test123", "testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 执行一条SQL语句,修改记录
cursor.execute("UPDATE STUDENT SET AGE = AGE + 1 WHERE ID = 1")
# 提交事务
db.commit()
# 获取修改后的记录
cursor.execute("SELECT * FROM STUDENT")
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
age = row[2]
# 打印结果
print("id=%d,name=%s,age=%d" % (id, name, age))
# 关闭Cursor
cursor.close()
# 关闭连接
db.close()
总结
Python对各种类型数据库的连接和操作都提供了相应的支持,让Python开发人员能够方便地使用Python代码操作数据库。上述代码仅提供了基础用法的简单示例,读者可根据自身需求进行扩展和定制化实现。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python对数据库操作 - Python技术站