Python里头到底怎么搞定MySQL数据库那些事儿?
- 问答
- 2026-01-17 18:21:41
- 1
Python里头怎么搞定MySQL数据库那些事儿?这事儿说白了,就是让Python这个万能胶水去连接、操作MySQL这个放数据的仓库,你别看听起来好像很复杂,其实跟着步骤来,一步步拆开看,简单得很。
第一步:准备好工具——安装库
Python自己本身不能直接跟MySQL对话,需要一个翻译官,这个翻译官就是一个叫 mysql-connector-python 的库,这是MySQL官方出的,用起来最放心,安装它特别简单,打开你的命令行(Windows叫CMD或者PowerShell,Mac叫终端),输入下面这行命令,敲个回车就行:
pip install mysql-connector-python
如果网络不好,也可以用国内的镜像源,比如清华的,这样下载飞快:pip install mysql-connector-python -i https://pypi.tuna.tsinghua.edu.cn/simple
等它安装完成,你的Python就有了和MySQL沟通的能力。
第二步:建立连接——找到仓库大门
工具有了,你得先找到MySQL数据库的“大门”在哪里,并且拿到“钥匙”,这就需要连接数据库,你需要知道四样东西:主机地址(通常是localhost)、用户名、密码、以及具体要操作哪个数据库(数据库名)。
下面这段代码就是干这个事儿的:
import mysql.connector
# 尝试打开大门
mydb = mysql.connector.connect(
host="localhost", # 数据库在哪,本地就是localhost
user="你的用户名", # root
password="你的密码", # 安装MySQL时你设的密码
database="你的数据库名" # 你要用的那个库,test_db
)
# 如果没报错,打印出这个连接对象,说明大门打开了!
print(mydb)
注意看,mysql.connector.connect 这个函数就是用来连接的,你把那四个信息像填表格一样填进去就行了,运行这段代码,如果打印出一串像 <mysql.connector.connection_cext.CMySQLConnection object at 0x...> 这样的信息,恭喜你,连接成功了!如果报错,那就检查一下你的密码、数据库名是不是写对了,或者你的MySQL服务有没有启动。
第三步:搞个游标——派个机器人进去拿东西
连接成功了,就好比你人已经站在仓库大门口了,但你不能直接用手在仓库里乱翻吧?你需要一个帮你拿东西、放东西的机器人,这个机器人就是“游标”(Cursor)。
# 创建游标,这个 mycursor 就是我们的机器人 mycursor = mydb.cursor()
你所有的操作,基本上都是通过给这个 mycursor 下命令来完成的。
第四步:执行操作——让机器人干活
仓库里最常见的活儿就是四样:增(插入新数据)、删(删除数据)、改(更新数据)、查(查找数据)。
-
查(SELECT)—— 看看有什么 这是最常用的操作,比如你想看看一个叫
users的表格里都有哪些人:mycursor.execute("SELECT * FROM users") # 让机器人执行查询语句 myresult = mycursor.fetchall() # 让机器人把查到的所有结果都搬出来 for row in myresult: # 一行一行地看 print(row)这里的
execute方法是让游标执行SQL语句,fetchall()是把所有结果都取出来,如果你只想要一条结果,可以用fetchone()。 -
增(INSERT)—— 往里放新东西 假设我们要往
users表里添加一个新用户,叫“小王”,年龄28。sql = "INSERT INTO users (name, age) VALUES (%s, %s)" # 写个单子,说明要放什么 val = ("小王", 28) # 具体要放的值 mycursor.execute(sql, val) # 机器人去放东西 mydb.commit() # 【特别重要】确认一下,这样东西才真的放进去了 print(mycursor.rowcount, "条记录插入成功。")这里用了
%s作为占位符,而不是直接把值写在SQL语句里,是为了防止“SQL注入”这种安全问题,这是个好习惯,最后那个mydb.commit()千万不能省,不然操作不会真正保存到数据库里。 -
改(UPDATE)和删(DELETE) 这两个操作和增加非常像,也是写SQL语句,然后执行、提交。
# 更新:把小王的名字改成“老王” sql = "UPDATE users SET name = '老王' WHERE name = '小王'" mycursor.execute(sql) mydb.commit() # 删除:把名字是老王的人删掉 sql = "DELETE FROM users WHERE name = '老王'" mycursor.execute(sql) mydb.commit()
第五步:收尾工作——关门走人
活儿干完了,要记得把机器人和大门都关上,这是个好习惯,能释放资源。
mycursor.close() # 先关掉机器人
mydb.close() # 再关上仓库大门
print("数据库连接已关闭")
整个流程就像一次仓库之旅:
pip install装好工具(翻译官)。mydb = mysql.connector.connect(...)找到大门并用钥匙开门。mycursor = mydb.cursor()派个机器人进去。mycursor.execute(SQL语句)让机器人干活(增删改查)。- 如果是“增删改”,记得
mydb.commit()确认。 - 如果是“查”,用
fetchall()或fetchone()拿结果。
- 如果是“增删改”,记得
mycursor.close()和mydb.close()关门走人。
你按照这个顺序和思路来,Python操作MySQL数据库的那些事儿,基本就搞定八九成了,剩下的就是多练习,熟悉更多的SQL语句写法而已。

本文由盈壮于2026-01-17发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://haoid.cn/wenda/82562.html
