下面我将详细讲解Python连接数据库学习之DB-API详解的完整攻略。
Python连接数据库学习之DB-API详解
什么是DB-API
- DB-API(Database Application Programming Interface)是python访问关系型数据库的标准API。
- Python DB-API定义了一些常用数据库操作的方法和规范,目的是使得不同的数据库软件开发出符合PythonDB-API规范的驱动程序可以被python直接调用。
安装数据库驱动
使用Python连接数据库需要用到数据库驱动,这里以mysql为例,介绍安装mysql驱动的方法。
- 安装pymysql
pip install pymysql
- 验证是否安装成功
```
import pymysql
db=pymysql.connect("localhost","root","123456","testdb")
print(db)
```
执行该程序后,如果没有报任何错误,就表示连接成功。
连接数据库
连接数据库是使用Python进行数据库操作的第一步,在使用Python访问MySQL数据库时,需要使用pymysql.connect()方法来建立与MySQL数据库的连接。
示例代码1:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","root","123456","testdb" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print ("Database version : %s " % data)
# 关闭数据库连接
db.close()
示例代码2:
import pymysql
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
cursor = db.cursor()
sql = "SELECT * FROM students"
try:
cursor.execute(sql)
results = cursor.fetchall() # 以元组形式返回所有结果
for row in results:
name = row[0]
age = row[1]
sex = row[2]
print("name:%s,age:%d,sex:%s" % \
(name, age, sex))
except:
print ("Error:unable to fetch data")
db.close()
查询数据
查询表格数据是一个最常见的操作,pymysql模块提供了丰富的方法和API来查询数据,下面是一个查询数据库表格数据的示例代码。
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","root","123456","testdb" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT * FROM testdb.mytable")
# 使用 fetchone() 方法获取单条数据.
# data = cursor.fetchone()
# 获取所有数据
data = cursor.fetchall()
for row in data:
print(row)
# 关闭数据库连接
db.close()
插入数据
对于无结构的数据而言,可以先使用insert语句向表格中插入数据,以下代码示例演示了使用 Python向数据库表格中插入数据:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","root","123456","testdb" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 插入语句
sql = """INSERT INTO testdb.mytable(name,
age, sex, income)
VALUES ('Jack', 30, '男', 4000)"""
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 如果发生错误,回滚插入操作
db.rollback()
# 关闭数据库连接
db.close()
以上是Python连接数据库学习之DB-API详解的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python连接数据库学习之DB-API详解 - Python技术站