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()    # 关闭连接
  • 相关阅读:
    JMX示例
    在开发iOS程序时对日期处理的总结(转)
    iOS 身份证验证(转)
    IOS --- OC与Swift混编(转)
    Charles辅助调试接口(转)
    iOS 调试 crash breakpoint EXC_BAD_ACCESS SIGABRT(转)
    Objective-C中常量重复定义的解决方案
    layoutSubviews、drawRect、initialize和load方法的调用
    (转)iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)
    Mac OS10.10 openfire无法启动问题(转)
  • 原文地址:https://www.cnblogs.com/huafan/p/15704229.html
Copyright © 2011-2022 走看看