/* 时间:2021/12/18 功能:MySql 目录: 一: 测试code 二: 异常处理 三: 安全参数 */
一: 测试code
import pymysql if __name__ == '__main__': conn = pymysql.connect(host="192.168.52.128", # ip port=3306, # 端口 user="root", # 登录用户 password="mysql", # 登录密码 database="py", # 数据库名 charset="utf8") # 通讯编码 # 获取游标 cursor = conn.cursor() # 查询数据 sql = "select * from st;" # 查询语句 row_count = cursor.execute(sql) # 执行语句 print("SQL:执行影响行数%d" % row_count) # 影响行数 # 获出数据 : 一行 # print(cursor.fetchone()) # 获出数据 : 全部 result = cursor.fetchall() for row in result: print(row) # 收尾操作 cursor.close() # 关闭游标 conn.close() # 关闭连接
二: 异常处理
import pymysql if __name__ == '__main__': conn = pymysql.connect(host="192.168.52.128", # ip port=3306, # 端口 user="root", # 登录用户 password="mysql", # 登录密码 database="py", # 数据库名 charset="utf8") # 通讯编码 # 获取游标 cursor = conn.cursor() try: sql = "delete from st where name = '小周'" sql_2 = "update st set name = '铁蛋' where name = '王五'" row_count = cursor.execute(sql) row_count = cursor.execute(sql_2) # print("SQL:执行影响行数%d" % row_count) # 影响行数 conn.commit() except Exception as e: conn.rollback() # 回滚数据 # 收尾操作 cursor.close() # 关闭游标 conn.close() # 关闭连接
三: 安全参数
import pymysql if __name__ == '__main__': conn = pymysql.connect(host="192.168.52.128", # ip port=3306, # 端口 user="root", # 登录用户 password="mysql", # 登录密码 database="py", # 数据库名 charset="utf8") # 通讯编码 # 获取游标 cursor = conn.cursor() try: # # SQL注入 : 输入 ' or 1 = 1 or ' # find_name = input("请输入物品名称:") # sql = "select * from st where name = '%s'" % find_name # row_count = cursor.execute(sql) # 安全方式 find_name = input("请输入物品名称:") params = [find_name] count = cursor.execute("select * from st where name = %s", params) conn.commit() # 获出数据 : 全部 result = cursor.fetchall() for row in result: print(row) except Exception as e: conn.rollback() # 回滚数据 # 收尾操作 cursor.close() # 关闭游标 conn.close() # 关闭连接