python 管理系统实现mysql交互的示例代码

下面我为你详细讲解一下 "Python 管理系统实现 MySQL 交互的示例代码" 的实现攻略:

简介

我们使用 Python 语言编写的程序,需要与服务端 MySQL 数据库进行交互来完成数据的读取和更新操作。通过 Python 的 MySQL 驱动模块,我们可以使用 Python 通过 MySQL 协议来与 MySQL 数据库连接,实现操作数据的功能。

相关工具准备

  • 首先需要安装 MySQL 数据库,可前往 MySQL 官网 选择适合自己的版本下载并安装。
  • 安装 Python MySQL 驱动模块,可通过 pip 命令行工具来进行安装:
pip install pymysql

Python 数据库连接

首先,在 Python 程序中要实现与 MySQL 数据库进行交互,我们需要先连接到 MySQL 数据库。具体代码如下:

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "用户名", "密码", "test")

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

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

这里我们使用 pymysql.connect() 函数连接到 MySQL 数据库,这个方法的参数依次为"主机名","用户名","密码","数据库名"。如果数据库连接成功,方法将返回一个数据库对象。

接着我们使用 db.cursor() 创建游标对象,该对象可用于执行 SQL 语句并进行操作。

最后我们使用 db.close() 关闭数据库连接。需要注意的是,如果打开了数据库连接, 必须关闭它(避免资源浪费)。

创建数据库和表

我们可以使用 Python 连接 MySQL 数据库后,创建数据库也就是执行 SQL 语句的操作。以下示例创建了一个名为 test 的数据库:

import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "root", "123456")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL,如果数据库存在就删除
cursor.execute("DROP DATABASE IF EXISTS test")
# 使用 execute() 方法执行 SQL,创建一个新的数据库 test
cursor.execute("CREATE DATABASE test")
# 关闭游标和连接
cursor.close()
db.close()

创建表的过程与创建数据库的过程类似,假设创建一个包含 idname 两个字段的名为 user 的表。以下示例是创建表的代码:

import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "root", "123456", "test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 如果表存在就删除
cursor.execute("DROP TABLE IF EXISTS user")
# 使用预处理语句创建表
sql = """CREATE TABLE user (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL)"""
cursor.execute(sql)
# 关闭游标和连接
cursor.close()
db.close()

以上语句使用了 SQL 预处理语句来创建表。这种方式,可以避免 SQL 注入问题。

插入数据

接着我们继续看下如何向表中插入数据,以下示例是向 user 表中插入一条数据的代码:

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "root", "123456", "test")

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

# SQL 插入语句
sql = """INSERT INTO user(id, name)
         VALUES (1, 'san')"""
try:
    # 执行 SQL 语句
    cursor.execute(sql)
    # 提交到数据库执行
    db.commit()
except:
    # 如果发生错误则回滚
    db.rollback()

# 关闭游标和连接
cursor.close()
db.close()

查询数据

以下示例代码,展示了如何从 user 表中获取数据:

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "root", "123456", "test")

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

# SQL 查询语句
sql = "SELECT * FROM user WHERE name = '%s'" % ('san')
try:
    # 执行SQL语句
    cursor.execute(sql)
    # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        id = row[0]
        name = row[1]
        # 打印结果
        print("id=%s,name=%s" % (id, name))
except:
    print("Error: unable to fetch data")

# 关闭游标和连接
cursor.close()
db.close()

以上代码使用了 cursor.fetchall()for 循环遍历结果集,打印每条结果集中的 idname

以上就是 Python 通过 MySQL 驱动模块实现与 MySQL 数据库交互的示例代码攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 管理系统实现mysql交互的示例代码 - Python技术站

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

相关文章

  • 50个Python面试问题集锦

    50个Python面试问题集锦 本文介绍了50个常见的Python面试问题及其解决方案,内容涵盖了Python基础知识、Python高级特性以及Python相关的库和框架。 Python基础知识 1. Python的基本数据类型有哪些? Python的基本数据类型包括数值型、字符串型、布尔型、列表、元组、字典和集合等。 2. Python中的可变数据类型和不…

    python 2023年6月5日
    00
  • python的多元数据类型(下)

    当谈到Python的数据类型时,通常会谈到其五种基本类型。但实际上Python还支持不止这几种类型。在本文中,我们将介绍Python中的多元数据类型,包括元组(Tuple)、集合(Set)和字典(Dictionary)。 元组(Tuple) 元组是一个有序且不可变的数据类型,表示为一组用逗号隔开的值,可以通过索引访问每个元素。元组和列表的唯一不同是:元组不能…

    python 2023年5月14日
    00
  • python使用pandas处理大数据节省内存技巧(推荐)

    让我为你详细讲解“python使用pandas处理大数据节省内存技巧(推荐)”的完整攻略。 1. 概述 当我们使用Python进行数据分析时,Pandas是一种非常常用的数据处理工具,但是在处理大数据时,由于数据量过大,程序往往会出现内存问题,因此需要采用一些技巧来优化内存使用效率。 2. 节省内存技巧 2.1 使用pandas的read_csv函数时,设置…

    python 2023年5月13日
    00
  • 解析Python中while true的使用

    下面是关于“解析Python中while True的使用”的完整攻略: 1. while True 基本使用 while True: 在 Python 中是一个常用的语句结构,它的作用是循环执行某些操作,直到条件不成立。 使用while True语句时,需要注意以下几点: 必须在循环体内加入跳出循环的语句,否则程序将会陷入死循环; 循环条件语句必须返回布尔类…

    python 2023年5月13日
    00
  • Django框架验证码用法实例分析

    下面我来详细讲解一下“Django框架验证码用法实例分析”的完整攻略。 1. 什么是验证码? 验证码是指需要用户输入的一种区别于密码的识别字符,通常是由数字或字母组成,主要用于防止机器人恶意提交表单,保护网站安全和用户隐私。 2. Django中的验证码 Django中提供了很多验证码的第三方库,其中比较流行的有以下几种: django-captcha dj…

    python 2023年6月3日
    00
  • python利用多线程+队列技术爬取中介网互联网网站排行榜

    Python利用多线程+队列技术爬取中介网互联网网站排行榜 本文将详细讲解如何使用Python的多线程和队列技术爬取中介网互联网网站排行榜。我们将使用requests和BeautifulSoup库来获取和解析网页内容,使用多线程和队列技术来提高爬取效率。 爬取网页内容 首先,我们需要使用requests库来获取网页内容。以下是一个获取网页内容的示例: imp…

    python 2023年5月15日
    00
  • python中的全局变量与局部变量

    1,局部变量与全局变量 1,定义 局部变量:就是在函数体内的变量,在python中冒号“:”后面的变量都是局部变量,当然局部与全局也是一个相对的概念。比如出现函数嵌套的情况。 全局变量:就是在模块中所有函数都可以调用的变量,一般在函数体外被定义。   2,使用过程 函数内的局部变量,在函数体外是不可以使用的,函数内的变量就是局部变量,只在函数体内生效。 例如…

    python 2023年4月25日
    00
  • Python函数式编程实现登录注册功能

    Python函数式编程是一种程序设计的范式,其核心思想是将计算视为函数的运算,倡导使用函数式编程来处理问题。下面,我将为您详细讲解如何通过Python函数式编程实现登录注册功能。 1. 前置知识 在进行Python函数式编程实现登录注册功能前,您需要对以下几个知识点有所了解: Python基础知识 Python面向对象编程 Python装饰器 Python库…

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