Python连接数据库进行数据查询的操作代码

mysql数据库(mariadb)

连接数据库

首先,你需要使用MySQLdb.connect()函数建立与MySQL数据库的连接。你需要提供数据库服务器的地址(host),用户名(user),密码(passwd),以及你想要操作的数据库名称(db)。

创建Cursor对象

一旦建立了数据库连接,你可以使用连接对象的cursor()方法来创建一个cursor对象。这个方法返回一个cursor实例,你可以使用这个实例来执行SQL查询和命令。

模块安装

python3 安装pip3 install mysqlclient

代码

# 引入模块

import MySQLdb

# 连接数据库

db = MySQLdb.connect(host="localhost", user="your_username", passwd="your_password", db="your_database")

# 创建cursor对象

cursor = db.cursor()

使用Cursor执行SQL语句:创建了cursor对象之后,你可以使用它的execute()方法来执行SQL语句。例如,你可以执行SELECT查询来从数据库中检索数据,或者执行INSERT、UPDATE、DELETE等语句来修改数据。

# 执行SQL查询

cursor.execute("SELECT * FROM your_table")

获取查询结果:如果执行的是查询(如SELECT语句),你可以使用cursor对象的fetchone()、fetchmany()或fetchall()方法来获取结果。

# 获取所有查询结果

results = cursor.fetchall()

for row in results:

    print(row)

关闭Cursor和连接:完成数据库操作后,你应该关闭cursor对象并关闭数据库连接,以释放资源。

# 关闭cursor

cursor.close()

# 关闭数据库连接

db.close()

cursor对象的fetchone()、fetchmany(size)和fetchall()方法是用于从游标中检索由execute()方法执行的查询结果的三种不同方法。它们的主要区别在于它们检索结果的方式和数量:

fetchone():

这个方法每次检索结果集的下一行。

它返回一个包含下一行数据的元组,如果没有更多的行,则返回None。

使用fetchone()通常在逐行处理结果集时非常有用。

cursor.execute("SELECT * FROM your_table")

while True:

    row = cursor.fetchone()

    if row is None:

        break

    print(row)

fetchmany(size):

这个方法检索结果集中的下size行。

size参数指定要检索的行数。如果结果集中剩余的行数少于size,则返回剩余的行。

如果size参数被省略或设置为负数,fetchmany()将尝试检索剩余的所有行。

使用fetchmany()可以在一次调用中获取多行数据。

cursor.execute("SELECT * FROM your_table")

result = cursor.fetchmany(3)  # 获取3行数据

for row in result:

    print(row)

fetchall():

这个方法检索结果集中的所有(剩余的)行。

它返回一个列表,列表中的每个元素都是一行数据的元组。

使用fetchall()可以一次性获取查询结果的所有行,这对于处理不是非常大的数据集非常有用。

cursor.execute("SELECT * FROM your_table")

results = cursor.fetchall()

for row in results:

    print(row)

选择哪种方法取决于你的具体需求,比如你希望如何从数据库中检索数据,以及你的应用程序如何处理这些数据。如果你需要逐行处理数据,fetchone()可能是一个好选择。如果你知道需要检索的数据量不是很大,或者你想一次性获取所有数据进行处理,fetchall()可能更合适。而fetchmany()提供了一种折衷的方法,允许你分批次地获取数据,这在处理大量数据时可以减少内存的使用。

Oracle数据库

连接数据库

使用Python连接到Oracle数据库,你可以使用cx_Oracle这个第三方库,它是专门用于Oracle数据库的Python扩展。以下是连接到Oracle数据库的步骤:

模块安装

安装cx_Oracle。可以使用pip来安装:pip install cx_Oracle

代码

import cx_Oracle

# 连接到Oracle数据库

# 方法1: 使用连接字符串

dsn = cx_Oracle.makedsn('hostname', port, service_name='service_name')

connection = cx_Oracle.connect('username', 'password', dsn)

# 方法2: 分别提供连接参数

# connection = cx_Oracle.connect('username', 'password', 'hostname', port, service_name='service_name')

# 使用cursor执行SQL语句

cursor = connection.cursor()

cursor.execute("SELECT * FROM your_table")

# 获取查询结果

results = cursor.fetchall()

for row in results:

    print(row)

# 关闭cursor和连接

cursor.close()

connection.close()

SQL server数据库

连接数据库

使用Python连接到SQL Server数据库,你可以使用pyodbc库,这是一个流行的Python ODBC接口。以下是连接到SQL Server数据库的步骤:

模块安装

使用pip安装pyodbc库:pip install pyodbc

代码

import pyodbc

# 连接到SQL Server数据库

conn_str = (

    r'DRIVER={ODBC Driver 17 for SQL Server};'

    r'SERVER=your_server_name;'

    r'DATABASE=your_database_name;'

    r'UID=your_username;'

    r'PWD=your_password'

)

conn = pyodbc.connect(conn_str)

# 创建cursor对象

cursor = conn.cursor()

# 执行SQL语句

cursor.execute("SELECT * FROM your_table")

# 获取查询结果

results = cursor.fetchall()

for row in results:

    print(row)

# 关闭cursor和连接

cursor.close()

conn.close()

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值