python对Oracle数据库的操作

首先需要安装cx_Oracle这个库,使用pip命令即可:

pip install cx_Oracle
  1. 与Oracle数据库的连接:
import cx_Oracle
conn = cx_Oracle.connect('用户名/密码@IP:端口/数据库名称') #端口一般就是1521

其中IP和数据库名称与其tnsnames.ora文件如下对应:

服务名 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = IP(如:10.2.168.1))(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = 数据库名称)
    )
  )
  1. 查询语句
import cx_Oracle
conn = cx_Oracle.connect('user/[email protected]:1521/TESTGRPDB')
cur = conn.cursor()
sql_search = 'select * from hsquotedata where stockcode=\'%s\'' % (quotedata['code'])
res = cur.execute(sql_search)
display = res.fetchall()
cur.close()
conn.close()
  1. 插入语句
import cx_Oracle

conn = cx_Oracle.connect('user/[email protected]:1521/TESTGRPDB')
cur = conn.cursor()
oracle_sql = "insert into hsquotedata values(:1,:2,:3)"
cur.execute(oracle_sql, (quotedata['market'],quotedata['code'],quotedata['name'])) #quotedata是传入的一个字典
cur.close()
conn.commit()
conn.close()

还有另外一种写法:

sql_insert = 'insert into hs_his.his_deliver (init_date, serial_no, curr_time) values(\'%s\', \'%s\', \'%s\')' % (rows[0][0], rows[0][1], rows[0][2])
cur.execute(sql_insert)

猜你喜欢

转载自blog.csdn.net/DaxiaLeeSuper/article/details/81069435