1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # __author__ = "blzhu"
  4. """
  5. python study
  6. Date:2017
  7. """
  8. # -*- coding: utf-8 -*-
  9. __author__ = 'djstava@gmail.com'
  10.  
  11. import logging
  12. import pymysql
  13.  
  14. class MySQLCommand(object):
  15. def __init__(self, host, port, user, passwd, db, table, charset):
  16. self.host = host
  17. self.port = port
  18. self.user = user
  19. self.password = passwd
  20. self.db = db
  21. self.table = table
  22. self.charset = charset
  23.  
  24. def connectMysql(self):
  25. try:
  26. self.conn = pymysql.connect(host=self.host, port=self.port, user=self.user, passwd=self.password,
  27. db=self.db, charset=self.charset)
  28. self.cursor = self.conn.cursor()
  29. print('connect ' + self.table + ' correctly!')
  30. except:
  31. print('connect mysql error.')
  32.  
  33. def queryMysql(self):
  34. sql = "SELECT * FROM " + self.table
  35.  
  36. try:
  37. print("query Mysql:")
  38. self.cursor.execute(sql)
  39. #row = self.cursor.fetchone()
  40. for d in self.cursor:
  41. print(str(d[0]), str(d[1]), str(d[2]))
  42. # print(row)
  43.  
  44. except:
  45. print(sql + ' execute failed.')
  46.  
  47. def insertMysql(self, id, name, sex):
  48. sql = "INSERT INTO " + self.table + " VALUES(" + id + "," + "'" + name + "'," + "'" + sex + "')"
  49. try:
  50. print("insert Mysql:")
  51. self.cursor.execute(sql)
  52. print(sql)
  53. except:
  54. print("insert failed.")
  55.  
  56. def updateMysqlSN(self, name, sex):
  57. sql = "UPDATE " + self.table + " SET sex='" + sex + "'" + " WHERE name='" + name + "'"
  58. print("update sn:" + sql)
  59.  
  60. try:
  61. self.cursor.execute(sql)
  62. self.conn.commit()
  63. except:
  64. self.conn.rollback()
  65.  
  66. def deleteMysql(self, id): # 删除
  67. sql = "DELETE FROM %s WHERE id='%s'" % (self.table,id)
  68. #"delete from student where zid='%s'" % (id)
  69. try:
  70. self.cursor.execute(sql)
  71. print(sql)
  72. self.conn.commit()
  73. print("delete the " + id + "th row successfully!")
  74. except:
  75. print("delete failed!")
  76. self.conn.rollback()
  77.  
  78. def closeMysql(self):
  79. self.conn.commit() # 不执行此句,所作的操作不会写入到数据库中
  80. self.cursor.close()
  81. self.conn.close()
  82.  
  83. if __name__ == '__main__':
  84. zblmysql = MySQLCommand(host='localhost', user='root', passwd='root', db='zbltest1', port=3306, table='student2',
  85. charset='utf8')
  86. zblmysql.connectMysql()
  87. zblmysql.queryMysql()
  88. zblmysql.insertMysql('', 'zbl5', 'man')
  89. zblmysql.queryMysql()
  90. zblmysql.deleteMysql(id=2)
  91. zblmysql.queryMysql()
  92. zblmysql.updateMysqlSN(name='zbl5',sex='woman')
  93. zblmysql.queryMysql()
  94. zblmysql.closeMysql()

参考:http://www.cnblogs.com/tkinter/p/5632312.html

很好玩!

