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)

运行结果:

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

相关推荐
張萠飛39 分钟前
Redis如何判断哨兵模式下节点之间数据是否一致
数据库·redis·缓存
北漂老男孩1 小时前
MySQL、Oracle 和 PostgreSQL 是三种主流的关系型数据库的主要原理性差异分析
数据库·mysql·postgresql·oracle
小小鸭程序员1 小时前
零基础教程:Windows电脑安装Linux系统(双系统/虚拟机)全攻略
linux·运维·服务器·mysql·spring
GalaxyPokemon2 小时前
MySQL基础 [六] - 内置函数+复合查询+表的内连和外连
linux·运维·数据库·mysql·ubuntu
Linux运维老纪3 小时前
Linux 命令清单(Linux Command List)
linux·运维·服务器·数据库·mysql·云计算·运维开发
可观测性用观测云3 小时前
阿里巴巴 Druid 可观测性最佳实践
数据库
代码吐槽菌4 小时前
基于微信小程序的智慧乡村旅游服务平台【附源码】
java·开发语言·数据库·后端·微信小程序·小程序·毕业设计
喝醉酒的小白4 小时前
数据库如何确定或计算 LSN(日志序列号)
数据库
dengjiayue4 小时前
使用 redis 实现消息队列
数据库·redis·缓存
小羊学伽瓦4 小时前
【Redis】——最佳实践
数据库·redis·缓存