Python对Mysql数据库进行 *** 作

Python对Mysql数据库进行 *** 作,第1张

目录


一、创建Connect链接与Cursor对象


二、对数据库进行 *** 作

1、数据的查询

2、数据的增删改


三、关闭Cursor对象与Connect链接


python中要对mysql数据库进行 *** 作,首先要下载pymysql库,打开cmd,输入以下命令即可

pip install pymysql

python对数据库 *** 作的流程是:

创建Connect链接-->创建Cursor对象-->对数据库进行 *** 作-->关闭Cursor对象-->关闭Connect链接


一、创建Connect链接与Cursor对象

首先我们要导入pymysql库

import pymysql

创建Connect链接与Cursor对象

# 创建Connect链接
conn = pymysql.connect(host="localhost", port=3306, user="数据库用户名",
                       password="数据库密码", database="要进行 *** 作的数据库名", 
                       charset="utf8")

# 创建Cursor游标对象
cursor = conn.cursor()

二、对数据库进行 *** 作

这里假定我们已经打开了一个exam数据库,exam数据库里面有一张students表。


我们执行sql语句是通过cursor游标对象的execute()方法来实现的,但若是sql语句实现了对数据表中数据的增删改,那么则要用connect链接来进行提交(conn.commit())或回退 *** 作(conn.rollback())

1、数据的查询
# ret返回的是执行的行数,与直接在cmd窗口对mysql执行 *** 作时返回的东西类似
sql = "select * from students;"
ret = cursor.execute(sql)


"""
注: 是用cursor游标来查询信息,不是上面的ret
cursor.fetchone(): 查询单条信息
cursor.fetchmany(num): 可以一次查询num条信息
cursor.fetchall(): 一次查询所有信息
"""

for temp in cursor.fetchall():
    print(temp)
2、数据的增删改
# 增
sql = """insert into students(name) values("痔疮")"""
cursor.execute(sql)  # 打印受影响的行数

# 删
sql = """delete from students where name="痔疮"""";
cursor.execute(sql)

# 改
sql = """update students set name="小王" where id=6;"""
cursor.execute(sql)

# 提交之前的 *** 作,如果之前已经执行过多次的execute,那么就都进行提交
conn.commit()

# conn.rollback()  # 对之前的 *** 作进行回退处理

从上面的例子可以看出,执行sql语句都是使用cursor游标对象的execute()方法,查询时也是使用游标对象的方法来返回查询结果,但若是对数据库进行了修改,则需要使用connect链接来进行 *** 作提交或回退。


感兴趣的朋友可以查一下sql注入,这里我就不做过多的赘述了。



三、关闭Cursor对象与Connect链接

# 关闭Cursor游标对象
cursor.close()

# 关闭connect链接
conn.close()

其实第一步与第三步 *** 作都是不变的,主要的就是第二步对数据库的 *** 作。


至此,python *** 作mysql数据库的流程到这里就结束了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/568220.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存