首页 > 数据库 >用Python简单操作MySQL!轻松实现数据读写

用Python简单操作MySQL!轻松实现数据读写

时间:2024-08-08 20:53:18浏览次数:13  
标签:Python 读写 PyMySQL cursor values user MySQL 数据 数据库

PyMySQL是Python编程语言中的一个第三方模块,它可以让Python程序连接到MySQL数据库并进行数据操作。它的使用非常简单,只需要安装PyMySQL模块,然后按照一定的步骤连接到MySQL数据库即 可。本文将介绍PyMySQL的安装、连接MySQL数据库、创建表、插入数据、查询数据、更新数据和删除数据等基本操作。 

 

一、安装PyMySQL 

在使用PyMySQL之前,我们需要先安装PyMySQL模块。可以使用pip命令进行安装

 

如下所示:

pip install PyMySQL

 

安装完成后,我们就可以在Python程序中使用PyMySQL模块了。 

 

 

二、连接MySQL数据库 

在使用PyMySQL进行数据库操作之前,我们需要先连接到MySQL数据库。连接MySQL数据库需要指定 数据库的主机名、用户名、密码和数据库名等信息。可以使用PyMySQL中的connect()函数来连接 MySQL数据库

 

如下所示:

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost", "root", "123456", "test")

 

# 关闭数据库连接

db.close()

 

其中,第一个参数是数据库的主机名,如果数据库在本地,则可以使用localhost或127.0.0.1;第二个参数是数据库的用户名,一般为root;第三个参数是数据库的密码;第四个参数是要连接的数据库名。 

 

连接成功后,我们可以使用cursor()方法获取操作游标,如下所示:

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

cursor = db.cursor()

 

 

三、创建表 

 

在创建表之前,我们需要先选择要操作的数据库。可以使用select_db()方法选择要操作的数据库,如下 所示:

# 选择要操作的数据库

db.select_db("test")

选择数据库后,我们可以使用execute()方法执行SQL语句来创建表。

创建表的SQL语句如下所示:

