随着数据量的不断增加,数据库的应用越来越普遍。Python作为一种优秀的编程语言,具有简单易学、代码易读等特点,因此在数据库的应用中得到了广泛的应用。那么,Python怎么调用数据库呢?本文从多个角度分析Python如何调用数据库。
一、Python调用数据库的基本流程
Python调用数据库的基本流程包括连接数据库、执行SQL语句、获取结果三个步骤。
连接数据库:首先,需要使用Python中的DB API模块连接到数据库。这些模块通常由各个数据库供应商提供,例如MySQL提供了MySQLdb、PyMySQL,Oracle提供了cx_Oracle等。
执行SQL语句:连接到数据库后,需要执行SQL语句。SQL语句可以是查询语句、插入语句、更新语句、删除语句等。
获取结果:执行SQL语句后,需要从数据库中获取结果。结果可以是查询结果集、更新、插入、删除的结果等。
二、Python调用MySQL数据库
Python中调用MySQL数据库的模块有MySQLdb、PyMySQL等。以MySQLdb为例,下面介绍Python如何调用MySQL数据库。
1.安装MySQLdb模块
在Python中使用MySQLdb模块之前,需要先安装该模块。可以通过pip命令进行安装,命令如下:
$ pip install MySQL-python
2.连接MySQL数据库
连接MySQL数据库的代码如下:
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "username", "password", "database")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 关闭数据库连接
db.close()
3.执行SQL语句
执行SQL语句的代码如下:
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "username", "password", "database")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > %d" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income)
except:
print "Error: unable to fetch data"
# 关闭数据库连接
db.close()
三、Python调用Oracle数据库
Python中调用Oracle数据库的模块有cx_Oracle等。以cx_Oracle为例,下面介绍Python如何调用Oracle数据库。
1.安装cx_Oracle模块
在Python中使用cx_Oracle模块之前,需要先安装该模块。可以通过pip命令进行安装,命令如下:
$ pip install cx_Oracle
2.连接Oracle数据库
连接Oracle数据库的代码如下:
import cx_Oracle
# 连接数据库
conn = cx_Oracle.connect('username/password@ip:port/service_name')
# 获取cursor
cursor = conn.cursor()
# 关闭数据库连接
conn.close()
3.执行SQL语句
执行SQL语句的代码如下:
import cx_Oracle
# 连接数据库
conn = cx_Oracle.connect('username/password@ip:port/service_name')
# 获取cursor
cursor = conn.cursor()
# SQL查询语句
sql = 'SELECT * FROM EMPLOYEE WHERE INCOME > :income'
cursor.execute(sql, {'income': 1000})
# 获取结果
rows = cursor.fetchall()
for row in rows:
fname, lname, age, sex, income = row
print(fname, lname, age, sex, income)
# 关闭数据库连接
conn.close()
四、Python调用MongoDB数据库
Python中调用MongoDB数据库的模块有pymongo等。以pymongo为例,下面介绍Python如何调用MongoDB数据库。
1.安装pymongo模块
在Python中使用pymongo模块之前,需要先安装该模块。可以通过pip命令进行安装,命令如下:
$ pip install pymongo
2.连接MongoDB数据库
连接MongoDB数据库的代码如下:
import pymongo
# 连接数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 获取数据库
db = client["mydatabase"]
# 获取集合
col = db["customers"]
# 关闭数据库连接
client.close()
3.执行查询
执行查询的代码如下:
import pymongo
# 连接数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 获取数据库
db = client["mydatabase"]
# 获取集合
col = db["customers"]
# 查询数据
query = {"address": "Park Lane 38"}
result = col.find(query)
# 输出结果
for x in result:
print(x)
# 关闭数据库连接
client.close()
五、总结
Python调用数据库的基本流程包括连接数据库、执行SQL语句、获取结果三个步骤。Python调用MySQL数据库的模块有MySQLdb、PyMySQL等;调用Oracle数据库的模块有cx_Oracle等;调用MongoDB数据库的模块有pymongo等。Python调用数据库是非常方便的,可以快速实现对数据库的操作。