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.rowcount
cursor.rowcount可以读取修改之后(sql控制台)返回的已经修改数据的行数(返回值为int格式),可以根据此信息判断是否修改成功。
然后是关闭连接:
def closeConnect(cursor,conn):
if cursor is not None: cursor.close()
if conn is not None: conn.close()
这个函数判断数据库连接和游标(指针)是否存在,如果存在则关闭。如果没有关闭数据库连接的话可能会出现一些错误(例如连接用户过多)