网站代码基础知识,定制专业app开发,平泉建设局网站,唐山有制作网站的没开头 经过这么一段时间的学生信息管理系统的摸爬滚打#xff0c;不断的学习更新的知识#xff0c;不断修改自己的认知#xff0c;针对pymysql以及MySQL数据库的知识做个总结#xff0c;以纪念我这段时间的学习。
目录
开头
pymysql的使用流程
1.导入pymysql的工具包
方…开头 经过这么一段时间的学生信息管理系统的摸爬滚打不断的学习更新的知识不断修改自己的认知针对pymysql以及MySQL数据库的知识做个总结以纪念我这段时间的学习。
目录
开头
pymysql的使用流程
1.导入pymysql的工具包
方法一、使用pip工具
可能会出现的问题
方法二、使用pycharm中配置到python解释器
可能会出现的问题
2.连接数据库
3. 使用cursor获取游标
4.根据游标使用相关的方法
5.关闭游标和数据库
为什么要关闭游标
为什么要关闭数据库
为什么要回滚事务
结尾 pymysql的使用流程
pymysql的使用也是有一定流程的需要有如下几步
1.导入pymysql的工具包
方法一、使用pip工具
可以使用pip工具,在终端中输入如下代码
pip install pymysql可能会出现的问题
方法一的pip工具需要把scripts配置到系统中打开环境变量把scripts的文件路径复制然后添加到系统变量中就可以了
方法二、使用pycharm中配置到python解释器 此时需要点击settings——Project项目名——Python Interpreter
然后点击右侧这一栏这是你的项目选中有着python解释器的项目
点击这个号——Available Packages中的下面有个放大镜的一栏输入pymysql即可然后Install Package即可不过此时仍需要等待它提示安装好了
可能会出现的问题
点击号之后等待好久pycharm的packages显示不出来建议就是清除缓存然后重启
2.连接数据库
当然是需要你去连接你的数据库了如果不链接的话你怎么用MySQL数据库呢。
import json
import pymysqlclass DatabaseConnect:_json_config None # 设置一个类属性classmethod # 使用静态方法注解告诉解释器要干什么def load(cls, json_pathrE:\UBD_3\database_login.json):if not cls._json_config:with open(json_path, r) as f:cls._json_config json.load(f) # 通过该cls对象给类属性添加相关的信息以实现只读一次json文件# print(_json_config)def __init__(self):try:self.load()# self.connect_database()except Exception as e:print(初始化过程错误 str(e))def connect_database(self):try:db pymysql.connect(hostself._json_config[host],portself._json_config[port],userself._json_config[username],passwordself._json_config[password],charsetself._json_config[charset],databaseself._json_config[database])print(数据库连接成功)return db # 这里返回db是为了之后使用游标更方便except pymysql.Error as e:print(f数据库连接异常: {type(e).__name__}: {e})上述代码中关键连接部分在 connect_database方法中然后根据你的host、port、user、password、database等参数需要使用这样才可以连接到MySQL数据库相应的设置异常捕获机制自然会更容易做好。
3. 使用cursor获取游标
pymysql的方法使用需要用到游标
首先需要创建游标对象根据你的连接的返回值上述代码连接数据库的方法返回了db 然后创建游标对象
# 创建游标对象
cur db.cursor()
4.根据游标使用相关的方法
sqlquery select * from students where id%d # 这里的from之后的students是你的数据库中的表
value None # 这里的value值需要你自己传入
cur.execute(sqlquery, value) # pymysql库有自动匹配的方法虽然你自己可以传入的%s然后他会去转成int型不过你传入的数据不能是错误的
result cur.fetchall() # 获取返回值
print(result) # 把返回值输出出来
5.关闭游标和数据库
首先会提出这个问题为什么要去关闭游标和数据库然后又会提出各种问题
为什么要关闭游标
1.为了释放资源在游标使用的过程之中它会占用一定的内存资源来存储信息如果不及时关闭的话看这些资源会被一直浪费它还会影响到数据库的连接可能现在你有100个可以进行连接的游标接口然后你创建了一百个游标那你之后创建的游标可能就无法使用了。
2.为了保持数据的一致当你创建了一个游标然后又创建了一个游标之后你进行的操作分别在这两个游标之后然后你第二个创建的游标的跟的方法就可能会读出来第一个游标方法返回的数据。当你进行一个类似的操作的时候如果返回的值也是类似的话可以考虑是游标未关闭造成的这个数据返回与预期不一致的问题。
为什么要关闭数据库
是这么理解的就像是你拿个桶要接水除非在你后面的那个人跟你说不用关不然你打可能会直接关掉数据库也会像这样使用完了就会关掉不然都话在这之间会有浪费的资源时间长了之后还会造成卡顿等现象然后卡死。
为什么要回滚事务
因为当初出现错误的时候回滚事务可以直接回到在未执行的时候这时候使用异常处理机制try成立就提交事务不成立就回滚事务。
结尾
既然看到结尾了那就说个再见吧没有什么太多的了如有不同见解评论指教即可。