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()    # 关闭连接
  • 相关阅读:
    deleted
    deleted
    deleted
    deleted
    deleted
    deleted
    POJ 1840 Eqs(乱搞)题解
    UVALive 6955 Finding Lines(随机化优化)题解
    CodeForces 828E DNA Evolution(树状数组)题解
    UVA 11019 Matrix Matcher(二维hash + 尺取)题解
  • 原文地址:https://www.cnblogs.com/huafan/p/15704229.html
Copyright © 2011-2022 走看看