实习--Day5
2020/7/28
依旧是和sql有着不解之缘的一天
总结一下在python中用sql语句的一些汇总
insert
insert into tablename(column1,column2...) values(value1,value2...)
insert into tablename(column1,column2...) values(%s,%s...)---->然后你要传数据到这个里面去,数据的形式就是(value1,value2...),如果是insertmany也就是底层还是调用这个insert,只是你需要给出的数据是value集,也就是[(),()...]这种形式,每个元组代表一行
insert into tablename(column1,column2,column3...) values(%s,%s,0)--->也可以用常数这里
update
update tablename set column1=%s where condition --->同样的updatemany也是要构造数据集
update tablename set column1={} where condition.format(value)--->通过变量赋值进行update
select
select * from tablename inner join tablename on condition where condition--->这里的condition也可以用format的形式用变量来赋值
导师改了要求:
我原来写的那个流程不用太大改变,但是需要加功能。
现在流程:status:0未处理,timestamp正在处理,2处理结束
在另一个进程中需要取原始数据表t1中取status=0的数据行,将这些数据行的两个字段取出来,将这两个字段insert到另一个表t2的两个字段里面,自增主键不用自己写,并且将另一个表中的status初始化为0
然后我的进程里面要处理的t2的数据,所以先将status中为0的变成timestamp,然后select连表查询根据timestamp为条件查询出来,然后我进程中启动两个线程将连表查询出来的结果进行数据分析,然后将分析后的结果update写入t2的其余字段,同时将status变成2
这只是一次流程,我们在外层还需要循环,进行不断处理,所以有一个定时器的装饰器,还有个循环,就是说有数据就再循环里面不断处理,知道没有数据了,跳出循环,然后定时器等待个一定时间,再次进入循环处理
Linux下面:
1> : 代表标准正确输出,即如果命令的执行结果是正确,则执行输出,而且1>可以简写成>
2> : 代表标准错误输出,即如果命令的执行结果是错误,则执行输出
&>: 代表标准正确输出+标准错误输出
查看进程中带python关键字的:ps axf | grep python
某个进程 &:后台运行这个进程
tail [-f]:代表从文档的尾部开始看,并且实时更新
nohub:
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ & ]
nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部。
pandas:DataFrame.iterrows()---->得到一个可以用字段名来访问的迭代器,有index
本文地址:https://blog.csdn.net/HWQlet/article/details/107629420