python3.4用函数操作mysql5.7数据库的更多相关文章

  1. Python3.x:SQLAlchemy操作数据库

    Python3.x:SQLAlchemy操作数据库 前言 SQLAlchemy是一个ORM框架(Object Rational Mapping,对象关系映射),它可以帮助我们更加优雅.更加高效的实现数 ...

  2. 【简说Python WEB】视图函数操作数据库

    目录 [简说Python WEB]视图函数操作数据库 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Python的版本:Python 3.6.9 ...

  3. SQL Server学习之路(七):Python3操作SQL Server数据库

    0.目录 1.前言 2.准备工作 3.简单测试语句 4.提交与回滚 5.封装成类的写法 1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话, ...

  4. 数据库MySQL之 视图、触发器、存储过程、函数、事务、数据库锁、数据库备份、事件

    数据库MySQL之 视图.触发器.存储过程.函数.事务.数据库锁.数据库备份.事件 浏览目录 视图 触发器 存储过程 函数 事务 数据库锁 数据库备份 事件 一.视图 1.视图概念 视图是一个虚拟表, ...

  5. centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复

    centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...

  6. MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁

    浏览目录: 1.视图 2.触发器 3.存储过程 4.函数 5.事物 6.数据库锁 7.数据库备份 1.视图 视图:是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据 视 ...

  7. python3内置函数大全(顺序排列)

    python3内置函数大全 内置函数 (1)abs(),   绝对值或复数的模 1 print(abs(-6))#>>>>6 (2)all() 接受一个迭代器,如果迭代器的所有 ...

  8. python3内置函数大全

    由于面试的时候有时候会问到python的几个基本内置函数,由于记不太清,就比较难受,于是呕心沥血总结了一下python3的基本内置函数 Github源码:        https://github. ...

  9. mysql5.6数据库双机热备、主从备份

    主题:mysql5.6数据库双机热备.主从备份 缘由: 在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一.尤其是在大规模系统中,数据库集群已经成为必备的配置之一.集群的好处主要有:查询 ...

随机推荐

  1. iOS-引用计数与ARC(转)

    以下是关于内存管理的学习笔记:引用计数与ARC. iOS5以前自动引用计数(ARC)是在MacOS X 10.7与iOS 5中引入一项新技术,用于代替之前的手工引用计数MRC(Manual Refer ...

  2. python使用elasticsearch模块操作elasticsearch

    1.创建索引 命令如下 from elasticsearch import Elasticsearch es = Elasticsearch([{"host":"10.8 ...

  3. 宝塔Linux面板 概述

    安装要求: Python版本: 2.6/2.7(安装宝塔时会自动安装) 内存:128M以上,推荐512M以上(纯面板约占系统10M内存) 硬盘:100M以上可用硬盘空间(纯面板约占20M磁盘空间) 系 ...

  4. Efficiency optimizing

    *low efficiency l_it_alv_stpox[] = g_it_alv_stpox[]. SORT l_it_alv_stpox BY zz_matnr idnrk. LOOP AT ...

  5. SY-SUBRC

    一般是对read table和select语句使用. loop at g_it_data where level < <wa_data>-level and seq < < ...

  6. day 24 socket 黏包

    socket 套接字的使用: tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端 server 端 import socket sk = socket.socket() # 实例化一个 ...

  7. django static 无法正确加载目录下的css

    在static->web目录下添加CSS后该css文件一直报404错误,解决问题: 在setting.py文件添加: STATICFILES_DIRS = [ os.path.join(BASE ...

  8. Tomcat登陆mysql的密码设置

    在登陆mysql的密码和数据库密码不一致时,可以修改Mysql数据库密码或者修改连接Mysql的配置文件:  1.修改连接Tomcat里连接Mysql的配置文件 需要修改两个配置文件 ,一个是在tom ...

  9. mysql怎么查看是否支持分区

    mysql从5.1开始支持分区功能 查询命令如下: mysql> show plugins like '%partiotion%'; mysql> show variables like ...

  10. three.js raycaster射线碰撞的坑 (当canvas大小 不是屏幕大小是解决拾取物体的办法)

    这里只是记录一下坑,方便查阅,内容主要援引自:three.js Raycaster 射线拾取 canvas不占满整屏时射线拾取存在偏差 1. 世界坐标系: 世界坐标系位于屏幕的中心(0,0,0),往右 ...