python简单实现操作Mysql数据库

yizhihongxing

下面我来为大家详细讲解如何在Python中实现对MySQL数据库的操作。

1. 安装相关库

要在Python中操作MySQL数据库,我们需要先安装MySQL数据库的Python驱动,即pymysql库,可以使用下面的指令进行安装:

pip install pymysql

安装完成后,我们就可以在Python中使用pymysql库对MySQL数据库进行操作了。

2. 连接数据库

连接MySQL数据库通常需要指定数据库的地址、用户名、密码以及要连接的数据库名称。我们可以使用下面的代码来进行连接:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', passwd='password', db='test')

# 关闭数据库连接
db.close()

3. 执行SQL语句

连接成功后,我们可以使用cursor()方法创建一个游标对象,用于执行SQL语句:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', passwd='password', db='test')

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print("Database version : %s " % data)

# 关闭数据库连接
db.close()

这段代码将会查询MySQL数据库的版本号,并输出到控制台。

4. 示例1:插入数据

下面我们将通过一个完整的例子来演示如何向MySQL数据库中插入数据:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', passwd='password', db='test')

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) \
       VALUES ('Zhang', 'San', 28, 'M', 3000)"
try:
    # 执行sql语句
    cursor.execute(sql)
    # 提交到数据库执行
    db.commit()
except:
    # 如果发生错误则回滚
    db.rollback()

# 关闭数据库连接
db.close()

这段代码将向EMPLOYEE表中插入一个员工信息。

5. 示例2: 查询数据

我们也可以通过如下代码来查询表中的数据:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', passwd='password', db='test')

# 使用 cursor() 方法创建一个游标对象 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:
        first_name = row[0]
        last_name = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]
        # 打印结果
        print("first_name=%s,last_name=%s,age=%d,sex=%s,income=%d" % (first_name, last_name, age, sex, income))
except:
    print("Error: unable to fetch data")

# 关闭数据库连接
db.close()

这段代码将查询EMPLOYEE表中所有收入大于1000的员工,并将结果输出到控制台。

综上所述,以上就是在Python中操作MySQL数据库的完整攻略,中间有两个示例分别演示了如何插入和查询数据,希望可以对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python简单实现操作Mysql数据库 - Python技术站

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

相关文章

  • python正则表达式match和search用法实例

    正则表达式是一种强大的文本处理工具,可以用来匹配、查找、替换、分割等。在Python中,我们可以使用正则表达式来处理文本。本文将详细讲解Python正则表达式match和search用法实例完整攻略,包括正则表达式的基本语法、match和search函数的用法和两个示例说明。 正则表达式的基本语法 正则表达式是由普通字符和元字符组成的字符串,用来描述文本模式…

    python 2023年5月14日
    00
  • Python cookie的保存与读取、SSL讲解

    本攻略将提供一个Python cookie的保存与读取、SSL讲解,包括cookie的概念、保存与读取cookie的方法,以及SSL的概念和使用方法。攻略将包含两个示例,分别演示如何保存和读取cookie,以及如何使用SSL。 Cookie的保存与读取 Cookie是Web编程中的基本概念,用于在客户端和服务器之间传递数据。以下是一个示例,演示如何使用Pyt…

    python 2023年5月15日
    00
  • 十个Python经典小游戏的代码合集

    首先,感谢您对“十个Python经典小游戏的代码合集”感兴趣。该合集收录了十个Python经典小游戏的完整源代码,您可以通过学习这些代码来提高自己的编程能力,为写出更好的Python程序打下基础。 在该合集中,每个游戏都有对应的.py文件,您可以直接打开并运行这些文件来玩一玩这些小游戏,或者阅读源代码并了解其中的实现细节。以下是详细的攻略: 下载和安装 您可…

    python 2023年5月19日
    00
  • Python计算三维矢量幅度的方法

    下面是关于“Python计算三维矢量幅度的方法”的完整攻略: 前言 在进行数据分析、数据可视化等工作当中,我们经常会遇到需要计算三维矢量幅度的问题。本文将介绍 Python 中计算三维矢量幅度的方法,以及如何实现。 问题描述 我们需要计算三维矢量 $(x, y, z)$ 的长度,也就是三维矢量的幅度,即 $\sqrt{x^2 + y^2 + z^2}$。 解…

    python 2023年6月3日
    00
  • 10个示例带你掌握python中的元组

    10个示例带你掌握 Python 中的元组 元组(tuple)是 Python 中的一种基本数据结构,可以视为不可变的列表。元组的创建方式和列表类似,但是元组创建后不能再进行修改。 1. 创建元组 元组可通过多种方式创建,以下是其中几种: 1.1 直接使用小括号 t1 = () t2 = (1, 2, 3) t3 = (4,) 上面的代码中,t1 表示空元组…

    python 2023年5月14日
    00
  • 基于plt.title无法显示中文的快速解决

    题目中提到的“基于plt.title无法显示中文”的问题,是由于matplotlib默认使用英文字体来显示标签和标题,而中文字体较为特殊,需要通过特殊的设置才能正常显示。下面是一些常用的解决方法: 方法1: 设置全局字体 可以通过设置matplotlib全局字体来解决中文乱码的问题。在脚本或ipython notebook中,使用如下代码可以设置全局字体: …

    python 2023年5月20日
    00
  • python代码能做成软件吗

    当然可以,Python语言可以编写独立的可执行软件。下面是Python代码可以转为可执行程序的完整攻略: 1. 安装pyinstaller pyinstaller是将Python程序转化为独立可执行程序的工具,使用前需要在命令行中安装该工具。 可以通过pip安装: pip install pyinstaller 2. 编写Python代码 例如,编写如下Py…

    python 2023年5月30日
    00
  • 是否可以更改表以包含对 python 数据联合中上游表的引用?

    【问题标题】:Is it possible to alter a table to include reference to an upstream table in datajoint for python?是否可以更改表以包含对 python 数据联合中上游表的引用? 【发布时间】:2023-04-08 00:28:01 【问题描述】: 我们希望更改一个…

    Python开发 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部