用python操作mysql之pymysql库基本操作

首先我们需要先了解基本的sql语句

启动登录mysql

sql 复制代码
mysql-u root-p 3306 -p

数据库备份与恢复

备份:

备份不要进到mysql里面直接在终端执行

sql 复制代码
mysqldump -u root -p databases > /备份路径/备份文件名

databases表示需要备份的数据库,>后面跟备份存储的路径以及文件名

恢复:

恢复需要先进到mysql里面

sql 复制代码
create database nb2;#先创建数据库
use nb2; #使用数据库
source D:\\bak.sql; #开始恢复

pymysql的安装

直接在python终端执行

python 复制代码
pip install pymysql

pymysql基本操作

1、连接数据库

python 复制代码
import pymysql
#连接数据库
conn=pymysql.connect(
    host='localhost',
    user='root',
    passwd='xhy050813',
    database='db1',
    port=3306,
)
#创建数据库的游标对象
cursor = conn.cursor()

2、执行查询语句

python 复制代码
#执行sql语句
sql = 'select * from student_1'
cursor.execute(sql) #执行查询语句
data_one = cursor.fetchone()    #获取第一条数据
print(data_one)
data_all = cursor.fetchall()    #获取全部数据
print(data_all)

3、执行插入语句

python 复制代码
#执行sql语句
sql = "insert into student_1 (id,name,age,dept,sex) values (%s,%s,%s,%s,%s);"   #插入数据(这里如果不是固定的数据插入就只能用%s)
datas = [(7,'xxx',19,'xxx','男'),(8,'杨柳',23,'统计','女'),(9,'凯老师',20,'大数据','男')]
for data in datas:
    cursor.execute(sql,data)    #使用游标对象执行sql语句,要传入占位符的数据
    conn.commit()   #执行'增删改'时一定要提交否则数据不会改变(用连接对象提交,游标对象执行)

4、执行修改语句

python 复制代码
#执行sql语句
sql = 'update student_1 set name=%s where id=%s;'
cursor.execute(sql,('xhy',7))
conn.commit()

5、执行删除语句

python 复制代码
#执行sql语句
sql = 'delete from student_1 where id=%s;'
cursor.execute(sql,(7))
conn.commit()

6、关闭连接

python 复制代码
#关闭游标
cursor.close()
#关闭连接
conn.close()
相关推荐
ACP广源盛139246256731 小时前
DeepSeek‑V4‑Flash 公测@ACP#昇腾 950 国产算力组合落地,国产 PCIe 交换芯片 IX9104 有哪些硬件机会
大数据·数据库·人工智能·分布式·单片机·嵌入式硬件·microsoft
leoZ2311 小时前
实战复盘:用 Claude Code 从零搭一个 GitHub PR 统计工具
java·人工智能·python·深度学习·自然语言处理·github·llama
进击的女IT1 小时前
通过mysql中的Data目录恢复数据库数据
数据库·mysql
yuezhilangniao2 小时前
AI工具全家桶:从开发到运维,从数据库到产品经理-含魔塔社区简介
运维·数据库·人工智能
gb42152872 小时前
ChromaDB向量数据库的特点
数据库
夏天测2 小时前
Python 网络编程入门:从 Socket 底层到 HTTP 并发实战
python·socket·httpx·requests·tcp udp·python网络编程·爬虫基础
玉鸯2 小时前
多 Agent 并行时如何保证状态一致性?
分布式·python·agent
IvorySQL2 小时前
PostgreSQL 日报| GiST 索引扫描可见性缺陷(8 月 3 日)
数据库·人工智能·postgresql·开源
xiaoxiangsiyan2 小时前
LNMP + Redis Sentinel 高可用架构部署手册(续)
运维·网络·数据库·redis·缓存·架构·sentinel
刘婉晴2 小时前
【Web漏洞】SQL 注入实战技巧
前端·数据库·sql