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

数据库操作相关的 Python 函数

发布时间:2023-06-05 21:30:24

Python提供了强大的数据库操作功能,支持多种数据库,包括MySQL、PostgreSQL、Oracle等。本文将简单介绍Python中关于数据库操作的一些函数。

1. 建立数据库连接

在Python中,要使用数据库需要先建立数据库连接。Python的标准库中,提供了两个模块用于操作数据库,分别是sqlite3和mysql.connector。如果要操作其他数据库,需要先安装相应的第三方库。

以mysql为例,建立数据库连接的函数如下:

import mysql.connector

def connect_to_mysql():
    conn = mysql.connector.connect(
        user='root',
        password='password',
        host='localhost',
        database='test'
    )
    return conn

该函数使用了mysql.connector模块提供的connect()函数,传入用户、密码、主机和数据库名等参数来连接MySQL数据库。

2. 执行SQL语句

连接到数据库后,可以执行SQL语句来进行查询、插入、更新等操作。在mysql.connector模块中,提供了一个cursor类来执行SQL语句。

执行SQL语句的函数如下:

def execute_sql(conn, sql, values=None):
    cursor = conn.cursor()
    if values:
        cursor.execute(sql, values)
    else:
        cursor.execute(sql)
    result = cursor.fetchall()
    conn.commit()
    return result

该函数接收连接对象(conn)、SQL语句(sql)和参数(values),并返回查询结果(result)。如果要执行更新操作或插入操作,可以用cursor.execute()函数来提交SQL语句,然后调用conn.commit()函数来提交更改。

3. 查询数据

查询数据是数据库操作的常见场景,Python提供了多种方式来查询数据。

(1)单条查询

单条查询是查询一条记录,返回类型为元组。以下是一个查询单条记录的函数:

def get_one(conn, sql, values=None):
    cursor = conn.cursor()
    if values:
        cursor.execute(sql, values)
    else:
        cursor.execute(sql)
    result = cursor.fetchone()
    conn.commit()
    return result

该函数使用cursor.fetchone()函数来返回一条记录。

(2)多条查询

多条查询是查询多条记录,并将结果保存在一个元组列表中返回。以下是一个查询多条记录的函数:

def get_many(conn, sql, values=None):
    cursor = conn.cursor()
    if values:
        cursor.execute(sql, values)
    else:
        cursor.execute(sql)
    result = cursor.fetchall()
    conn.commit()
    return result

该函数使用cursor.fetchall()函数来返回所有符合条件的记录。

(3)分页查询

分页查询是一种常见的数据查询方式,可以使用LIMIT子句限制返回数据的数量。以下是一个分页查询函数:

def get_by_page(conn, sql, page, limit, values=None):
    cursor = conn.cursor()
    if values:
        cursor.execute(sql, values)
    else:
        cursor.execute(sql)
    total = cursor.rowcount
    start = (page - 1) * limit
    end = page * limit
    result = cursor.fetchall()[start:end]
    conn.commit()
    return result, total

该函数接收一个页码(page)和每页显示数量(limit),计算出要查询的范围并返回相应的结果。该函数还返回查询结果总数(total),用于后续的分页处理。

4. 插入、更新和删除

除了查询数据外,Python还提供了插入、更新和删除等操作。

(1)插入数据

插入数据可以使用cursor.execute()函数提交一条INSERT语句。以下是一个插入数据的函数:

def insert(conn, sql, values):
    cursor = conn.cursor()
    cursor.execute(sql, values)
    conn.commit()

该函数接收三个参数,分别是连接对象、SQL语句和参数。使用cursor.execute()函数提交SQL语句,然后使用conn.commit()函数提交更改。

(2)更新数据

更新数据可以使用cursor.execute()函数提交一条UPDATE语句。以下是一个更新数据的函数:

def update(conn, sql, values):
    cursor = conn.cursor()
    cursor.execute(sql, values)
    conn.commit()

该函数接收三个参数,分别是连接对象、SQL语句和参数。使用cursor.execute()函数提交SQL语句,然后使用conn.commit()函数提交更改。

(3)删除数据

删除数据可以使用cursor.execute()函数提交一条DELETE语句。以下是一个删除数据的函数:

def delete(conn, sql, values):
    cursor = conn.cursor()
    cursor.execute(sql, values)
    conn.commit()

该函数接收三个参数,分别是连接对象、SQL语句和参数。使用cursor.execute()函数提交SQL语句,然后使用conn.commit()函数提交更改。

总结

在Python中,数据库操作是非常常见的任务。本文介绍了Python中常用的数据库操作函数,包括建立数据库连接、执行SQL语句、查询数据以及插入、更新和删除数据等操作。通过这些函数,我们可以轻松地对数据库进行操作,实现各种数据处理任务。