🐒,本文中,使用到的工具有:Pycharm,Anaconda,MySQL 5.5,spyder(Anaconda)
什么是 PyMySQL?
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中则使用 mysqldb。
一、🏔环境准备
1、安装pymysql:
进行Python连接mysql数据库之前,需要先安装一下pymysql。
直接在终端执行下面的命令即可。(在此处我将指定1.0.2版本)
pip install pymysql==1.0.2
2、查询安装:
下载完成后,在终端输入 pip list 即可看到下图:
pip list
可以看到我们的PyMySQL是1.0.2版本的。
3、Anaconda下载pymysql:
打开Anaconda,选择 Environments 点击右上方的的搜索框 输入 pymysql
点击方框,即可下载
方式一🏔:
此处我们可以选择 spyder 或者 pycharm 首先为大家介绍一下 spyder 我们只需要直接导入 pymysql 库即可
方式二🏔:
4、Pycharm下载pymysql
打开 Pycharm 选择文件,点击设置,
下划,选择python解释器,这里我的Pycharm已经配置了Anaconda环境
如果没有查询到 pymysql 可以在 Pycharm 终端中下载 pymysql 库
以上我们的环境就准备好了,下面我们进行编写程序 ☀
二、🏔代码编写,连接数据库
1、导入数据库表
import pymysql
数据库连接:
连接数据库前,请先确认以下事项:
- 连接数据库使用的用户名为 "root" ,密码为 "dai324542",创建了数据库 runoob
- 你可以可以自己设定或者直接使用root用户名及其密码
db = pymysql.connect(host='localhost',
user='root',
password='dai324542',
database='runoob',
charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print ("数据库连接成功!")
# 关闭数据库连接
db.close()
2、创建数据库表
# 创建表
sql="""CREATE TABLE test (
FIRST_ CHAR(20) NOT NULL,
SECOND_ CHAR(20),
THIRD_ INT,
FOURTH_ CHAR(1),
FIFTH_ FLOAT )"""
# 运行sql语句
cursor.execute(sql)
这里我们所运用的sql语句是不是很熟悉了😊
下面即是运行结果了,再mysql中可以刷新看到,我输出了一个提示 victory
3、数据库插入操作
此处我只是随便进行了一个举例,通过更改创建表时的操作可以插入不同类型的数据
try:
sql = "insert into test(FIRST_,SECOND_,THIRD_,FOURTH_,FIFTH_) values ('MAC','MOTH','20','M','2000')"
# 运行sql语句
cursor.execute(sql)
# 修改
db.commit()
# 关闭游标
cursor.close()
# 关闭连接
db.close()
print("victory!")
except:
print("false")
4、查询其中一个表的数据
# 查询语句
try:
cursor = db.cursor()
sql = "select * from student"
cursor.execute(sql)
result = cursor.fetchall()
for data in result:
print(data)
except Exception:
print("查询失败")
5、删除表中的一条数据
# SQL 删除语句
sql = "DELETE FROM student WHERE Sno='20111107'"
try:
# 执行SQL语句
cursor.execute(sql)
# 向数据库提交
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭连接
db.close()
# 成功提示
print("victory!")
注意:Python中的MySQL默认事务打开,需要我们手动提交事务,否则操作无效
写到这里,这篇博客就又又又结束了,很感谢大家的观看,如果对大家有所帮助希望可以留下一个小小的👍,🙇。因才学疏浅,如果各位大佬发现其中存在错误,敬请指出,(ง •_•)ง!