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