用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()
相关推荐
栈与堆2 分钟前
LeetCode-1-两数之和
java·数据结构·后端·python·算法·leetcode·rust
oMcLin3 分钟前
如何在 AlmaLinux 9 上配置并优化 Redis 集群,支持高并发的实时数据缓存与快速查询?
数据库·redis·缓存
oMcLin14 分钟前
如何在Debian 11上通过配置MySQL 8.0的分布式架构,提升跨区域数据同步的效率与延迟?
分布式·mysql·debian
洛阳纸贵21 分钟前
Redis
数据库·redis·缓存
计算机学姐42 分钟前
基于SpringBoot的校园资源共享系统【个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·后端·mysql·spring·信息可视化
智航GIS1 小时前
10.7 pyspider 库入门
开发语言·前端·python
l1t1 小时前
DeepSeek辅助编写的利用位掩码填充唯一候选数方法求解数独SQL
数据库·sql·算法·postgresql
副露のmagic1 小时前
更弱智的算法学习 day25
python·学习·算法
墨月白1 小时前
[QT] QT中的折线图和散点图
数据库·qt
龙潜月七1 小时前
做一个背单词的脚本
数据库·windows·c#·aigc·程序那些事