Python数据库操作——连接MySQL


  hello!我是wakeyo_J,每天一个konwledge point,一起学python,让技术无限发散。

  MySQL是知名的开源关系型数据库系统,最广泛的应用领域为互联网相关的业务系统。

  应用系统连接MySQL三步骤

  1. 安装MySQL
  2. 安装数据库驱动程序(这里采用PyMySQL驱动程序)
  3. python应用编程

1. 安装MySQL数据库系统

  MySQL数据库官网下载地址:https://www.mysql.com/;其它免费的社区Windows版本下载地址:https://dev.mysql.com/downloads/windows/

MySQL资源包:

安装MySQL
在这里插入图片描述
双击安装包,出现下述错误。
在这里插入图片描述
安装.NET
.NET下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=42642
下载完成后双击

在这里插入图片描述

点击MySQL安装包

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
安装完成后,再次双击MySQL安装包

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

坐等程序安装,可能会花费数分钟
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

设置root密码

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

又是一波喝茶时间,坐等。。。。。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
又来一波坐等
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装完成。

2. 安装PyMySQL数据库驱动程序

  PyMySQL是在python 3.X版本中用于连接MySQL数据库的一个驱动程序,PyMySQL遵循python数据库API v2.0规范,并包含pure-Python MySQL客户端库。在使用pymysql之前,需要安装pymysql。PyMySQL下载地址:https://github.com/PyMySQL/PyMySQL

2.1 安装方法一

  通过互联网在线安装最新版本的PyMySQL数据库驱动程序。在命令符号执行窗口执行pip install pymysql,实现自动安装过程。

在这里插入图片描述

2.2 安装方法二

  手动从https://github.com/PyMySQL/PyMySQL/下载安装包(PyMySQL-master.zip)。解压后,在执行符下执行安装命令。

3. python编程通过数据库驱动连接MySQL数据库

import pymysql
import sys

try:
    conn = pymysql.connect(host="127.0.0.1",user="root",password="201314",db="test",port=3306,charset="utf8")  #创建连接实例
except:         #捕获异常
    print("打开数据库连接出错,请检查!")   #出错提醒
    conn.close()        #关闭数据库连接
    sys.exit()          #终止软件继续执行


cur = conn.cursor()    #创建数据库指向游标
sql = '''create table if not exists T_fish
       (date char(12) primary key not null,
       name char(10) not null,
       nums int not null,
       price decimal(10,2) not null,
       sExplain varchar(200));'''
#用create命令创建T_fish表的SQL语句,date做该表的主键关键字,name名称字段,nums数量字段,price字段,备注字段

try:
    cur.execute(sql)        #捕捉表异常
    conn.commit()           #执行建T_fish表的SQL命令
    print("T_fish表可以使用") #操作完成提示
except:                     #捕捉建表过程异常信息
    print("T_fish表是否建立过程出错")
conn.close()                #关闭数据库

效果:
在这里插入图片描述

①host参数:指向安装数据库系统的服务器地址。若数据库系统安装在本地计算机上,则可设置为host=“localhost”,代表指向本地的数据库系统;若把host设置为具体的计算机的IP地址,如:host=“192.168.0.100”(ip地址为自己的),该IP地址服务器为数据库服务器,则可以实现数据库系统与应用系统的分开安装。用一台数据库服务器安装数据库系统,另一台服务器安装应用系统,可以提高系统访问的安全性及访问性能。

②user参数:用于设置访问数据库的用户名,这里的设置要与MySQL数据库系统里的用户名一致,如:user=“root”

③password参数:为访问指定数据库对应用户名的密码。如这里的MySQL数据库root用户名对应的密码,password=“MySQL123”

④db参数:MySQL数据库里已经建立的数据库实例名,如db=“test”,注意:如果在连接访问时,指定该参数,要确保该数据库名已经存在,可以通过navicat查看

⑤port参数:数据库系统安装过程设置的端口号,如port=3306

⑥charset参数:可以保证数据库处理双字节的语言内容,如汉字、日文等,设置为charset=“utf8”,默认为处理单字节的语言,如英文。

navicat查看数据库

在这里插入图片描述
在这里插入图片描述
navicat 15安装可浏览:https://www.cnblogs.com/wakeyolyj/articles/15157480.html

在数据库表进行插入、修改、删除、查找

import pymysql
import sys

try:
    conn = pymysql.connect(host="127.0.0.1",user="root",password="201314",db="test",port=3306,charset="utf8")  #创建连接实例
except:
    print("打开数据库连接出错,请检查!")
    conn.close()
    sys.exit()


#对表进行插入、修改、删除、查找操作
cur = conn.cursor()    #创建数据库指向游标
insertSQL = "insert into T_fish values('2021-5-27','黑鱼',10,28.3,'tome')"
insertSQL1 = "insert into T_fish values('2021-6-10','草鱼',50,36,'jerry')"

try:
    cur.execute(insertSQL)      #执行插入第一条记录
    cur.execute(insertSQL1)     #执行插入第二条记录
    conn.commit()               #提交并保存数据到硬盘
    print("两条记录插入成功")
except Exception as error:
    print(error)
    print("两条记录插入失败")       #插入出错提示
    conn.close()                 #关闭数据库连接
    sys.exit()                  #终止程序运行

update = "update T_fish set nums=10 where date='2021-6-30'"     #更新SQL语句

try:
    cur.execute(update)     #执行数量更新SQL命令
    conn.commit()           #提交并保存数据到硬盘
    print("第一条记录修改成功")  #修改操作成功提示
except:
    print('第一条记录修改失败')  #修改操作失败提示
    conn.close()
    sys.exit()

deleteSQL = "DELETE FROM T_fish WHERE date='2021-6-10'"     #删除SQL语句
try:
    cur.execute(deleteSQL)          #执行记录删除SQL语句
    conn.commit()
    print("第二条记录删除成功")
except:
    print('第二条记录删除失败')
    conn.close()
    sys.exit()

selectSQL = 'Select * from T_fish'      #查找SQL语句
cur.execute(selectSQL)                  #执行查找SQL命令
l_records = []
for row in cur.fetchall():              #循环获取表里查找记录结果
    l_records.append(row)
print(l_records)

效果:

在这里插入图片描述
更多关于MySQL数据库的操作可浏览:https://blog.csdn.net/weixin_45692705/article/details/119003128


总结

  本文属于作者原创,转载请注明出处,不足之处,希望大家能过给予宝贵的意见,如有侵权,请私信。每天一个knowledge point,一起学python,让技术无限发散

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