首先需要导入驱动模块

打开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相关推荐

  1. python 多人连接mysql 进行事务操作 对mysql加锁与释放锁

    python 多人连接mysql 对mysql进行事务操作 对mysql加锁与释放锁 下面这个是user1代码块 # -*- coding: utf-8 -*- # user1 import pymy ...

  2. 记录python使用pymysql连接mysql数据库,使用impyla、ibis-framework[impala]连接hive\impala(kerberos)数据库(备以后查阅)

    记录python使用pymysql连接mysql数据库,使用impyla.ibis-framework[impala]连接hive\impala(kerberos)数据库(备以后查阅) 连接mysql ...

  3. python连接mysql_Python 连接mysql与impala

    前言: 机器学习平台开发初期,需要进行基于python的算法组件的开发(编写不同模型算法的python脚本,并以Azkaban调度的方式来运行模型). 由于以前没有学过python,所以在最初的pyt ...

  4. python 连接mysql_Python 连接MySQL

    数据库技术(例如MySQL)在气象业务和其他商业行业中都有着广泛的应用,气象与电网结合的大项目甚至都用上了hadoop分布式存储,Hadoop中的Hive组件和数据库在语法上高度相似. 传统运行mys ...

  5. python操作mysql_python操作MySQL

    python操作MySQL.执行SQL语句.获取结果集.遍历结果集.取得谋个字段.获取表字段名.将图片插入数据库.执行事务等各种代码示例和详细介绍,代码居多. 实例一: 取得MySQL的版本 在win ...

  6. python数据分析之连接MySQL数据库并进行数据可视化

    大家好,我是带我去滑雪! 本期将熟悉MySQL数据库以及管理和操作MySQL数据库的数据库管理工具Navicat Premium,然后在python中调用MySQL数据库进行数据分析和数据可视化. 目 ...

  7. Python和VBA连接MySQL

    Python和Excel的VBA如何连接MySQL数据库 Python篇 Excel篇 接下来就是VBA连接MySQL Python篇 直接上代码 import pymysqlconn = pymys ...

  8. python 天气预报 mysql_Python+PyQt5+MySQL实现天气管理系统

    在本篇博客中,我利用Python语言其编写界面库PyQt5,然后通过连接MySQL数据库,实现了一个简单的天气管理小系统,该系统包含简单的增删查改四个主要功能.本文旨在解析实现的程序,能够让读者快速了 ...

  9. python启动mysql_Python操作MySQL

    安装PyMySQL python中连接mysql的客户端主要有mysqldb.mysql-connector.pymysql三种.虽说性能上面各有差别,但是主流市场还是以操作便捷.使用简单为选择条件. ...

最新文章

  1. mongo里的type_MongoDB $type 操作符
  2. 一些开源搜索引擎实现——倒排使用原始文件,列存储Hbase,KV store如levelDB、mongoDB、redis,以及SQL的,如sqlite或者xxSQL...
  3. 第1次作业+105032014074
  4. Ubuntu关闭ipv6
  5. 如何高效排查系统故障?一分钱引发的系统设计“踩坑”案例
  6. RocketMQ中主从复制
  7. rest服务swagger_使用Swagger轻松记录您的Play Framework REST API
  8. 数据不平衡处理_如何处理多类不平衡数据说不可以
  9. 强迫症告辞!三星Galaxy S11这“凌乱”的后置5摄,感受下
  10. Python项目实践:科赫曲线、科赫雪花
  11. jwt判断token是否过期_4spring-security5整合jwt做登录、权限验证,全网最全!!!可用...
  12. 开启JAVA死锁之迷
  13. javascript用DOM解释XML
  14. 三菱iQ-R系列PLC控制系统项目全套资料 系统才用三菱iQ-R系列PLC,采用R04CPU
  15. ROI是什么?电商ROI计算公式及理论及详解
  16. windows下Git连接使用
  17. mysql用户登录和第三方登录_mysql 用户表结构设计,第三方登录
  18. OPM泄漏事故报告:矛头直指领导对数据丢失无作为
  19. 【java】java: -source 1.5 中不支持 diamond 运算符
  20. 微博mysql表设计思路

热门文章

  1. Program type already present: android.support.design.widget.xx
  2. ssh WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  3. 支付宝后台如何查看自己的签约详情
  4. php20个字,北京人会说不会写的20个字,第一个我就跪了
  5. jquery.uploadify flash IE6上传无效
  6. php对象比较大小,PHP 面向对象:对象的比较
  7. linux 漏洞数量,Debian Linux被列为过去20年漏洞数量最多的操作系统
  8. 【C语言进阶深度学习记录】二十四 指针与数组的本质分析一
  9. Django的各种初识
  10. jQuery 简单案例