您的位置:

使用Python查询数据库

随着数据处理、存储和分析的需求日益增长,数据库查询技能已经成为了每个程序员必备的技能之一。Python是一种伟大的工具,有助于快速查询任何数据库,无论是MySQL、SQL Server还是Oracle等数据源。本文将介绍如何使用Python查询数据库,并通过代码示例进行演示。

一、准备工作

在Python中连接到数据库需要使用到一个API,Python DB API。该API提供了Python访问数据库的标准方法,支持所有受支持的数据库。要开始使用Python进行数据库查询,您需要安装以下模块:

1、PyMySQL: PyMySQL是在Python 3中支持Python MySQL数据库的响应式库,比MySQLdb更轻量级。

2、cx_Oracle: cx_Oracle是Python语言下连接Oracle数据库的API。

3、psycopg2: Psycopg是PG Python PostgreSQL数据库适配器与数据过滤器。

二、查询数据库表

查询数据是数据库应用程序的核心操作之一。Python提供了更快、更轻松的方式来连接和查询数据库表。首先,我们需要用Python连接到预先定义的数据库。例如,以下代码片段是使用Python连接到MySQL数据库的示例:

import pymysql
# 先连接数据库
conn=pymysql.connect(host="localhost",port=3306,user="root",password="password",db="db")
cur=conn.cursor()
# 查询语句
cur.execute("SELECT * FROM my_table")
rows=cur.fetchall()
# 打印结果
for row in rows:
    print(row)
# 关闭游标和连接
cur.close()
conn.close()

如果您使用的是SQL Server数据库,您可以使用以下代码示例:

import pyodbc
# 连接数据库
conn=pyodbc.connect('DRIVER={SQL Server};'
                    'SERVER=server_name;'
                    'DATABASE=db_name;'
                    'Trusted_Connection=yes;')
cur=conn.cursor()
# 查询语句
cur.execute("SELECT * FROM my_table")
rows=cur.fetchall()
# 打印结果
for row in rows:
    print(row)
# 关闭游标和连接
cur.close()
conn.close()

三、使用Python执行更新操作

另一个核心需求是对数据库进行修改。从插入、更新和删除记录到管理索引,调用存储过程等,Python对于更新数据库非常友好。以下是Python更新MySQL数据库的示例:

import pymysql
conn=pymysql.connect(host="localhost",port=3306,user="root",password="password",db="db")
cur=conn.cursor()
# 更新记录的语句
cur.execute("UPDATE my_table SET my_column='new_value' WHERE id = 123")
# 确认更新操作
conn.commit()
# 关闭游标和连接
cur.close()
conn.close()

四、使用Python插入新记录

Python可以轻易地将新记录插入到数据库中。以下是Python插入MySQL数据库的示例:

import pymysql
conn=pymysql.connect(host="localhost",port=3306,user="root",password="password",db="db")
cur=conn.cursor()
# 插入记录的语句
cur.execute("INSERT INTO my_table (column1, column2, ..., columnN) VALUES ('value1', 'value2', ..., 'valueN')")
# 确认插入操作
conn.commit()
# 关闭游标和连接
cur.close()
conn.close()

五、Python连接Oracle数据库

Python也可以轻易地连接Oracle数据库,并使用Python DB API执行查询、更新、插入、删除等操作。使用Python连接Oracle数据库的代码示例如下:

import cx_Oracle
# 连接Oracle数据库
conn=cx_Oracle.connect("username/password@database_name")
cur=conn.cursor()
# 查询语句
cur.execute("SELECT * FROM my_table")
rows=cur.fetchall()
# 打印结果
for row in rows:
    print(row)
# 关闭游标和连接
cur.close()
conn.close()

总结

本文介绍了如何使用Python进行数据库查询,并提供了一些实际的代码示例。Python是一个非常强大的工具,可以帮助您更快地连接和查询各种数据库。强烈建议您在未来写Python数据库查询时使用这些方法。