欢迎访问宙启技术站
智能推送

Python中与数据库交互的常用函数

发布时间:2023-06-23 11:47:09

Python中与数据库交互的常用函数包括:连接数据库的函数、执行SQL语句的函数、获取数据的函数、更新数据的函数等。以下是对这些函数的详细介绍。

1.连接数据库的函数

Python中与数据库交互的 步是建立连接。常用的连接数据库的函数有以下几个:

(1)MySQLdb.connect()

这是Python中连接MySQL数据库的标准库函数。常用的参数有host、port、user、passwd、db等。例如:

import MySQLdb

db = MySQLdb.connect(host="localhost",user="root",passwd="pwd",db="mydb")

(2)psycopg2.connect()

这是Python中连接PostgreSQL数据库的标准库函数。常用的参数有host、port、user、password、database等。例如:

import psycopg2

db = psycopg2.connect(host="localhost",database="mydb",user="root",password="pwd")

(3)cx_Oracle.connect()

这是Python中连接Oracle数据库的标准库函数。常用的参数有user、password、dsn等。例如:

import cx_Oracle

dsn_tns = cx_Oracle.makedsn('localhost', 'port', service_name='service_name')
db = cx_Oracle.connect(user="root",password="pwd",dsn=dsn_tns)

2.执行SQL语句的函数

连接到数据库后,需要执行SQL语句来进行操作。常用的执行SQL语句的函数有以下几个:

(1)cursor.execute()

这是Python中执行SQL语句的标准函数。常用的参数有sql、params等。例如:

cursor = db.cursor()

sql = "SELECT * FROM mytable WHERE name = %s"
params = ('John',)
cursor.execute(sql, params)

(2)cursor.executemany()

这是Python中执行批量SQL语句的函数。与cursor.execute类似,只是可以一次执行多个SQL语句。例如:

cursor = db.cursor()

sql = "INSERT INTO mytable (name, age) VALUES (%s, %s)"
params = [('John', 25), ('Tom', 30)]
cursor.executemany(sql, params)

(3)cursor.callproc()

这是Python中执行存储过程的函数。常用的参数有procname、args、keyword等。例如:

cursor = db.cursor()

procname = "myproc"
args = (10, 20)
cursor.callproc(procname, args)

3.获取数据的函数

执行SQL语句后,需要获取数据库中的数据。常用的获取数据的函数有以下几个:

(1)cursor.fetchone()

这是Python中获取一条数据的函数。例如:

cursor = db.cursor()

sql = "SELECT * FROM mytable WHERE name = %s"
params = ('John',)
cursor.execute(sql, params)

data = cursor.fetchone()

(2)cursor.fetchmany()

这是Python中获取多条数据的函数。例如:

cursor = db.cursor()

sql = "SELECT * FROM mytable WHERE age > %s"
params = (20,)
cursor.execute(sql, params)

data = cursor.fetchmany(size=2)

(3)cursor.fetchall()

这是Python中获取所有数据的函数。例如:

cursor = db.cursor()

sql = "SELECT * FROM mytable"
cursor.execute(sql)

data = cursor.fetchall()

4.更新数据的函数

获取到数据后,需要进行更新操作。常用的更新数据的函数有以下几个:

(1)cursor.execute()

执行UPDATE、DELETE等SQL语句来更新数据。例如:

cursor = db.cursor()

sql = "UPDATE mytable SET age = %s WHERE name = %s"
params = (30, 'John')
cursor.execute(sql, params)

(2)cursor.executemany()

批量执行UPDATE、DELETE等SQL语句来更新数据。例如:

cursor = db.cursor()

sql = "UPDATE mytable SET age = %s WHERE name = %s"
params = [(30, 'John'), (35, 'Tom')]
cursor.executemany(sql, params)

(3)cursor.callproc()

执行存储过程来更新数据。例如:

cursor = db.cursor()

procname = "myproc"
args = (10, 20)
cursor.callproc(procname, args)

以上是Python中与数据库交互的常用函数,通常情况下,这些函数能够满足日常开发中的需求。