#!/usr/bin/python
# -*- coding: utf-8 -*-
import cx_Oracle
os.environ['NLS_LANG'] ='SIMPLIFIED CHINESE_CHINA.UTF8'
db = cx_Oracle.connect('abc/abc@***.***.**.***:1521/orcl')
cursor=db.cursor()
####当想从数据库中查询多个where条件时,可以将条件以字符串形式放到list中
list=['a','b','c']
s=str()
###下面的for循环是为了将list中的元素,转换成 select * from table_name where col_name in ('a','b','c')
sql_select="select*from table_name WHERE col_name in ("
for i in list:
s=s+'\''+str(i)+'\''+',' #这里需要用''将list的每个元素标起来,如'a' ,因为虽然在python中已经转换为字符串,但是oracle并不识别
s=s.rstrip(',')
#上面循环的目的是把list=['a','b','c']转换成"'a','b','c'"并赋值给s,只有这种形式传递到oracle才能识别--------
sql_select_new=sql_select+s+")"
cursor.execute(sql_select_new)
df=cursor.fetchall()
网友评论