课程文档

image.png

笔记内容说明

从思维导图来看,本节主要是将Python与Mysql的交互,大部分内容与本节无关,如下笔记也只会记载于本节有关的内容,即Python与Mysql的交互,至于MySQL数据库的学习我会另开一份知识库,同时我在哔哩哔哩找到的课程也是专门介绍了Python与Mysql的交互内容

其实准确来说,课程本身应该是先学习MySQL数据库的命令操作,因为Python与Mysql的交互命令实在简单,不信你往下看

连接MySQL

连接mrsoft数据库—-connect()

image.png

  1. import pymysql
  2. try:
  3. db_connect = pymysql.connect(host="localhost", user="root", password="root", database="mrsoft",charset="utf8")
  4. print("数据库连接成功")
  5. except pymysql.Error as e:
  6. print("数据库连接失败")
  7. cursor = db_connect.cursor()
  8. cursor.execute("SELECT VERSION()") #执行SQL查询
  9. data = cursor.fetchone() #获取单条数据
  10. print("DATABASE VERSION : %s " % data)
  11. db_connect.close()

image.png

这次数据库连接出现许多错误,因为Python版本3.8的缘故,我购买的书中和网上给的文档中的代码都以失败告终

所以我在这里把两个错误给出来,以此提醒

https://blog.csdn.net/qq_41767945/article/details/104336805 https://blog.csdn.net/nanxiang11/article/details/113376652

核心总结:

  1. 1. 填写连接数据时,要指定,不要直接填写
  2. 1. Python3.8中写utf8,不要写utf-8
  1. import pymysql #导入模块
  2. db = pymysql.connect("localhost", "root", "123456", "库名") #已经不可取,在Python3.8版本中,因为填写账号,你要指定为user=,其他也是如此
  3. #远程连接数据库 #建议不这么写,Python也会报错,就说我后面)的错,我也不知道为什么
  4. db = pymysql.connect(
  5. host='192.168.100.110',
  6. port=3306,
  7. user='root',
  8. passwd='123456',
  9. db ='库名',
  10. charset='utf8'
  11. )
  12. 不管如何,你要遵循这种做法
  13. db_connect = pymysql.connect(host="localhost", user="root", password="root", database="mrsoft",charset="utf8")

执行SQL语句

  1. import pymysql
  2. try:
  3. db_connect = pymysql.connect(host="localhost", user="root", password="root", database="mrsoft",charset="utf8")
  4. print("数据库连接成功")
  5. except pymysql.Error as e:
  6. print("数据库连接失败")
  7. cursor = db_connect.cursor()
  8. sql=""" #SQL语句
  9. show databases
  10. """
  11. data = cursor.execute(sql) #执行SQL命令
  12. print(data)

image.png

代码优化

  1. import pymysql
  2. try:
  3. db_connect = pymysql.connect(host="localhost", user="root", password="root", database="mrsoft",charset="utf8")
  4. print("数据库连接成功")
  5. except pymysql.Error as e:
  6. print("数据库连接失败")
  7. cursor = db_connect.cursor()
  8. sql=""" SELECT * FROM `user` WHERE id like '%d'"""
  9. try:
  10. data = cursor.execute(sql) #执行SQL命令
  11. result = cursor.fetchone(data) #返回数据库查询的第一条信息,用元组显示
  12. #result = cursor.fetchall(data) #返回数据库查询的所有信息,用元组显示
  13. #result = cursor.fetchmany(data,3) #返回数据库查询的指定条数信息,用元组显示
  14. db_connect.commit() #COMMIT命令用于把事务所做的修改保存到数据库
  15. print('查询结果:',result) #打印数据库查询结果
  16. except :
  17. db_connect.rollback() #发生错误时回滚
  18. print("查询失败")
  19. db_connect.close()
  20. cursor.close()

创建数据表

上面既然已经介绍如何执行SQL命令,这个内容也就简单,只要把创建数据库表的命令填写即可,但我认为没必要,直接使用图像化界面工具Navicat来创建

操作MySQL数据表—添加数据