Python数据库编程pymysql

article/2025/7/22 21:23:26

Python数据库编程pymysql

一、数据库编程介绍

数据库编程就是针对数据库的操作,通过编写程序的方式,让程序做为数据库的客户端进行数据库操作。

对于MySQL的操作我们可以通过SQL语句,但是有很多情况下我们需要写入MySQL的数据非常多,并且是在其他平台获取数据的同时写入MySQL,需要边获取边写入,这种情况是不适合使用SQL语句的。

有些情况是我们需要读取MySQL中的数据,来给代码使用,这个时候我们需要将数据直接读到代码中,也不适合使用SQL语句。

Python提供了一个数据库编程的库pymysql,通过pymysql,我们可以通过代码来对数据库进行增、删、改、查操作,而不需要使用SQL语句,并且可以从其他平台获取数据的同时将数据写到数据库中,也可以读取数据后立即给代码使用。

本文就介绍pymysql对MySQL数据库的增、删、改、查操作方法。

二、准备事项

要对数据库进行操作,我们需要先准备好数据库,数据表以及连接数据库的用户。

我们先用通过root用户登录MySQL。

mysql -u root -p

1.创建数据库pymysql_demo 

create database pymysql_demo charset utf8; 

2.使用数据库pymysql_demo

use pymysql_demo; 

3.创建表test_table

create table test_table(id int unsigned primary key auto_increment not null,create_time TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP,test_data LONGTEXT not null); 

4.创建数据库用户pymysql

# 用户名 pymysql, 密码 mysql 只能对pymysql_demo数据库进行操作,可以进行所有操作 
grant all privileges on pymysql_demo.* to 'pymysql'@'localhost' identified by 'mysql';

三、数据插入操作

在Python中操作数据库,不管是增删改查,都要经过五个步骤,分别是连接数据库,获取游标,数据库操作,关闭游标,关闭数据库连接。

from pymysql import connectdef insert_data():"""在mysql中新增一条数据"""# 1.创建连接conn = connect(host="localhost",port=3306,user="pymysql",password="mysql",database="pymysql_demo",charset="utf8")# 2.创建游标cursor = conn.cursor()# 3.执行语句sql = '''insert into test_table values(0, now(), 'Hello MySQL!');'''try:cursor.execute(sql)conn.commit()except Exception as e:print(e)# 4.关闭游标cursor.close()# 5.关闭连接conn.close()insert_data()

运行以上代码后,就会在数据库中插入数据“Hello MySQL!”。

如果我们需要插入更复杂的数据,将上面sql字符串修改一下就可以了。

如果我们需要插入更多的数据,将插入函数放在循环语句中多次执行就可以了。

四、数据查询操作

def select_data():"""从mysql中查询数据"""conn = connect(host="localhost",port=3306,user="pymysql",password="mysql",database="pymysql_demo",charset="utf8")cursor = conn.cursor()row_one = Nonesql = '''select * from test_table;'''try:cursor.execute(sql)row_one = cursor.fetchone()except Exception as e:print(e)cursor.close()conn.close()print(row_one)select_data()

运行结果:

(1, datetime.datetime(2019, 5, 19, 19, 11, 11), 'Hello MySQL!')

查询操作其实跟插入操作的步骤是一样的,只是连接数据库之后执行的是查询语句。

要进行更复杂的查询,只要将sql字符串换成您需要的SQL语句就行了。

其中的fetchone()是获取查询集中的一条数据,返回结果是一个元组。还有fetchmany()和fetchall()两个方法,fetchmany()可以接收一个整数参数,返回整数条数据,结果是一个嵌套的元组。fetchall()返回查询到的所有数据,返回结果也是一个嵌套的元组。

五、数据删除操作

def delete_data():"""从mysql中删除数据"""conn = connect(host="localhost",port=3306,user="pymysql",password="mysql",database="pymysql_demo",charset="utf8")cursor = conn.cursor()sql = '''delete from test_table;'''try:cursor.execute(sql)conn.commit()except Exception as e:print(e)cursor.close()conn.close()delete_data()

执行上面的代码后,数据表中的所有数据都会被删除。

在实际使用中,基本不会删除表中所有的数据,所以使用时把sql字符串换成自己需要的修改或者删除语句就行了。

 

 


http://chatgpt.dhexx.cn/article/nSROvr1U.shtml

相关文章

过程化SQL数据库编程

一、过程化SQL的块结构 基本的SQL是高度非过程化的语言。嵌入式SQL将SQL语句嵌入程序设计语言,借助高级语言的控制功能实现过程化。过程化SQL是对SQL的扩展,使其增加了过程化语句功能。 过程化SQL程序的基本结构是块。所有的过程化SQL程序都是由块组成的…

Java的数据库编程:JDBC

目录 一、JDBC是什么? 二、使用步骤 1.首先将JDBC的包引进java中 2.创建新的类来写代码 3.描述你的服务器 4.设置你的数据库地址,数据库用户名,数据库密码 5.连接数据库 6.书写你所要执行的SQL语句 7.把字符串风格的sql转化成一个对象 8.执行语句 9.回收资…

Python数据库编程

