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

yizhihongxing

下面是详细的讲解:

准备工作

  • 在服务器上安装并配置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日

相关文章

  • 详解 Mysql 事务和Mysql 日志

    详解 Mysql 事务和 Mysql 日志 事务 在数据库中,事务是指一组操作,这些操作要么全部执行成功,要么全部失败回滚。例如,银行转账操作需要将转出账户的钱减少,同时将转入账户的钱增加,这两个操作必须在同一个事务中执行,以保证数据的一致性。 Mysql支持ACID规范,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolat…

    database 2023年5月22日
    00
  • C#操作mysql数据库的代码实例

    下面我将给你详细讲解“C#操作mysql数据库的代码实例”的完整攻略。 简介 MySQL是一种常见的数据库管理系统,C#语言可以通过访问MySQL提供的API来实现操作MySQL数据库。在本攻略中,我们将以Visual Studio 2019为例,演示如何使用C#语言操作MySQL数据库。 准备工作 在开始之前,我们需要准备好以下工具: Visual Stu…

    database 2023年5月21日
    00
  • MySql索引提高查询速度常用方法代码示例

    当我们需要查询大量数据时,经常会遇到查询效率低下的问题。而索引是提高查询速度的重要手段之一。本文将介绍MySQL中索引的常用方法和相关代码示例。 一、什么是索引? 索引是对数据库表中一列或多列的值进行排序的一种数据结构,可加速对这些列的查找。在数据库中,索引相当于一本书的目录,能使读者快速找到所需信息。 二、MySQL索引类型 MySQL中常用的索引类型有如…

    database 2023年5月19日
    00
  • php在linux环境中如何使用redis详解

    PHP在Linux环境中如何使用Redis 1. 安装Redis扩展 在Linux环境下启用Redis扩展需要使用PECL来安装。假设你已经安装了PHP和Redis服务器,请按照以下步骤: 安装PECL和PHP开发包 sudo apt-get install php-pear php-dev 安装Redis扩展 sudo pecl install redis…

    database 2023年5月22日
    00
  • 几种MySQL中的联接查询操作方法总结

    几种MySQL中的联接查询操作方法总结 在MySQL中,联接查询是非常常见的操作,它可以将多个数据表中的数据合并在一起,能够满足复杂查询的需求。本文总结了几种MySQL中的联接查询操作方法,希望能为读者提供一些参考。 内连接查询(INNER JOIN) 内连接查询是联接操作中最常用的一种方法。它会将多个表中共有的数据记录连接在一起,只输出同时存在于这些表中的…

    database 2023年5月22日
    00
  • Sqlserver 2000/2005/2008 的收缩日志方法和清理日志方法

    收缩日志方法: 使用 SQL Server Management Studio (SSMS) 收缩日志: 打开 SSMS,连接到 SQL Server 数据库。 在左侧面板中展开该数据库并右键单击“任务”,选择“收缩”。 在弹出的“收缩数据库”对话框中,选择“文件类型”为“日志”,然后点击“OK”即可执行收缩操作。 使用 T-SQL 命令收缩日志: 打开 S…

    database 2023年5月21日
    00
  • DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 .

    DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 本文将详细讲解DB2新手使用的一些小笔记,包括新建实例、数据库路径不存在、客户端连接等内容。 新建实例 在使用DB2时,我们需要先创建实例。具体操作如下: 1.使用管理员权限启动命令控制台。 2.运行下面的命令创建一个新的实例: db2icrt <实例名> 其中<实例名&g…

    database 2023年5月22日
    00
  • WampServer下安装多个版本的PHP、mysql、apache图文教程

    以下是详细的攻略: 1. 下载WampServer 首先需要下载安装WampServer,可去官网下载。 2. 安装多个版本的PHP、mysql、apache 2.1 准备多个版本的PHP、mysql、apache 在官网的下载页面可以看到WampServer自带的版本信息,也可以在Apache/PHP/MySQL的官网下载各种版本。 安装多个版本需要确保p…

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