用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()
相关推荐
用户8356290780513 小时前
Python 操作 PDF 附件:添加、查看与管理指南
后端·python
Databend5 小时前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
宇宙之一粟11 小时前
乐企版式文件生成平台
java·后端·python
学测绘的小杨1 天前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包
python
李白客1 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
ClouGence1 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
zzzzzz3101 天前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐1 天前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
飞将1 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
兵慌码乱2 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构