版本信息:python:3.6 mysql:5.7 pyMysql:0.7.11
################################################################# #author: 陈月白 #_blogs: http://www.cnblogs.com/chenyuebai/ ################################################################# # -*- coding: utf-8 -*- class MysqlTools(): """ 连接mysql 库、表操作 """ def __init__(self,host,dbname,user,passwd,charset="utf8"): self.host = host self.dbname = dbname self.user = user self.passwd = passwd self.charset = charset def connectMysqlDatabase(self): """连接db""" try: #连接db connect = pymysql.connect(host=self.host,user=self.user,passwd=self.passwd,db=self.dbname,charset=self.charset) cursor = connect.cursor() databaseConnectInfo = self.user + "@" + "self.host" + "/" + self.dbname print("INFO:connect database %s success."%databaseConnectInfo) return connect,cursor except: traceback.print_exc() print("ERROR:FUNCTION connectMysqlDatabase connect mysql database failed.") def executeSqlLine(self,sqlLine): """执行单条sql语句""" if sqlLine and isinstance(sqlLine,str): print("INFO:now start connect mysql dababase.") connect,cursor = self.connectMysqlDatabase() executeResult = "" try: #游标执行sql cursor.execute(sqlLine) executeResult = cursor.fetchall() #获取所有执行结果 cursor.close() #关闭游标 connect.commit() #确认提交 print("INFO:execute sql sucess. sqlLine = ", sqlLine) except Exception as e: print("ERROR:execute sql failed.errorInfo =",e) print("ERROR:FUNCTION executeSql execute failed.sqlLine =",sqlLine) connect.rollback() #回滚db return str(e) + " sqlLine = " + sqlLine #断开连接 connect.close() print("INFO:connect closed.\n") return executeResult else: print("ERROR:param sqlLine is empty or type is not str.sqlLine = ",sqlLine) def executeBatchSql(self,sqlList): """ 批量执行sql exp: executeBatchSql([sql_1, sql_2, sql_3, ...... ]) """ finalResultList = [] if sqlList: for sql in sqlList: executeResult = self.executeSqlLine(sql) finalResultList.append(executeResult) else: print("ERROR:param sqlList is empty.") return finalResultList
测试代码:
# -*- coding: utf-8 -*- from my_code.work_tools import WorkTools mysql = WorkTools.MysqlTools("localhost","testdbname","rootuername","passwd") #执行单行sql ret1 = mysql.executeSqlLine("show databases") #批量执行 ret2 = mysql.executeBatchSql([ "show databases", "show tables", "update students_info set name = '王大花D' where id = 2", "select * from students_info", "error sql test" #异常sql测试 ]) print("ret1 = ",ret1) print("---------------------") for i in ret2: print(i)
测试表:
执行结果:
ret1 = (('information_schema',), ('mysql',), ('performance_schema',), ('sakila',), ('sys',), ('testdb',), ('world',)) --------------------- (('information_schema',), ('mysql',), ('performance_schema',), ('sakila',), ('sys',), ('testdb',), ('world',)) (('students_info',),) () ((1, '陈月白', 'male', 25, '20176666', '1351234'), (2, '王大花D', 'female', 19, '19920816', '10086'), (3, '李强新', 'male', 18, '19941025', '10000'), (4, '王鹏', 'male', 20, '19970405', '10010'), (5, '钟齐', 'male', 22, '19970420', '123456789'), (6, '王大花', 'female', 15, '19981024', '12345678')) (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'error sql test' at line 1") sqlLine = error sql test
以上这篇python 3.6 +pyMysql 操作mysql数据库(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍ASP.NET操作MySql数据库的实例代码讲解,包括了ASP.NET操作MySql数据库的实例代码讲解的使用技巧和注意事项,需要的朋友参考一下 一、把MySql.Data.dll放到BIN目录下。 二、这是aspx.cs的全部源码,修改参数直接运行即可! 以上所述是小编给大家介绍的ASP.NET操作MySql数据库的实例代码讲解,希望对大家有所帮助,如果大家有任何疑问请给我留
本文向大家介绍jdbc操作mysql数据库实例,包括了jdbc操作mysql数据库实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jdbc操作mysql数据库的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的JSP程序设计有所帮助。
本文向大家介绍node操作mysql数据库实例详解,包括了node操作mysql数据库实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了node操作mysql数据库的方法。分享给大家供大家参考,具体如下: 1、建立数据库连接:createConnection(Object)方法 该方法接受一个对象作为参数,该对象有四个常用的属性host,user,password,database。
本文向大家介绍pymysql模块的操作实例,包括了pymysql模块的操作实例的使用技巧和注意事项,需要的朋友参考一下 pymysql 模块! pymysql模块时一个第三方模块!需要下载: pymysql的基本使用: 我们可以通过python导入模块来连接数据库,进行登陆注册功能,在使用时sql会遇到注入问题 sql注入问题 利用特殊符号和注释语法 巧妙的绕过真正的sql校验,是用户数据不安全
本文向大家介绍mysql insert语句操作实例讲解,包括了mysql insert语句操作实例讲解的使用技巧和注意事项,需要的朋友参考一下 insert的语法 如果列清单和VALUES清单均为空清单,则INSERT会创建一个行,每个列都被设置为默认值: 假设worker表只有name和email,插入一条数据 批量插入多条数据 给出要赋值的那个列,然后再列出值的插入数据 使用set插入数据 在
本文向大家介绍php使用PDO操作MySQL数据库实例,包括了php使用PDO操作MySQL数据库实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php使用PDO操作MySQL数据库的方法。分享给大家供大家参考。具体分析如下: PDO是mysql数据库操作的一个公用类,我们不需要进行自定类就可以直接使用pdo来操作数据库,但是在php默认配置中pdo是未开启所以我们必须先在php.in