zoukankan      html  css  js  c++  java
  • 027 mysql

    /*
    时间: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()    # 关闭连接
  • 相关阅读:
    STM32学习之路-SysTick的应用(时间延迟)
    STM32M CUBE实现printf打印调试信息以及实现单字节接收
    iframe动态创建及释放内存
    第13周项目2-成绩处理
    1036. Boys vs Girls (25)
    CS0433: 类型“BasePage”同一时候存在于“c:WindowsMicrosoft.NETxxxxxxxxxxxxxxxx
    Java读取Excel转换成JSON字符串进而转换成Java对象
    Java对象与JSON互相转换jsonlib以及手动创建JSON对象与数组——(二)
    GSON中Java对象与JSON互相转换——(一)
    Java泛型方法与泛型类的使用------------(五)
  • 原文地址:https://www.cnblogs.com/huafan/p/15704229.html
Copyright © 2011-2022 走看看