python远程连接服务器MySQL数据库

下面是详细的讲解:

准备工作

  • 在服务器上安装并配置MySQL,确保能够正常连接和操作
  • 安装Python,在本地电脑或服务器上都可,版本建议使用3.x

安装pymysql库

使用pip或conda命令进行安装:pip install pymysqlconda install pymysql

连接数据库

使用pymysql.connect()方法连接MySQL数据库。这个方法接收若干个参数,其中最重要的是host、user、password和db,分别代表数据库的主机地址、用户名、密码和要连接的数据库名。以下是示例代码:

import pymysql

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

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

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

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

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

执行SQL语句

连接数据库成功后,就可以执行SQL语句了。使用游标对象执行execute()方法即可,该方法接收SQL语句作为参数,并返回一个元组,其中第一个元素表示执行影响的行数,第二个元素是查询结果。以下是示例代码:

import pymysql

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

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

# 插入一条数据
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) \
       VALUES ('Mac', 'Mohan', 20, 'M', 2000)"
try:
    # 执行sql语句
    cursor.execute(sql)
    # 提交到数据库执行
    db.commit()
    print("插入数据成功!")
except:
    # 如果发生错误则回滚
    db.rollback()
    print("插入数据失败!")

# 查询所有数据
sql = "SELECT * FROM EMPLOYEE"
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("查询数据失败!")

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

以上示例代码分别执行了插入一条数据和查询所有数据的操作,通过两个try...except来捕获执行中的错误。

示例说明

示例1

现在假设有一张students表:

id name score
1 小明 85
2 小红 92
3 小刚 78

我们要在Python中连接到这个数据库,并查询出所有成绩大于等于80分的学生姓名和分数。以下是示例代码:

import pymysql

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

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

# 查询所有成绩大于等于80分的学生
sql = "SELECT name, score FROM students WHERE score >= 80"
try:
    # 执行sql语句
    cursor.execute(sql)
    # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        name = row[0]
        score = row[1]
        # 打印结果
        print("name=%s,score=%d" % (name, score))
except:
    print("查询数据失败!")

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

示例2

现在假设服务器上的数据库是在线的商城mall,里面有一张订单表order,其中包含了订单号、购买商品名称、购买数量、客户姓名和订单总价。我们要在Python中连接到这个数据库,并查询出前5条订单记录。以下是示例代码:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='192.168.1.100', user='username', password='password', db='mall', port=3306)

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

# 查询前5条订单记录
sql = "SELECT * FROM order LIMIT 5"
try:
    # 执行sql语句
    cursor.execute(sql)
    # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        order_no = row[0]
        goods_name = row[1]
        quantity = row[2]
        customer_name = row[3]
        total_price = row[4]
        # 打印结果
        print("order_no=%s,goods_name=%s,quantity=%d,customer_name=%s,total_price=%d" % (order_no, goods_name, quantity, customer_name, total_price))
except:
    print("查询数据失败!")

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

以上就是关于Python远程连接服务器MySQL数据库的详细攻略,希望对你有帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python远程连接服务器MySQL数据库 - Python技术站

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

相关文章

  • linux mount报错:you must specify the filesystem type的解决方法

    当在Linux系统中执行mount命令时,可能会遇到错误提示“You must specify the filesystem type”。这是因为操作系统无法自动识别与挂载的硬件,你需要手动指定文件系统的类型。下面我将为你提供完整的攻略,让你可以轻松解决这个问题。 1. 确认文件系统 首先,你需要确认将要挂载的硬件的文件系统类型。你可以使用fdisk命令来检…

    database 2023年5月22日
    00
  • redis安装、配置、使用和redis php扩展安装教程

    下面就来详细讲解一下“redis安装、配置、使用和redis php扩展安装教程”的完整攻略。 redis安装 下载redis 官网下载地址:https://redis.io/download,我们选择稳定版的最新版本。下载完成后,解压到我们希望的路径下。 安装redis 进入到redis目录,执行make命令进行编译,再执行make install命令将编…

    database 2023年5月18日
    00
  • C# SQLite数据库入门使用说明

    下面是“C# SQLite数据库入门使用说明”的完整攻略。 C# SQLite数据库入门使用说明 什么是SQLite数据库 SQLite 是一个轻量级的嵌入式关系型数据库系统。它是由Richard Hipp在1998年创建的,是一款用C语言开发的开源的数据库系统,支持SQL语言标准。SQLite 以文件形式存储数据库,这是与其他数据库软件的一个重要不同点。 …

    database 2023年5月21日
    00
  • SpringBoot集成redis错误问题及解决方法

    下面我将详细讲解“SpringBoot集成redis错误问题及解决方法”的完整攻略,包含以下内容: 环境搭建 异常情况分析 解决方法 示例说明 环境搭建 首先需要在SpringBoot项目中添加redis依赖,可以使用以下maven依赖: <dependency> <groupId>org.springframework.boot&l…

    database 2023年5月22日
    00
  • Java项目防止SQL注入的几种方法总结

    Java项目防止SQL注入的几种方法总结 什么是SQL注入? 在介绍如何防止SQL注入之前,我们先来了解一下什么是SQL注入。SQL注入是指黑客利用Web应用程序中的SQL语句输入漏洞,通过在用户输入中注入SQL片段来执行非法的SQL语句从而达到欺骗数据库服务器执行恶意SQL语句的目的,进而获取敏感数据,控制服务器或者破坏数据。防止SQL注入是Web应用程序…

    database 2023年5月21日
    00
  • Spring Boot 项目集成Redis的方式详解

    下面是Spring Boot 整合Redis的完整攻略: 准备工作 在开始配置之前,我们需要完成几个基本的准备工作。 添加Redis依赖 使用Spring Boot集成Redis需要在pom.xml中添加spring-boot-starter-data-redis依赖,建议使用最新版本。 <dependency> <groupId>o…

    database 2023年5月22日
    00
  • 解决redis服务启动失败的问题

    以下是解决Redis服务启动失败的步骤: 确认错误信息 首先,需要确认Redis启动失败的错误信息。可以在启动命令行中找到错误信息,或者查看Redis的日志文件来确认错误原因。通常的错误信息包括以下几种类型: 端口被占用 配置文件错误 Redis二进制文件损坏 内存不足 检查端口 如果Redis启动失败的原因是端口被占用,可以通过手动关闭被占用的端口或者更改…

    database 2023年5月22日
    00
  • 利用openfiler实现iSCSI原理分析

    简介: openfiler 是一个高性能的网络存储管理系统,支持 iSCSI 相关协议,可以轻松地搭建企业级网络存储。本文将详细介绍如何使用 openfiler 搭建 iSCSI 存储系统。 准备工作: 一台安装了 CentOS 7 的服务器; 一张 openfiler 的 ISO 镜像; 一块硬盘或者一个 U 盘用来安装 openfiler。 安装 ope…

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