zoukankan      html  css  js  c++  java
  • httprunner系列10——PC上安装mysql数据库

    前言:可参考:https://blog.csdn.net/woiangaoiowe/article/details/105364043

    一、安装pymysql   

    安装命令:pip install pymysql

    安装成功检查: pip list 查看到pymysql模块也表示安装成功

    二、连接数据库

    首先,导入pymysql;其次需要使用到pymysql模块中的connect()

    import pymysql
    #创建数据库连接对象
    connect =pymysql.connect(
            host='127.0.0.1',
            port=3306,
            user='root',
            password='123456',
            database='easybuy',
            charset='utf8'
        )

    注意:连接数据库时,传参一定要通过关键字传参!!!

    三、查询数据

    注意点:代码访问数据库,是采用游标形式(即一个表或一个查询结果,逐行取数据);

    cur =connect.cursor()   #创建游标对象
    cur.execute("select  * from esaybuy_user;")
    value =cur.fetchone()    # 取某一行值
    print(value)

    数据表的操作:增删改查,就不再一一演示了,只要将正常的MySQL增删改查命令作为参数传给execute()函数就可以了。

    需要注意的是,执行的命令如果是增删改的话,要调用commit()函数来让新数据生效,通过conn对象来调用。

    cur.execute("update %s set userName=%s where loginName=%s;%('esaybuy_user','浙江','szz')")    #更新语句
    connect.commit()   #提交执行语句
    connect.close()   #关闭数据库

    四、读取操作

    fetchone()——查询一行,fetchmany(显示行数) ——查询x行,fetchall() ——查询所有行

    五、设置游标类型

    默认返回的是元祖类型。若想返回字典数据,可进行如下操作:

        connect =pymysql.connect(
            host='127.0.0.1',
            port=3306,
            user='root',
            password='123456',
            database='easybuy',
            charset='utf8',
            cursorclass =pymysql.cursors.DictCursor     #将元祖类型转成字典类型,方式一
        )
    
        cur =connect.cursor(pymysql.cursors.DictCursor) #将元祖类型转成字典类型,方式二
        cur.execute("select  * from esaybuy_user;")
        value1 =cur.fetchone()   # 取某一行值
        value2 = cur.fetchmany(4)    #取4行值
        value3 = cur.fetchall()    #取所有行
        print(value1)
        print(value2)
        print(value3)

    上面我们说了查询结果集默认是元组,可以自定义设置返回类型。支持5中游标类型:

    Cursor——默认,元组类型

    DictCursor——字典类型

    DictCursorMixin——支持自定义的游标类型,需先自定义才可以使用

    SSCursor——无缓冲元组类型

    SSDictCursor——无缓冲字典类型

    六、防止SQL注入

    参数化语句:在执行sql语句时,不要直接将数据写入sql语句,而是通过格式化操作符将需要写入的数据进行参数化拼接,以避免SQL注入

    cur.execute("update %s set userName=%s where loginName=%s;%('esaybuy_user','浙江','szz')")
  • 相关阅读:
    献给需要购买 阿里云产品的朋友
    当硬件没问题的时候,提升电脑运行速度
    IIS网页GZIP压缩
    前端优化-如何计算白屏和首屏时间
    Javascript 思维导图
    总结get和post区别---面试用
    点击切换样式、以及点击自身移除样式效果
    各行换色
    计算器
    无缝轮播图
  • 原文地址:https://www.cnblogs.com/miaoxiaochao/p/13184222.html
Copyright © 2011-2022 走看看