工作中关于sql语句写作的总结,不断更新
1. 在Python.pandas中,使用(SQL语句)+(版本变量)查询数据库
(1)首先要定义sql语句,不带条件,注意语句末尾
SQL_FINGERPRINT_FAIL =("""
select
a,b,c,d
from
tablename
inner join anothertable
on tablename.a = anothertable.x
where
tablename.Version =
""")
(2) 在调用语句进行查询时候,用拼接方法拼接SQL语句,注意格式,结果会存在result中
engine = r'DRIVER={SQL Server Native Client 10.0};SERVER=IP;DATABASE=DBNAME;UID=ID;PWD=PW
result = pd.read_sql(SQL_FINGERPRINT_FAIL+"'"+version+"'", pyodbc.connect(engine))
2. 如果是范围查询,即where verison in XX,则可以用如下形式
SQL_FINGERPRINT_FAIL =("""
select
a,b,c,d
from
tablename
inner join anothertable
on tablename.a = anothertable.x
where
tablename.Version in
""")
调用时候,注意格式。这个是in两个条件
result_success = pd.read_sql(SQL_FINGERPRINT_FAIL+"
('"+version+"','"+version.replace("AL00","AL10")+"')"+"",
pyodbc.connect(CONFIG_IN_FINGERPRINT))
当然条件也可以用列表,形式如下,version_map是一个dataFrame,还没有尝试,待更新
("'" + version_map['oceanVersion'] + "'").str.cat(sep=',')