Python4 操作MySQL数据库

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

1. MySQL的安装与数据准备

首先需要安装MySQL,在安装完成之后使用Navicat与本地数据库进行增删查改操作。首先使用SQL(结构化查询语言)与本地数据库进行交互。

安装好后可以输入密码,再输入命令"show databases;",即可查看本地MySQL的suo'you'的所有数据库。

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

SQL代码:

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对本地数据库进行交互

代码示例:

python 复制代码
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()  # 释放数据库资源

运行结果:

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

代码示例:

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

运行结果:

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

相关推荐
梁辰兴12 分钟前
软件工程:数据结构设计
数据库·软件工程·设计原则·设计方法·梁辰兴·数据库结构设计·数据库结构类型
AC赳赳老秦32 分钟前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
灯澜忆梦1 小时前
【MySQL18】进阶篇 | MySQL管理
数据库·mysql
zcmodeltech2 小时前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类
AI多Agent协作实战派2 小时前
AI多Agent协作系统实战(四十):AI说“没有错误“,系统判了“测试失败“——一个正则的误判
数据库·人工智能
隔窗听雨眠3 小时前
OceanBase接入DeepSeek:数据库与AI的深度融合如何改写企业数据规则
数据库·人工智能·oceanbase
lv__pf3 小时前
spring之整合mybatis【TL spring 12】
mysql·spring·mybatis
playboy1343 小时前
工作室 NAS 存储故障-办公室所有数据无法访问怎么办
数据库
byxdaz4 小时前
jeston平台交叉编译Poppler库与预览pdf文件
数据库
SilicoCode4 小时前
江科大STM32入门:FLASH闪存详解——从结构原理到读写保护
数据库·mongodb