首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql技巧:如果记录存在更新如果不存在插入的三种处理方法

要求: 新增一个员工时,如果该员工已存在(以员工号f_emp_code作为判断依据),更新,否则插入。而且工资f_salary,更新时,不得低于原工资(即:工资只能涨,不能降)。...10007' , '新人' , '西安' , IF(1000 > f_salary , 1000 , f_salary)); replace into相当于,先检测该记录是否存在(根据表上的唯一键),如果存在...这个方法有一个很大的问题,如果记录存在,每次执行完,主键自增id就变了(相当于重新insert了一条),对于有复杂关联的业务场景,如果主表的id变了,其它子表没做好同步,会死得很难看。...但是有另外一个问题,如果这个表上有不止一个唯一约束,在特定版本的mysql中容易产生dead lock(死锁),见网友文章https://blog.csdn.net/pml18710973036/article

7.7K20

python pandas read_excel 参数详解 to_excel 读写Excel

如果要处理 Excel 的格式,还是需要 openpyxl 模块,旧的 xlrd 和 xlwt 模块可能支持不够丰富。...:表名,单表、多表、全部表 sheetname = None # 读取全部表,得到 OrderDict:key为表名,value为 DataFrame sheetname = 1 / “Sheet1...(不读取的行数) shiprows = 4 # 跳过前 4 行,会把首行列名也跳过 skiprows = [1, 2, 4] # 跳过 1,2,4 行 skiprows = range(1, 10...) # 跳过 [1,10) 行,不包括第10行,可以留下首行列名 skipfooter:指定省略尾部的行数,必须为整数 skipfooter = 4 # 跳过尾部 4 行 index_col...merge_cells=True,encoding=None,inf_rep="inf",verbose=True,freeze_panes=None) 常用参数: excel_writer:文件路径,不存在会自动生成

7.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

