• 用Python订正数据


    一、背景

    我们有一部分程序用Python写,主要是一些临时任务脚本类,用Python这种动态语言处理会更高效,做为一个程序员,个人觉得需要掌握下面几种类型的语言。
    1、服务端大型工程化语言,比如Java。
    2、前端JavaScript 语言,越来越重要了。
    3、一门脚本语言,比如Python。
    4、客户端native语言,比如Android。
    5、运维的Linux Shell。

    二、pymysql

    pymysql 是一个纯 Python 实现的 MySQL 客户端操作库,用pip可直接安装。

    pip3 install PyMySQL

    1、创建连接

    connction = pymysql.connect(host='',user='',password='',db='')

    注:创建连接除了设置地址、用户名、密码、数据库,还可以设置连接、读取和写入超时时间,数据库编码(比如utf8mb4)等。

    2、游标

    在整理这个文章时,才想起JDBC也有游标,现在都用各种ORM框架,最基础的游标几乎已经不太记得了。在获取连接后,需要先得到游标才能执行数据查询和插入操作,游标相当于一个指针,提供了从多条数据记录结果集提取一条记录机制。

    pymysql提供的几种游标类型,有默认的Cursor元组类型,有DictCursor的字典类型。

    cursor = connection.cursor(cursor=pymysql.cursors.DictCursor)

    3、执行插入语句

    1. sql = "insert into users(email,password)
    2. values('%s','%s')" % (username,password)
    3. ret = cursor.execute(sql)

    4、查询获取数据

    1. select_sql = "select * from users where email ='%s'"
    2. % username
    3. cursor.execute(select_sql)
    4. users = cursor.fetchall()
    5. print(users)
    6. # 如果游标定义的是DictCursor,这里返回的数据格式就是字典类型
    7. # 不定义游标类型返回的是元组格式

    补充:Python几种数据类型的区别
    元组:用()定义,是有序列表,定义后不可修改,更安全。
    列表:用  [] 定义,有序集合。
    字典:用  {}  定义,键值对。
    cursor 获取数据几个方法:fetchone、fetchAll、fetchmany。

    5、事务

    1. conn.commit()
    2. conn.rollback()

    5、关闭

    1. cursor.close()
    2. conn.close()

    三、Python的应用场景

    一些临时比较紧急的任务,如果用Java写,还要等发布窗口,实在不方便 ,前两天在做鲜奶延期配送,因为一个客户可能买了月卡又买了年卡,这样我们在做延期的时候,必须将该用户关联的所有配送单一起往后延期,这直接用SQL语句搞不定,用Python写个递归函数可以轻松搞定,以前写的时候用的是MySQLdb,这个包理论上是只能在Python低版本用的,但我以前在Python3.7里也用MySQLdb,不知道当时怎么折腾安装上去了,真是个未解之迷。

  • 相关阅读:
    微服务-Ribbon负载均衡
    Linux的一些知识(7)
    Pytorch基于小波时频图与SwinTransformer的轴承故障诊断
    vue - 组件通信:关于v-model语法糖
    Diffusion Models在目标检测领域的应用
    2022-09-17青少年软件编程(C语言)等级考试试卷(七级)解析
    qt creator5.15.2用的是什么版本的图形api?
    如何使用JMeter测试导入接口/导出接口
    Python pytorch tensorflow可视化工具Visdom使用教程--堪比TensorboardX
    【RocketMQ中延时消息的生产与消费、批量消息的生产与消费、消息的过滤、消息的Tag过滤和SQL过滤、SQL过滤解决SQL92问题,代码样例实战】
  • 原文地址:https://blog.csdn.net/qingcai18036/article/details/125619819