python访问mysql_python连接mysql
首先需要导入驱动模块
打开cmd导入模块 pip install mysqldb(pymysql)
python2.x版本--------->mysqldb
python3.x版本---------->pymysql
python调用MySQL数据库总共五步
1、导入模块(驱动) pymysql mysqldb
2、获取连接 connect
3、获取游标cursor
4、执行sql execute 并且返回结果
5、关闭资源
====================================================================
#python 调用mysql帮助类 连接数据库 创建数据查询更新的方法
#创建一个数据库帮助类
#导入pymysql模块
import pymysql
#创建类
class sqlHelper:
#初始化属性
def __init__(self,host,db,user,pwd):
self.host = host
self.port = 3306
self.db = db
self.user = user
self.pwd = pwd
self.charset = 'utf8'
#创建数据库连接 创建游标
def connection(self):
self.conn = pymysql.connect(host = self.host,port = self.port,db = self.db,user = self.user,
password = self.pwd,charset = self.charset)
self.cursor = self.conn.cursor()
return 'OK'
#创建查询一条数据的方法
def queryOne(self,sql,params):
#首先连接数据库 获取游标
try:
self.connection()
#执行sql语句
count = self.cursor.execute(sql,params)
#返回执行结果
res = self.cursor.fetchone()
return count,res
except Exception as ex:
print('失败,失败信息是:',ex)
finally:
#调用关闭资源的方法
self.closes()
#创建查询多条数据的方法
def queryAll(self,sql,params):
try:
#连接数据库
self.connection()
#执行sql语句
count = self.cursor.execute(sql,params)
#获取结果
res = self.cursor.fetchall()
return count,res
except Exception as e:
print('查询失败 失败信息是:',e)
finally:
#调用关闭资源的方法
self.closes()
#创建修改数据库的方法
def update(self,sql,params):
try:
# 连接数据库
self.connection()
# 执行sql语句
count = self.cursor.execute(sql,params)
#把事物(更新的信息写入数据库)
self.conn.commit()
return count
except Exception as e:
print('查询失败 失败信息是:', e)
#如果更新失败 数据库就返回到更新之前的数据
self.conn.rollback()
finally:
# 调用关闭资源的方法
self.closes()
#定义关闭资源的方法
def closes(self):
if self.cursor != None:
self.cursor.close()
if self.conn != None:
self.conn.close()
================================================================================================
测试数据库帮助类的文档:
'''
python调用mysql分为五个步骤
1、导入pymysql模块
2、获取连接 connect
3、获取游标 curs
4、执行SQL execute 并返回结果
5、关闭资源
'''
#定义用户操作数据库的一些方法
import sqlHelper
import sys
#创建连接对象 host,db,user,pwd
helper = sqlHelper.sqlHelper('localhost','db_py1712','root','root')
#print(helper.connection())
# a,s = helper.queryOne('select * from t_stumessage',[])
# print(s)
# a = helper.update('insert into t_stumessage VALUES (uuid() ,%s,%s,%s,%s,%s)',['陈乐乐',123456,21,'男','万方学院'])
# print(a)
# a,s = helper.queryAll('select * from t_stumessage',[])
# print(s)
#用户注册
def register(user):
#首先查询数据库中是否存在该用户名
#查询表中所有用户名
count,res = helper.queryAll('select username from t_stumessage',[])
#遍历元组 判断输入的用户名是否存在
bn = False
for u in res:
# print(u)
# print(type(u))
if u[0] != user:
bn = True
if bn == False:
pwd = int(input('请输入密码'))
age = int(input('请输入年龄'))
sex = input('请输入性别')
school = input('请输入学校名称')
#把用户输入的信息写如到数据库表中
# s = helper.connection()
# print(s)
count = helper.update('insert into t_stumessage VALUES (uuid() ,%s,%s,%s,%s,%s)',[user,pwd,age,sex,school])
if count > 0:
print('注册成功')
else:
print('注册失败')
else:
print('你输入的用户名已经存在,请重新输入')
#register('王少松')
#用户登录
def login(user,pwd):
#查询表中的用户名和密码 判断与用户输入的信息是否匹配
count,res = helper.queryAll('select username,pwd from t_stumessage ',[])
return count,res
#遍历res
# bn = False
# for u in res:
# if u[0] == user and u[1] == pwd:
# bn =True
# if bn == True:
# print('登录成功')
# else:
# print('用户名或密码错误,登录失败')
# u = input()
# s = input()
# login(u,s)
#用户列表 根据用户名查看用户自己的基本信息
def messages(user):
count,res = helper.queryOne('select * from t_stumessage where userName = %s',(user,))
return count,res
# if count > 0:
# return res
# else:
# print('查询失败')
#messages('赵娇娇')
#用户修改 根据用户名修改密码
def update(user,pwd):
count = helper.update('update t_stumessage set pwd = %s WHERE username = %s',[pwd,user])
#print(count)
if count > 0:
print('修改成功')
else:
print('修改失败')
#update('赵娇娇','123123')
#用户删除 根据用户名删除用户信息
def dels(user):
count = helper.update('delete from t_stumessage WHERE username = %s',(user,))
if count > 0:
print('删除成功')
else:
print('删除失败')
#dels('赵娇娇')
#用户退出
def exit():
print('退出')
sys.exit()
#exit()
========================================================================
python访问mysql_python连接mysql相关推荐
- python 多人连接mysql 进行事务操作 对mysql加锁与释放锁
python 多人连接mysql 对mysql进行事务操作 对mysql加锁与释放锁 下面这个是user1代码块 # -*- coding: utf-8 -*- # user1 import pymy ...
- 记录python使用pymysql连接mysql数据库,使用impyla、ibis-framework[impala]连接hive\impala(kerberos)数据库(备以后查阅)
记录python使用pymysql连接mysql数据库,使用impyla.ibis-framework[impala]连接hive\impala(kerberos)数据库(备以后查阅) 连接mysql ...
- python连接mysql_Python 连接mysql与impala
前言: 机器学习平台开发初期,需要进行基于python的算法组件的开发(编写不同模型算法的python脚本,并以Azkaban调度的方式来运行模型). 由于以前没有学过python,所以在最初的pyt ...
- python 连接mysql_Python 连接MySQL
数据库技术(例如MySQL)在气象业务和其他商业行业中都有着广泛的应用,气象与电网结合的大项目甚至都用上了hadoop分布式存储,Hadoop中的Hive组件和数据库在语法上高度相似. 传统运行mys ...
- python操作mysql_python操作MySQL
python操作MySQL.执行SQL语句.获取结果集.遍历结果集.取得谋个字段.获取表字段名.将图片插入数据库.执行事务等各种代码示例和详细介绍,代码居多. 实例一: 取得MySQL的版本 在win ...
- python数据分析之连接MySQL数据库并进行数据可视化
大家好,我是带我去滑雪! 本期将熟悉MySQL数据库以及管理和操作MySQL数据库的数据库管理工具Navicat Premium,然后在python中调用MySQL数据库进行数据分析和数据可视化. 目 ...
- Python和VBA连接MySQL
Python和Excel的VBA如何连接MySQL数据库 Python篇 Excel篇 接下来就是VBA连接MySQL Python篇 直接上代码 import pymysqlconn = pymys ...
- python 天气预报 mysql_Python+PyQt5+MySQL实现天气管理系统
在本篇博客中,我利用Python语言其编写界面库PyQt5,然后通过连接MySQL数据库,实现了一个简单的天气管理小系统,该系统包含简单的增删查改四个主要功能.本文旨在解析实现的程序,能够让读者快速了 ...
- python启动mysql_Python操作MySQL
安装PyMySQL python中连接mysql的客户端主要有mysqldb.mysql-connector.pymysql三种.虽说性能上面各有差别,但是主流市场还是以操作便捷.使用简单为选择条件. ...
最新文章
- mongo里的type_MongoDB $type 操作符
- 一些开源搜索引擎实现——倒排使用原始文件,列存储Hbase,KV store如levelDB、mongoDB、redis,以及SQL的,如sqlite或者xxSQL...
- 第1次作业+105032014074
- Ubuntu关闭ipv6
- 如何高效排查系统故障?一分钱引发的系统设计“踩坑”案例
- RocketMQ中主从复制
- rest服务swagger_使用Swagger轻松记录您的Play Framework REST API
- 数据不平衡处理_如何处理多类不平衡数据说不可以
- 强迫症告辞!三星Galaxy S11这“凌乱”的后置5摄,感受下
- Python项目实践:科赫曲线、科赫雪花
- jwt判断token是否过期_4spring-security5整合jwt做登录、权限验证,全网最全!!!可用...
- 开启JAVA死锁之迷
- javascript用DOM解释XML
- 三菱iQ-R系列PLC控制系统项目全套资料 系统才用三菱iQ-R系列PLC,采用R04CPU
- ROI是什么?电商ROI计算公式及理论及详解
- windows下Git连接使用
- mysql用户登录和第三方登录_mysql 用户表结构设计,第三方登录
- OPM泄漏事故报告:矛头直指领导对数据丢失无作为
- 【java】java: -source 1.5 中不支持 diamond 运算符
- 微博mysql表设计思路
热门文章
- Program type already present: android.support.design.widget.xx
- ssh WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
- 支付宝后台如何查看自己的签约详情
- php20个字,北京人会说不会写的20个字,第一个我就跪了
- jquery.uploadify flash IE6上传无效
- php对象比较大小,PHP 面向对象:对象的比较
- linux 漏洞数量,Debian Linux被列为过去20年漏洞数量最多的操作系统
- 【C语言进阶深度学习记录】二十四 指针与数组的本质分析一
- Django的各种初识
- jQuery 简单案例