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()
发表评论