操作SQLite3数据库 从Python3.x版本开始,在标准库中已经内置了SQLlite3模块,它可以支持SQLite3数据库的访问和相关的数据库操作。在需要操作SQLite3数据库数据时,只须在程序中导入SQLite3模块即可。Python语言操作SQLite3数据库的基本流程如…

实验7 数据库编程

第1关 定义一个名为PROC_COUNT的无参数存储过程 任务描述 定义一个名为PROC_COUNT的无参数存储过程,查询工程名称中含有“厂”字的工程数量,并调用该存储过程。 相关知识 1、工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)…

C++数据库编程简介

C数据库编程简介 C数据库编程 ODBC简介 C数据库编程 ODBC连接SQL Server数据库 C数据库编程 ODBC插入数据 C数据库编程 ODBC查询数据 C数据库编程 ODBC删除数据 C数据库编程 ODBC修改数据 C数据库编程 ODBC连接MySQL增删改查数据 C数据库编程 MySQL Connecttor C简介 …

游戏设计模式——面向数据编程(转)

作者:KillerAery 出处:http://www.cnblogs.com/KillerAery/ 随着软件需求的日益复杂发展,远古时期面的向过程编程思想才渐渐萌生了面向对象编程思想。 当人们发现面向对象在应对高层软件的种种好处时,越来越沉醉于面向对象&…

数据科学必备Python编程基础

前言 对于Python复杂的编程语言中提取了数据分析常用的数据处理以及数据可视化等数据分析师常用的内容,区别与其他的Python编程教程,如果是纯开发的小伙伴,看完本系列的文章仅仅只能掌握数据相关处理的内容,并不能完全掌握开发方…

数据结构中的C语言编程基础

​ 在学习数据结构时,需要我们编写许多的程序,对于一些变量的定义、结构体的声明、指针的使用,需要有一个统一的标准,这样才能方便我们使用、并简化记忆难度。 ​ 本文结合自身的编程经验和高分笔记中对考研数据结构编程的一些建…

面向数据编程 Data-Oriented Programming [1]

RuntimeMapMaker3D-Pro 面向数据的编程原则 0.1 简介 面向数据的编程是一种编程范式,旨在简化以信息为中心的软件系统的设计和实施。而不是围绕着将数据和代码结合在一起的实体(如实例化的对象)来设计信息系统(例如,从…

ODBC API开发教程

ODBC API开发教程 作者:闻怡洋 未得到作者允许请勿转载 http://wyy.vchelp.net/ 目录 第 1 章 介绍... 2 第 2 章 ODBC API访问数据库... 2 2.1 ODBC简要介绍... 2 2.1.1 在没有ODBC以前... 2 2.1.2 ODBC介绍... 3 2.1.3 ODBC结构…

Microsoft Server 2008 空间存储 应用方法详解

2019独角兽企业重金招聘Python工程师标准>>> 刚接触2008的空间存储,资料比较少,在数据库操作中有很多不懂的地方,包括用法,语法等,经过同事的指点明白了一些,感谢大腿同事~这里只记录数据库操作…

ODBC 数据类型和API(VC)

目录 ODBC 数据类型API 函数 ODBC 数据类型 ODBC SQL 数据类型 展开显示 ODBC SQL 数据类型SQL类型标识SQL 92类型标识类型描述SQL_CHARCHAR(n)定长字符串,其长度为nSQL_VARCHARVARCHAR(n)变长字符串,最大长度为nSQL_LONGVARCHARLONG VARCHAR变长字符串,最大长度取决于数据源S…

Sql的decimal、float、double类型的区别

三者的区别介绍 float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位) double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位) d…

【网络编程实践】2.3.4.2 建议关闭 Nagle 算法

Nagle算法主要是避免发送小的数据包,要求TCP连接上最多只能有一个未被确认的小分组,在该分组的确认到达之前不能发送其他的小分组。 Nagle算法的目的:避免发送大量的小包,网络上每次只能一个小包存在,在小包被确认之前…

Nagle算法与TCP_CORK,TCP_NODELAY,TCP_QUICKACK

1. Nagel算法 TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。(一…

如何关闭和启用Nagle算法

如果各位读者在搜索如何关闭的话,那么我有理由相信各位对想要解决的问题已经算是比较清楚了,废话不多数。 什么是nagle算法,它是干嘛用的,请自行google or 百度 Step1 Open regredit 快捷键:winr 打开&#xff1a…

19- TCP 协议(Nagle)

前面我们所用的 unp/protocol/tools/winclient/echo_cli.cpp 程序的特别之处是它总会发送一个小分组(TCP 段,只有 41 字节)到服务器。这样的小分组在英文中称为 tinygram,在网络状态好的情况下,比如局域网中&#xff0…

TCP Nagle算法详解

转: http://bbs.chinaunix.net/thread-3767363-1-1.html 在网络拥塞控制领域,我们知道有一个非常有名的算法叫做Nagle算法(Nagle algorithm),这是使用它的发明人John Nagle的名字来命名的,John Nagle在1984年首次用这个…

TCP之延时Nagle算法实验详解

TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。(一个连接会设置MS…

Nagle Algorithm

转: http://bbs.chinaunix.NET/thread-3767363-1-1.html 在网络拥塞控制领域,我们知道有一个非常有名的算法叫做Nagle算法(Nagle algorithm),这是使用它的发明人John Nagle的名字来命名的,John Nagle在1984年首次用这…