当前位置: 首页 > news >正文

python如何使用mysql_Python如何操作MySQL

安装Mysql和Navicat for MySQL

Python链接Mysql的增删改查

通过Python提供的pymysql模块实现对mysql数据库的操作,这个地方注意python3.x使用的是pymysql,python2.x的话使用mysqldb模块

安装pymysql模块:pip install PyMySQL

import pymysql

# 创建连接

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='student')

# 创建游标

cursor = conn.cursor()

# 修改----执行SQL,并返回受影响行数

# effect_row = cursor.execute("update user set name=%s,pwd=%s where id=%s", ('aaa','bb', 1))

# 添加----执行SQL,并返回受影响行数

# cursor.execute("insert into user (name, pwd) values (%s,%s)", ("lidao","aaa"))

# 查询----

cursor.execute("select * from user")

stus = cursor.fetchall()

for stu in stus:

print("id:%d; name: %s; pwd: %s; " %(stu[0], stu[1], stu[2]))

# 删除---执行SQL,并返回受影响行数

cursor.execute("delete from user where id=%s", (2))

# 提交,不然无法保存新建或者修改的数据

conn.commit()

#如果不加这个就手动添加autocommit=True 自动提交

#db=pymysql.connect(host="127.0.0.1",port=3306,user="root",passwd="123456",db="school",charset="utf8",autocommit=True)

# 关闭游标

cursor.close()

# 关闭连接

conn.close()

自己封装helper类

import pymysql

class dbhelper():

def __init__(self,host,port,user,passwd,db,charset="utf8"):

self.host=host

self.port=port

self.user=user

self.passwd=passwd

self.db=db

self.charset=charset

#创建一个链接

def connection(self):

#1. 创建连接

self.conn = pymysql.connect(host=self.host, port=self.port, user=self.user, passwd=self.passwd, db=self.db,charset=self.charset)

#2. 创建游标

self.cur = self.conn.cursor()

#关闭链接

def closeconnection(self):

self.cur.close()

self.conn.close()

#查询一条数据

def getonedata(self,sql):

try:

self.connection()

self.cur.execute(sql)

result=self.cur.fetchone()

self.closeconnection()

except Exception:

print(Exception)

return result

#查询多条数据

def getalldata(self,sql):

try:

self.connection()

self.cur.execute(sql)

result=self.cur.fetchall()

self.closeconnection()

except Exception:

print(Exception)

return result

#添加/修改/删除

def executedata(self,sql):

try:

self.connection()

self.cur.execute(sql)

self.conn.commit()

self.closeconnection()

except Exception:

print(Exception)

封装好了以后,后续用到mysql的操作的地方都可以直接使用,栗子如下:

from mysqlhelper import *

db=dbhelper(host='127.0.0.1', port=3306, user='root', passwd='123456', db='school',charset="utf8")

result=db.getalldata("select * from class")

print(result)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 接口(Interface)的用途
  • python什么格式结尾_python文件以什么结尾
  • ASP.NET应用程序中要小心使用放在App_Code文件夹类中的静态成员
  • redis安装部署linux_redis在liunx环境下的安装和部署
  • python中最小公倍数_python怎么求最大公约数和最小公倍数
  • Windows Mobile开发资源介绍
  • csdn的登录验证做的太有“准”啦
  • al.99.vc挂马分析与解决建议
  • 手机html端 悬浮_移动端WEB开发 — 响应式布局
  • ransac算法_【干货】计算机科学中最重要的32个算法 你知道几个?
  • 超轻量级全文搜索框架的设计和实现 (1)
  • 免费的UML建模工具StarUml
  • 游戏设计与开发_上海游戏开发设计培训班制作属于自已的游戏
  • QReader阅读中文文本乱码的解决
  • python数据归一化代码_python 实现对数据集的归一化的方法
  • 【Leetcode】104. 二叉树的最大深度
  • JavaScript学习总结——原型
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • spring学习第二天
  • SSH 免密登录
  • Vue UI框架库开发介绍
  • vue--为什么data属性必须是一个函数
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 原生 js 实现移动端 Touch 滑动反弹
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #NOIP 2014# day.2 T2 寻找道路
  • $NOIp2018$劝退记
  • (1)常见O(n^2)排序算法解析
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (k8s)Kubernetes本地存储接入
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (二)springcloud实战之config配置中心
  • (利用IDEA+Maven)定制属于自己的jar包
  • (四)React组件、useState、组件样式
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • ... 是什么 ?... 有什么用处?
  • .CSS-hover 的解释
  • .net core 依赖注入的基本用发
  • .Net 路由处理厉害了
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • @property @synthesize @dynamic 及相关属性作用探究
  • [ JavaScript ] JSON方法
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • []T 还是 []*T, 这是一个问题
  • [AIGC] 深入浅出 Python中的`enumerate`函数
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)