027 mysql

2021/12/18 2:19:42

本文主要是介绍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()    # 关闭连接

 



这篇关于027 mysql的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程