本文共 1257 字,大约阅读时间需要 4 分钟。
pymysql中的cursors包可以将字符串转换成sql语句进行执行:
首先是将sql服务连接上:def getConnect(): conn = pymysql.Connect(host="localhost", user="root", password="123", database="pymysql", charset="utf8") return conn
这段函数连接上数据库,host中的localhost是默认值,可以不填写。database是连接对应DB,不填写的话直接连接到该SQL数据库根部,使用“use pymysql”产生同样的效果
def I_OConnect(sql): conn = getConnect() cursor = conn.cursor() cursor.execute(sql) conn.commit() closeConnect(cursor,conn) count = cursor.rowcount if count > 0:return True else:return False
这段函数可以对数据库进行简单的操作,具体操作根据输入的形参sql来实现:
*conn = getConnect()cursor = conn.cursor()*是获得第一个数据库连接信息,然后设置一个游标(指针)进行sql语句操作。*cursor.execute(sql)*是将“sql”(字符串形式)使用sql语句的方法执行出来,例如插入数据:*sql = INSERT INTO `tb_user` VALUES (9, '李九', 98, 18);如果sql语句是查询的话,则需要另外写上:conn.commit()对修改进行保存,没有保存的话对数据的修改就没有效果注意:在执行sql语句时(cursor.execute(sql)),修改会临时生效,此时的对该表的查询操作时,查到的数据是修改之后的数据,如果没有保存(conn.commit())的话,sql数据库会恢复到该函数操作之前的状况closeConnect(cursor,conn)关闭连接,该函数将在下面写上(cursor.fetchall())以读取返回的数据(默认返回值为元祖格式)count = cursor.rowcountcursor.rowcount可以读取修改之后(sql控制台)返回的已经修改数据的行数(返回值为int格式),可以根据此信息判断是否修改成功。
然后是关闭连接:
def closeConnect(cursor,conn): if cursor is not None: cursor.close() if conn is not None: conn.close()
这个函数判断数据库连接和游标(指针)是否存在,如果存在则关闭。如果没有关闭数据库连接的话可能会出现一些错误(例如连接用户过多)
转载地址:http://mfuhf.baihongyu.com/