Python4 操作MySQL数据库

news2024/7/2 4:06:55

通过python的pymysql库连接到本地的MySQL数据库,并执行查询操作来获取数据,然后打印出每一行的数据,这里以一个简单的学生表为例进行介绍。

1. MySQL的安装与数据准备

首先需要安装MySQL,在安装完成之后使用Navicat与本地数据库进行增删查改操作。首先使用SQL(结构化查询语言)与本地数据库进行交互。
安装好后可以输入密码,再输入命令“show databases;”,即可查看本地MySQL的suo’you’的所有数据库。

在Navicat中首先新建一个名为“mydatabase”的数据库,然后新建查询,输入以下代码即可在mydatabase数据库中创建一个表。

SQL代码:

use mydatabase;

create table student (
	id INT,
	name VARCHAR(100),
	age INT
);

DESC student;

INSERT INTO student (id, name, age) VALUES (5, 'Cheney',18);

select * from student;

建立了一个名为‘student’的表:

2.使用pymysql对本地数据库进行交互

代码示例:

import pymysql  # 该Python库允许与MySQL数据库进行交互
# try:
	# except  Exception :print("查询失败")
# 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
'''
使用pymysql.connect方法创建与MySQL数据库的连接,具体参数包括:
host='localhost':数据库服务器地址
user='root':数据库用户名
passwd='xxxx':用户密码,是自己设定的
db='mydatabase':要连接的数据库名
port=3306:数据库服务器的端口号
charset='utf8':使用的字符集类型,这里指定为UTF-8
'''
conn=pymysql.connect(host='localhost',user='root',passwd='111111',db='mydatabase',port=3306,charset='utf8')

cur=conn.cursor()  # 获取一个游标,游标对象用于在数据库上执行操作,可以通过游标来执行SQL语句
cur.execute('select * from student')  # 使用游标的execute方法执行一个SQL查询,这里查询student表的所有数据。
data=cur.fetchall()  # fetchall方法获取查询结果的所有行,返回一个元组列表,每个元组代表一行数据
for d in data :  # 遍历查询结果,每次循环处理一行数据。d[0]、d[1] 和 d[2] 分别代表每行数据的第一个(ID)、第二个(用户名)和第三个(年龄)元素。由于ID和年龄可能是整数类型,所以使用str函数将它们转换为字符串,以便可以与其他字符串一起打印
    print("ID: "+str(d[0])+'用户名:'+d[1]+'年龄'+str(d[2]))
cur.close()  # 关闭游标
conn.close()  # 释放数据库资源

运行结果:

下面的代码展示如何使用循环和列表操作来批量生成数据结构,并存储在列表中。这种方法在处理大量数据生成或批量初始化数据时非常有用。

代码示例:

values=[]  # 初始化空列表 
for i in range(10000):  # 生成一个从0到9999的整数序列
    value=(str(i),'datas')  # 每次循环中当前循环的索引i将被转换为字符串(str(i)),然后与字符串 'datas' 一起创建一个元组。这个元组包含两个元素:一个是字符串形式的索引,另一个是固定的字符串 
    values.append(value)  # 将创建的元组添加到列表
print(values)

运行结果:

以上内容总结自网络,整理不易,如有帮助欢迎转发,我们下次再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1840831.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IFM易福门SV7500SV4200涡街流量计型号都是进口的。

IFM易福门SV7500SV4200涡街流量计型号都是进口的。工程余料。

华为---OSPF单区域配置(一)

09、OSPF 9.1 OSPF单区域配置 9.1.1 原理概述 为了弥补距离矢量路由协议的不足,IETF组织开发了一种基于链路状态的内部网关协议——OSPF(Open Shortest Path First,开放式最短路径优先)。 OSPF作为基于链路状态的协议&#xf…

Python开发记录--手撸加解密小工具(1)

目录 1.环境搭建 2. PyQt简介 3.小结 最近考虑设计一个涵盖国际、国家等加密算法的小工具,用于组内测试使用。一来回顾下算法,二来很久没写代码得练练手感,给工具取个名字:MuscleV0.1 MuscleV0.1涵盖的算法: 对称算…

ATA-2032高压放大器设计要求是什么内容

高压放大器是一种专门用于放大高电压信号的电子设备。它在许多领域都具有重要的应用,例如在医疗设备、科学研究、传感器驱动和测试测量等方面。设计一个高压放大器需要考虑多个因素,包括性能要求、安全性、稳定性和可靠性等方面。下面我们将详细讨论高压…

【计算机网络】[第4章 网络层][自用]