【easyExcel的导入、导出,支持百万并发 】

) * @param inputStream * @param sheetNo sheet页号,从0开始 * @param headRowNum 表头占的行数,从0开始(如果要连表头一起读出来传...和表头占的行数) * @param file * @param sheetNo sheet页号,从0开始 * @param headRowNum 表头占的行数,从0开始(如果要连表头一起读出来传....sheet().doRead(); } /** * 异步无模型读(默认表头占一行,从第2行开始读) * @param filePath 表头占的行数,从0开始(如果要连表头一起读出来传...模型的类类型(excel数据会按该类型转换成对象) * @param sheetNo sheet页号,从0开始 * @param headRowNum 表头占的行数,从0开始(如果要连表头一起读出来传...抛出异常停止读取。如果这里不抛出异常 继续读取下一行。

4K20

robotframework 学习(3) :Excel文件的操作

一、前言 上一篇博客写了一些使用RIDE来进行接口测试的一个简单demo,在里面我们可以发现传输的数据都是写死在里面,如果需要从外面传输就需要进行参数化。...注意前面是英文的冒号,后面跟的是一个参数代表循环出来的数据;IN RANGE 代表是从后面的范围内进行循环;因为${count_row}也是从下标为0开始遍历,所以我在其前面单独写了一个1,这样就可以跳过第...] String 获取列的总列数,下标是从0开始 Get Column Values [ sheetname | column | includeEmptyCells=True...] String 获取行的总行数 Get Row Values [ sheetname | row | includeEmptyCells=True ] String |...| column | row ] String | int | int 读取单元格数据,通过下标(0,0) Read Cell Data By Name [ sheetname

1.7K20

导入Excel文件的时候公式为【#Ref!】应该怎么解决?

B1’,如果 Sheet2 由于各种历史原因丢失,那么此时 sheet1 中 A1 计算结果为【#Ref!】,如果此时想查找到 Sheet2 怎么办呢?...GcExcel 提供了公式解析器,调用 parse 拿到公式树,之后可以通过 getWorksheetName 获取 sheetName,相关代码如下: //将公式中等号去掉,并进行解析 FormulaSyntaxTree...ReferenceNode) node).getReference().getWorksheetName(); if (workbook.getWorksheets().get(sheetName...{ addNotFoundSheet(child, workbook); } } 在上述代码中首先判断node是否是 ReferenceNode 类型,如果是的话...,通过 node.getReference().getWorksheetName() 获取 sheetName,并判断当前工作簿是否存在此sheet,如果不存在进行添加。

12510

更简单的Excel导入方式,easypoi了解一下

使用 SSM 项目,引入依赖 如果spring的版本是4.x的话引入的easypoi的版本是`3.0.1`,如果spring是5.x的话引入easypoi的版本是`4.0.0` ...比如一个老师对应多个科目,科目就可以用集合表示,属性如下: 在这里插入图片描述 @ExcelEntity表示一个继续深入导出的实体 在这里插入图片描述 @ExcelIgnore 和名字一样表示这个字段被忽略跳过这个导出...介绍 基于注解的导入导出,配置配置上是一样的,只是方式反过来而已,比如类型的替换 导出的时候是1替换成男,2替换成女,导入的时候反过来,男变成1 ,女变成2,时间也是类似导出的时候date被格式化成...默认0 */ private int startRows = 0; /** * 主键设置,如何这个cell没有值,就跳过...ArrayList */ private String keyMark = ":"; /** * 按照Key-Value 规则读取全局扫描Excel,但是跳过

1.4K30

自动化测试 数据驱动(自动化测试解决数据错误)

self.driver.page_source) except NoSuchElementException,e: logging.error(u"查找的页面元素不存在...首先是在头部导入ddt模块,其次在测试类前声明使用ddt,然后在测试方法前使用@ddt.data()添加该测试方法需要的测试数据,该函数接收一个可迭代的类型,以此来判断需要执行的次数,多组测试数据间以逗号隔开,如果每组数据存在多个...self.driver.page_source) except NoSuchElementException,e: logging.error(u"查找的页面元素不存在...self.driver.page_source) except NoSuchElementException,e: logging.error(u"查找的页面元素不存在...如果@ddt.data()中传的是一个方法,方法前需要加型号(*)修饰; 4、使用xml进行数据驱动测试: 在pycharm中创建一个项目,创建TestData.xml文件用于存放测试数据,具体内容如下

64210

Python 3 学习笔记:Excel

复制工作表 如果想创建某个工作表的副本,可以使用下面的方法, workBookobject.copy_worksheet(sheetName) 复制 sheetName 表示该工作薄中一个已经存在的工作表的名字...删除工作表 如果某个工作表不再需要,则可以通过 remove() 方法将其删除, workBookobject.remove(workBookobject["sheetName"]) 赋值与取值 赋值...在 Excel 文件中,列使用字母表示,行使用数字表示,如果将其视为一个坐标系,列的值就是 X 轴坐标值,行的值就是 Y 轴坐标值,单元格是列与行的交叉点,所以单元格表示成 A1、F5 等。...上面是取一个单元格的值,如果想要取一行中若干个单元格的值,只要在起始的单元格和结束的单元格之间使用冒号(:)分隔即可, workBookobject["sheetName"]["startCellName...:A9)" 单元格 A10 的值就是 A1 到 A9 的和,前提是其中的数据是可以计算的。

1K20

文件操作

打开文件 变量名 = open (文件名, 打开模式) 打开模式 说明 r 只读模式 (默认),文件不存在返回FileNotFoundError异常 w 覆盖写模式,文件不存在创建,存在覆盖写 x...创建写模式,文件不存在创建,存在返回FileExistsError异常 a 追加写模式,文件不存在创建,存在追加写 t 文本文件模式 (默认) b 二进制文件模式 + 在原功能基础上增加读写功能...,若有参数,读入改行前size长度的字符串或字节流 .readlines(hint=-1) 从文件中读入所有行,以每行为元素形成列表,若有参数,读入hint行 3....表格中的表格名称 13 EndName: csv文件的保存路径 14 ''' 15 grade = pd.read_excel(StartName, sheet_name=SheetName...表格中的表格名称 34 EndName: csv文件的保存路径 35 ''' 36 grade = pd.read_excel(StartName, sheet_name=SheetName

1.7K20
领券