python3.4用函数操作mysql5.7数据库

yipeiwu_com5年前Python基础

本文实例为大家分享了python3.4函数操作mysql数据库的具体代码,供大家参考,具体内容如下

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# __author__ = "blzhu"
"""
python study
Date:2017
"""
# -*- coding: utf-8 -*-
__author__ = 'djstava@gmail.com'

import logging
import pymysql


class MySQLCommand(object):
 def __init__(self, host, port, user, passwd, db, table, charset):
 self.host = host
 self.port = port
 self.user = user
 self.password = passwd
 self.db = db
 self.table = table
 self.charset = charset

 def connectMysql(self):
 try:
 self.conn = pymysql.connect(host=self.host, port=self.port, user=self.user, passwd=self.password,
   db=self.db, charset=self.charset)
 self.cursor = self.conn.cursor()
 print('connect ' + self.table + ' correctly!')
 except:
 print('connect mysql error.')

 def queryMysql(self):
 sql = "SELECT * FROM " + self.table

 try:
 print("query Mysql:")
 self.cursor.execute(sql)
 #row = self.cursor.fetchone()
 for d in self.cursor:
 print(str(d[0]), str(d[1]), str(d[2]))
 # print(row)

 except:
 print(sql + ' execute failed.')

 def insertMysql(self, id, name, sex):
 sql = "INSERT INTO " + self.table + " VALUES(" + id + "," + "'" + name + "'," + "'" + sex + "')"
 try:
 print("insert Mysql:")
 self.cursor.execute(sql)
 print(sql)
 except:
 print("insert failed.")

 def updateMysqlSN(self, name, sex):
 sql = "UPDATE " + self.table + " SET sex='" + sex + "'" + " WHERE name='" + name + "'"
 print("update sn:" + sql)

 try:
 self.cursor.execute(sql)
 self.conn.commit()
 except:
 self.conn.rollback()

 def deleteMysql(self, id): # 删除
 sql = "DELETE FROM %s WHERE id='%s'" % (self.table,id)
 #"delete from student where zid='%s'" % (id)
 try:
 self.cursor.execute(sql)
 print(sql)
 self.conn.commit()
 print("delete the " + id + "th row successfully!")
 except:
 print("delete failed!")
 self.conn.rollback()

 def closeMysql(self):
 self.conn.commit() # 不执行此句,所作的操作不会写入到数据库中
 self.cursor.close()
 self.conn.close()


if __name__ == '__main__':
 zblmysql = MySQLCommand(host='localhost', user='root', passwd='root', db='zbltest1', port=3306, table='student2',
  charset='utf8')
 zblmysql.connectMysql()
 zblmysql.queryMysql()
 zblmysql.insertMysql('5', 'zbl5', 'man')
 zblmysql.queryMysql()
 zblmysql.deleteMysql(id=2)
 zblmysql.queryMysql()
 zblmysql.updateMysqlSN(name='zbl5',sex='woman')
 zblmysql.queryMysql()
 zblmysql.closeMysql()

参考:python3操作mysql数据库的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python抽象和自定义类定义与用法示例

本文实例讲述了Python抽象和自定义类定义与用法。分享给大家供大家参考,具体如下: 抽象方法 class Person(): def say(self): pass c...

解决py2exe打包后,总是多显示一个DOS黑色窗口的问题

setup.py: #!/usr/bin/env python # coding=utf-8 from distutils.core import setup import py2e...

Python 调用 zabbix api的方法示例

前提准备: 1.使用python requests模块 2.了解json 3.zabbix api的具体调用建议先浏览一下官网 先上代码: import requests,json...

Python输入二维数组方法

前不久对于Python输入二维数组有些不解,今日成功尝试,记以备忘。这里以输入1-9,3*3矩阵为例 n=int(input()) line=[[0]*n]*n for i in r...

tensorflow使用range_input_producer多线程读取数据实例

先放关键代码: i = tf.train.range_input_producer(NUM_EXPOCHES, num_epochs=1, shuffle=False).dequeu...