Mysql - python操控Mysql数据库

目录

参考文档:Python3 MySQL 数据库连接 – PyMySQL 驱动 | 菜鸟教程 (runoob.com)

python里能够操控Mysql的库有哪些:

1、mysql-connector   官方

2、pymysql   社区

3、records    

使用pymysql连接Mysql数据库

步骤:

数据库查询操作

Mysql事务的学习请参考:(13条消息) Mysql 事务 - 锁_Claylpf的博客-CSDN博客


参考文档:Python3 MySQL 数据库连接 – PyMySQL 驱动 | 菜鸟教程 (runoob.com)

python里能够操控Mysql的库有哪些:

1、mysql-connector   官方

2、pymysql   社区

3、records    

        

使用pymysql连接Mysql数据库

步骤:

1、我们先在linux里安装python3

[root@mysql ~]# yum install python3 -y

2、然后安装pymysql库

[root@mysql ~]# pip3 install pymysql

3、我们创建一个use_mysql.py文件(用来写连接mysql数据库的程序)

4、我们需要建立一个用户用来远程连接我们的Mysql数据库

例如:

5、use_mysql.py脚本的内容(获取sc_student表里所有的数据,打印到屏幕上,并在emp表里插入数据,将插入的数据打印到屏幕上。)

[root@mysql lianxi]# cat use_mysql.py 
#!/usr/bin/python3

#导入pymysql库
import pymysql

#连接到数据库里面去
db = pymysql.connect(host='172.20.10.9', user='booksql', password='123456', database='sc', port=3306)

#使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

#使用 execute()  方法执行 SQL 查询 
cursor.execute("select * from sc_student;")

#使用 fetchall() 方法获取多条数据(从游标对象cursor中去出多条数据保存到data对象中,使data对象成为元组).
data = cursor.fetchall()

#输出表里的所有数据
print("查询的数据为:")
for i in data:
	print(i)

sql = "select * from emp;"
#加入异常处理,如果插入成功就commit提交,不成功就rollback回滚
try:
#插入数据到emp表里 使用 execute()  方法执行 SQL 查询 
	sql2 = "insert into emp(id,name,deptid) values(4,'王五',30);"
	cursor.execute(sql2)
#当我们执行插入insert,更换update,删除delete的时候,Mysql都会开启一个事务,都必须使用commit提交到磁盘中,否则数据就不会保存到表内(mysql事件)
	db.commit()
except:
#当我们的事件出现错误的时候,必须使用rollback进行回滚操作
	db.rollback()
cursor.execute(sql)

#使用 fetchall() 方法获取多条数据(从游标对象cursor中去出多条数据保存到data对象中,使data对象成为元组).
data2 = cursor.fetchall()

#输出表里的所有数据
print("emp表所有的数据为:")
for i in data2:
        print(i)

#关闭数据库连接
db.close()
[root@mysql lianxi]# 

数据库查询操作

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

  • fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
  • fetchall(): 接收全部的返回结果行.
  • rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。

6、执行use_mysql.py脚本

注:其实我们在使用pymysql连接Mysql的时候,它默认会将我们的autocommit给关闭了,因此当我们在表中更改数据的时候,Mysql会开启一个事务,我们必须使用commit()函数进行提交操作,否则的话,我们的数据就会只保存在内存中(关闭该连接,数据就会消失),无法上传到磁盘当中(永久保存)。

Mysql事务的学习请参考:(13条消息) Mysql 事务 - 锁_Claylpf的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值