Python连接数据库学习之DB-API详解

下面我将详细讲解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驱动的方法。

  1. 安装pymysql

pip install pymysql

  1. 验证是否安装成功

```
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技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • mysql条件查询and or使用方法及优先级实例分析

    MySQL条件查询AND OR使用方法及优先级实例分析 概述 MySQL条件查询时,经常会用到AND和OR连接多个条件。在使用的时候,需要注意条件的优先级以及如何正确组合条件,避免出现查询结果与预期不符的情况。 AND与OR AND 和 OR 是最常见的条件连接方式,其中 AND 类似于逻辑中的“与”, OR 类似于逻辑中的“或”。它们的使用方式如下: AN…

    database 2023年5月22日
    00
  • 使用Oracle跟踪文件的问题详解

    下面是关于使用Oracle跟踪文件的问题详解的完整攻略。 问题背景 在使用Oracle数据库过程中,有时候会遇到一些性能问题或者其它问题,此时可以使用Oracle跟踪文件来帮助我们进行分析和定位问题。但是在实际使用过程中,有很多人并不是很了解如何正确地使用Oracle跟踪文件。接下来我们将详细讲解如何使用Oracle跟踪文件。 解决方案 使用Oracle跟踪…

    database 2023年5月21日
    00
  • Android SQLite数据库彻底掌握数据存储

    Android SQLite数据库彻底掌握数据存储 前言 Android是个流行的移动操作系统,许多App需要获取、存储和处理数据。SQLiteDatabase是一个轻量级的数据库技术,它可被嵌入在你的应用程序中,能够提供访问和保存数据的方法。本文将为你介绍如何在Android应用程序中彻底掌握SQLite数据库,包括创建和管理数据库、增删改查操作、以及如何…

    database 2023年5月21日
    00
  • yii2 下的redis常用命令集合

    <?php \Yii::$app->redis->set(‘user’,’aaa’); \Yii::$app->redis->set(‘user2′,’bbb’); \Yii::$app->redis->set(‘user3′,’ccc’); \Yii::$app->redis->set(‘user4’,…

    Redis 2023年4月16日
    00
  • C#连接操作 MySQL 数据库实例(使用官方驱动)

    下面是C#连接操作MySQL数据库实例(使用官方驱动)的完整攻略。 1. 安装 MySQL Connector/NET Connector/NET 是 MySQL 官方提供的 C# 驱动,用于与 MySQL 数据库进行连接和操作。安装步骤如下: 打开MySQL Connector/NET官网下载页面,选择对应的操作系统版本,下载最新的 MySQL Conne…

    database 2023年5月21日
    00
  • Navicat for SQL Server v15中文版详细安装激活教程(含注册机)

    下面是 “Navicat for SQL Server v15中文版详细安装激活教程(含注册机)” 的完整攻略: 介绍 Navicat for SQL Server 是一款专业的 SQL Server 数据库管理和开发工具,它可以在 Windows、Mac 和 Linux 系统上运行,并支持多种语言的操作。在这里,我们将会讲解 Navicat for SQL…

    database 2023年5月22日
    00
  • mysql 查询数据库中的存储过程与函数的语句

    查询数据库中的存储过程与函数需要使用到mysql系统库中的information_schema表。以下是基于MySQL 5.7版本以上的完整攻略: 查询所有存储过程的语句 SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM information_schema.ROUTINES WHERE ROUTINE_TYPE=’P…

    database 2023年5月21日
    00
  • Centos7下安装和配置MySQL5.7.20的详细教程

    下面是详细的“Centos7下安装和配置MySQL5.7.20的详细教程”。 1. 安装MySQL 1.1 下载MySQL软件包 从MySQL官方网站下载MySQL 5.7.20的版本压缩包,下载地址为 https://dev.mysql.com/downloads/mysql/5.7.html 。 建议下载“Generic Linux (Architect…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部