CREATE TABLE `user` (

 `id` int(11) NOT NULL AUTO_INCREMENT,

 `name` varchar(20) NOT NULL,

 `age` int(11) NOT NULL,

 `gender` varchar(10) NOT NULL,

 PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

 

其中, user 是表名, id 、name 、age 和 gender 是表的列名, AUTO_INCREMENT 表示自动递增, NOT NULL 表示不能为空, PRIMARY KEY 表示主键。 

 

执行创建表的SQL语句的代码如下所示:

# 创建表

sql = """

CREATE TABLE `user` (

 `id` int(11) NOT NULL AUTO_INCREMENT,

 `name` varchar(20) NOT NULL,

 `age` int(11) NOT NULL,

 `gender` varchar(10) NOT NULL,

 PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

"""

cursor.execute(sql)

 

执行完毕后,我们可以使用show_tables()方法查看数据库中的表,如下所示:

# 查看数据库中的表

cursor.execute("show tables")

tables = cursor.fetchall()

for table in tables:

 print(table)

 

四、插入数据 

 

在插入数据之前,我们需要先准备好要插入的数据。插入数据可以使用execute()方法执行SQL语句,如下所示:

# 插入数据

sql = "INSERT INTO `user`(`name`, `age`, `gender`) VALUES (%s, %s, %s)"

values = ("张三", 18, "男")

cursor.execute(sql, values)

 

其中, %s 表示占位符,后面的values是要插入的数据。执行完毕后,我们可以使用commit()方法提交事务,如下所示:

# 提交事务

db.commit()

 

五、查询数据 

 

在查询数据之前,我们需要先准备好要查询的条件。查询数据可以使用execute()方法执行SQL语句,如 下所示:

# 查询数据

sql = "SELECT * FROM `user` WHERE `name`=%s"

values = ("张三",)

cursor.execute(sql, values)

result = cursor.fetchall()

forrow in result: print(row)

 

其中, SELECT * FROM user WHERE name =%s 表示查询 user 表中名字为 张三 的记录, %s 是占位符, 后面的values是查询条件。执行完毕后,我们可以使用fetchall()方法获取查询结果。 

 

六、更新数据 

 

在更新数据之前,我们需要先准备好要更新的数据和更新条件。更新数据可以使用execute()方法执行 SQL语句,如下所示:

# 更新数据

sql = "UPDATE `user` SET `age`=%s WHERE `name`=%s"

values = (20, "张三")

cursor.execute(sql, values)

 

其中, UPDATE user SET age =%s WHERE name =%s 表示将 user 表中名字为 张三 的记录的年龄更新为 20, %s 是占位符,后面的values是更新数据和更新条件。执行完毕后,我们可以使用commit()方法提交事务。 

 

七、删除数据 

在删除数据之前,我们需要先准备好要删除的数据和删除条件。删除数据可以使用execute()方法执行 SQL语句,如下所示:

# 删除数据

sql = "DELETE FROM `user` WHERE `name`=%s"

values = ("张三",)

cursor.execute(sql, values)

 

其中, DELETE FROM user WHERE name =%s 表示删除 user 表中名字为 张三 的记录, %s 是占位符,后 面的values是删除条件。执行完毕后,我们可以使用commit()方法提交事务。 

 

八、总结 

本文介绍了PyMySQL的安装、连接MySQL数据库、创建表、插入数据、查询数据、更新数据和删除数据 等基本操作。通过学习本文,读者可以掌握使用PyMySQL进行MySQL数据库操作的基本方法。

 

 

标签:Python,读写,PyMySQL,cursor,values,user,MySQL,数据,数据库
From: https://www.cnblogs.com/zhuuque23/p/18349706

相关文章

  • MySQL高级——MySQL储存引擎
    一、概念1)数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。2)不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。3)用户可......
  • [python][代码]Python中操作DataFrame的常用方法
    Python中操作DataFrame的常用方法主要依赖于pandas库,这是一个功能强大的数据分析工具。以下是一些基本和常用的DataFrame操作方法:1.创建DataFrame:pythonimportpandasaspddata={'Column1':[1,2,3],'Column2':['a','b','c']}df=pd.DataFrame(......
  • 使用 Python 优雅地编排 Dockerfile
    使用python替代dockercompose编排容器dockercompose是docker的容器编排工具,它是基于YAML配置,YAML是一种配置文件格式,支持传递环境变量,但是对于复杂的容器编排显得力不从心。于是我便开发这个程序,可以像写程序一样编排docker,可以充分发挥程序猿的想象力。pipi......
  • 学习 Python 语言,它能干什么?
    学习Python语言,它能干什么?为什么要学习编程语言?随着大数据,人工智能盒区块链技术的不断发展和应用,很多领域的创新需要借助一些前沿技术,而软件创建由需要借助编程语言,编程语言是创新与产品之间的桥桥梁,所以创新与编程语言是相辅相成的,人们借助编程语言完成产品的落地。为什......
  • MySQL——数据库的设计、事务、视图
    文章目录数据库的设计1.多表之间的关系2.实现关系3.数据库设计的范式事务1.事务的基本介绍2.事务的四大特征ACID3.事务的隔离级别(了解即可)视图1.什么是视图?2.视图创建及使用方法3.注意事项4.为什么使用视图数据库的设计1.多表之间的关系一对一(了解)如:人和身份证......
  • Python的安装环境以及应用
    1.环境python2,Python最新安装3.12可以使用源码安装查看安装包[root@python001~]#yumlistinstalled|grepepel3[root@python001~]#yumlistinstalled|greppython[root@python001~]#yum-yinstallpython3    安装python3查看版本[root@python001......
  • 解锁Python副业密码:从零到日赚1000+的惊人蜕变之路与实战秘籍
    在当今这个数字化时代,掌握一门编程语言如同手握一把开启无限可能的钥匙。Python,以其简洁的语法、丰富的库支持和广泛的应用领域,成为了众多编程爱好者及专业人士的首选。本文将深入探讨如何利用Python技能,开启一条副业之路,并探讨实现日赚1000+的可行策略与实战心得。一、前言:......
  • 【人工智能】【机器学习】-好书推荐之《Python神经网络编程》
    目录内容概览编程环境面向对象学习目标如果你是想要自学机器学习相关知识的读者,我相信看完这篇文章的介绍后,你会对机器学习有更清晰的认识。帮助你走进机器学习的殿堂。《Python神经网络编程》(原书名:MakeYourOwnNeuralNetwork)是一本深度学习领域的入门级书籍,由Tar......
  • 19:Python字符串格式化
    #字符串格式化,用两种方法:百分号和format方式,百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。#百分号(%)是一个运算符,用于进行字符串格式化、取模运算和格式化输出#百分号方式##%[(name)][flags][width].[precision]typecode##(name)......
  • 面试官:说说MySQL调优?
    MySQL作为关系型数据库的典型代表,其流行程度超越于任何数据库,因此在Java面试中,MySQL是一定会被问到的重要知识点。而在MySQL中有一道极其常见的面试题,我们这里系统的来看一下,这就是我们今天要讨论的MySQL调优问题。MySQL调优的大体思路如下:具体调优思路如下。1.查询......