课程文档

笔记内容说明
从思维导图来看,本节主要是将Python与Mysql的交互,大部分内容与本节无关,如下笔记也只会记载于本节有关的内容,即Python与Mysql的交互,至于MySQL数据库的学习我会另开一份知识库,同时我在哔哩哔哩找到的课程也是专门介绍了Python与Mysql的交互内容
其实准确来说,课程本身应该是先学习MySQL数据库的命令操作,因为Python与Mysql的交互命令实在简单,不信你往下看
连接MySQL
连接mrsoft数据库—-connect()

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

这次数据库连接出现许多错误,因为Python版本3.8的缘故,我购买的书中和网上给的文档中的代码都以失败告终
所以我在这里把两个错误给出来,以此提醒
https://blog.csdn.net/qq_41767945/article/details/104336805 https://blog.csdn.net/nanxiang11/article/details/113376652
核心总结:
1. 填写连接数据时,要指定,不要直接填写1. Python3.8中写utf8,不要写utf-8
import pymysql #导入模块db = pymysql.connect("localhost", "root", "123456", "库名") #已经不可取,在Python3.8版本中,因为填写账号,你要指定为user=,其他也是如此#远程连接数据库 #建议不这么写,Python也会报错,就说我后面)的错,我也不知道为什么db = pymysql.connect(host='192.168.100.110',port=3306,user='root',passwd='123456',db ='库名',charset='utf8')不管如何,你要遵循这种做法db_connect = pymysql.connect(host="localhost", user="root", password="root", database="mrsoft",charset="utf8")
执行SQL语句
import pymysqltry:db_connect = pymysql.connect(host="localhost", user="root", password="root", database="mrsoft",charset="utf8")print("数据库连接成功")except pymysql.Error as e:print("数据库连接失败")cursor = db_connect.cursor()sql=""" #SQL语句show databases"""data = cursor.execute(sql) #执行SQL命令print(data)

代码优化
import pymysqltry:db_connect = pymysql.connect(host="localhost", user="root", password="root", database="mrsoft",charset="utf8")print("数据库连接成功")except pymysql.Error as e:print("数据库连接失败")cursor = db_connect.cursor()sql=""" SELECT * FROM `user` WHERE id like '%d'"""try:data = cursor.execute(sql) #执行SQL命令result = cursor.fetchone(data) #返回数据库查询的第一条信息,用元组显示#result = cursor.fetchall(data) #返回数据库查询的所有信息,用元组显示#result = cursor.fetchmany(data,3) #返回数据库查询的指定条数信息,用元组显示db_connect.commit() #COMMIT命令用于把事务所做的修改保存到数据库print('查询结果:',result) #打印数据库查询结果except :db_connect.rollback() #发生错误时回滚print("查询失败")db_connect.close()cursor.close()
创建数据表
上面既然已经介绍如何执行SQL命令,这个内容也就简单,只要把创建数据库表的命令填写即可,但我认为没必要,直接使用图像化界面工具Navicat来创建