1 概述 (1)因特网使用的TCP/IP协议体系(四层)的网际层,提供的是无连接、不可靠的数据报服务; (2)ATM、帧中继、X.25的OSI体系(七层)中的网络层,提供的是面向连接的、可靠的虚电路服务。 (3)路由选择分两种: 一种是由用户or管理员人工进行配置(只适用于规…

第58章SOCKET:TCP/IP网络基础

58.1 互联网 互联网会将不同的计算机网络连接起来并允许位于网络中的主机相互之间进行通信。互联网的目标是隐藏不同物理网络的细节以便向互联网中的所有主机呈现一个统一的网络架构,TCP/IP已经成了使用最为广泛的协议套件了, 术语Internet被用来指将全球…

c++文件io,字符串io简单介绍

目录 c文件io 介绍 采用文件流对象操作文件的一般步骤 示例 注意点 利用字节流特性 字符串io 介绍 istringstream ostringstream 示例 c文件io 介绍 c根据文件内容的数据格式分为二进制文件和文本文件 基本上和c一样 c 标准库中有许多不同的标志 用于指定流对象的…

【Java】已解决java.util.EmptyStackException异常

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.util.EmptyStackException异常 一、问题背景 java.util.EmptyStackException是Java在使用java.util.Stack类时可能会遇到的一个异常。这个异常通常在尝试从空的栈中弹出&am…

CVE-2020-1957 漏洞复现

先声明一下,免杀还是会更的,不过中间可能会穿插一下渗透的内容!!! 踩坑点: 在一开始翻阅了CSDN之后,发现不同文章之间存在出入,于是最后去了CVE的官方文档,和参考一些国…

JAVA每日作业day6.19

ok了家人们今天继续学习面向对象,话不多说看看今天学了什么 一.面向对象-封装 1,private private:私有的 权限修饰符 是一个成员修饰符,修饰成员变量 被private修饰的成员变量和成员方法只能在本类中使用 对外访问使用是 set XXX 和 get X…

Redis缓存与数据库双写不一致及解决方法

1.缓存与数据库双写不一致 在大并发下,同时操作数据库与缓存会存在数据不一致性问题 1.1 双写不一致情况 1.2 读写并发不一致 2.解决方法 对于并发几率很小的数据(如个人维度的订单数据、用户数据等),这种几乎不用考虑这个问题,很少会发生…

小主机折腾记录27

1.买了一个9600k,3根台电 4G 2666 极光A40,一根台电8G2666 极光A40,一根国惠8G2666,一个惠普3热管散热器 测试结果如下 1)三根台电 4G2666 相互兼容,频率2667显示正常,显示为美光颗粒&#xff0…

React state(及组件) 的保留与重置

当在树中相同的位置渲染相同的组件时&#xff0c;React 会一直保留着组件的 state return (<div><Counter />{showB && <Counter />} </div> ) // 当 showB 为 false, 第二个计数器停止渲染&#xff0c;它的 state 完全消失了。这是因为 React…

香港“试水”医疗多模态大模型

更好地引入及发掘行业数据有望为垂直领域内的多模态大模型开发提供新可能。中国香港特区传统科研优势要嫁接产业风口&#xff0c;国际化渠道如何与内地资源携手&#xff1f; 产业多模态大模型“风头”正盛&#xff0c;在积极寻找经济新动能的中国香港特区&#xff0c;相关产业…

onnx进阶算子优化

一、定义 如何保证pytorch 模型顺利转为onnx. 前言pytorch 算子是如何与onnx 算子对齐的&#xff1f;Asinh 算子出现于第 9 个 ONNX 算子集。PyTorch 在 9 号版本的符号表文件中是怎样支持这个算子的&#xff1f;BitShift 算子出现于第11个 ONNX 算子集。PyTorch 在 11 号版本…

QT——信号和槽

一、信号的概念 信号成员会在满足一定条件时某个对象自动触发该对象的信号(触发条件可以通过QT帮助文档进行查看每个类中标示了signals的栏位),触发后程序会调用与信号相连接的槽函数。 二、槽函数的概念 Qt中的槽函数(Slot)是与信号(Signal)对应的概念,用于接收信号…

TIME_WAIT的危害

前言 该文章主要讨论下TIME_WAIT的存在意义和潜在危害&#xff0c;以及解决措施。 具体内容 首先看一下下面这幅图 这幅图来自《TCP IP详解卷1&#xff1a;协议 原书第2版中文》TCP状态变迁图。 TIME_WAIT存在意义 可靠的终止TCP连接。 保证让迟来的TCP报文有足够的时间被…

spring中@Conditional

多环境切换 java配置使用profile Profile设置在某个环境下&#xff0c;spring注入对应的bean public class JavaConfig {BeanProfile("dev")DataSource devDs(){DataSource ds new DataSource();ds.setUrl("dev");ds.setUsername("dev");ret…

Win11 删除文件时提示“找不到该项目,请重试”的解决办法

1、Win R 打开运行窗口&#xff0c;输入 notepad 并回车打开文本文档(记事本)软件&#xff0c;如下图&#xff1a; 2、在文本文档(记事本)软件中复制粘贴以下代码&#xff0c;如下图&#xff1a; del /f /a /q \\?\%1 rd /s /q \\?\%1或DEL /F /A /Q \\?\%1 RD /S /Q \\?…

基于SpringBoot+Vue农产品管理与销售APP设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还…