1.收到一个数据表的excel,需要通过excel中的数据到mysql中查询数据相关的数据。
2.处理数据,这里仅需要使用测试ID即可,只拿这一列数据
在idea中建一个test.txt,把需要用到的列数据copy进去,去掉表头,win+r调出替换功能
这部分数据,要做in查询,所以需要处理数据为(12,34,56,78)这种样式,使用正则进行匹配,先加,
replace all即可
然后是把所有数据放到一行,使用\s*\n进行匹配
然后把末尾的逗号去掉就可以用了
SELECT * FROM main_test t,main_user u
WHERE t.id IN (12,34,56,78) and t.user_id = u.id;
3.多数行匹配
copy需要使用的列数据到txt中,写入正则匹配,然后替换,替换的取值通过$匹配
正则:(^\d*) (.*)
SQL:SELECT * FROM main_test t,main_user u WHERE t.id = $1 and u.`name` = '$2';
这里可以灵活运用正则表达式,玩出各种花样
哎,被现实打击了,再补充一部分:
三排数据的操作
(^\d*)(\s)(\d*)(\s)(.*)
这是正则表达式,$1,$3,$5是需要用的数据。其他是空格