python連線oracle資料庫

2022-04-01 19:18:17 字數 3344 閱讀 6910

首先我們要安裝一下包:

cx_oracle-5.3.tar.gz

instantclient-basic-linux.x64-12.1.0.2.0.zip

instantclient-sdk-linux.x64-12.1.0.2.0.zip

驗證:python連線oracle的方式,這裡講述兩種:

(1)乙個字串完成

import cx_oracle

#建立和資料庫系統的連線

conn = cx_oracle.connect('c##scott/[email protected]:1521/orcl')

#獲取操作游標

cursor = conn.cursor()

#執行sql,建立乙個表

cursor.execute("""create table tb_user(id number, name varchar2(50),password varchar(50),primary key(id))""")

#關閉連線,釋放資源

cursor.close()

#執行完成,列印提示資訊

print ('completed!')

(2)分開三個字串

import cx_oracle

#建立和資料庫系統的連線

db=cx_oracle.connect('c##scott','tiger','192.168.1.200:1521/orcl')

#獲取操作游標

cursor = db.cursor()

#執行sql,建立乙個表

cursor.execute("""insert into tb_user values(1,'scott','tiger')""")

#關閉連線,釋放資源

cursor.close()

#執行完成,列印提示資訊

db.commit()

db.close()

print ('completed!')

對資料庫的操作:

#在oracle插入資料
import cx_oracle

conn = cx_oracle.connect('

c##scott/[email protected]:1521/orcl')

cursor =conn.cursor()

#插入一條記錄

cursor.execute(

"""insert into tb_user values(1,'admin','password')

""");

#再插入一條資料

param=

cursor.execute(

'insert into tb_user values(:id,:n,:p)

',param);

#一次插入多條資料,引數為字典列表形式

param=[,,];

cursor.executemany(

'insert into tb_user values(:id,:n,:p)

',param);

#再一次插入多條資料

param=;

#生成5條插入資料,引數為元組列表形式

for i in range(6,11): # [6,7,8,9,10]'

user

'+str(i),'

password

'+str(i)))

#插入資料

cursor.executemany(

'insert into tb_user values(:1,:2,:3)

',param);

cursor.close();

#提交更改

conn.commit();

conn.close();

#在oracle中查詢資料

import cx_oracle

conn = cx_oracle.connect('

c##scott/[email protected]:1521/orcl')

cursor =conn.cursor()

#執行查詢 語句

cursor.execute(

"""select * from tb_user

""")

#獲取一條記錄

one =cursor.fetchone()

print (

'1: id:%s,name:%s,password:%s

'%one)

#獲取兩條記錄!!!注意游標已經到了第二條

two = cursor.fetchmany(2

)print (

'2 and 3:

',two[0],two[1

])#獲取其餘記錄!!!注意游標已經到了第四條

three =cursor.fetchall();

for row in

three:

print (row) #列印所有結果

print (

'條件查詢')

cursor.prepare(

"""select * from tb_user where id <= :id

""")

cursor.execute(none,)

for row in

cursor: #相當於fetchall()

print (row)

cursor.close();

conn.close();

[python@master ora]$ python3 select_ora.py

1: id:1,name:admin,password:password

2 and 3: (2, 'admin', 'password') (3, 'admin', 'password')

(4, 'admin', 'password')

(5, 'admin', 'password')

(6, 'user6', 'password6')

(7, 'user7', 'password7')

(8, 'user8', 'password8')

(9, 'user9', 'password9')

(10, 'user10', 'password10')

條件查詢

(1, 'admin', 'password')

(2, 'admin', 'password')

(3, 'admin', 'password')

(4, 'admin', 'password')

(5, 'admin', 'password')

R for windows連線oracle資料庫

相關資料均出自r manual。只包含rodbc方法。其他oci等暫不考慮。1.安裝r軟體。2.安裝oracle。安裝目錄 d oraclexe 這個目錄下面有tnsnames.ora,listener.ora,sqlnet.ora等配置檔案,修改tnsnames.ora檔案新增需要登入的資料庫se...

Oracle檢視連線數

有時候連得上資料庫,有時候又連不上.可能是資料庫上當前的連線數目已經超過了它能夠處理的最大值.select count from v process 當前的連線數 select value from v parameter where name processes 資料庫允許的最大連線數 修改最大連...

oracle的連線數

1 查詢oracle的連線數 select count from v session 2 查詢oracle的併發連線數 select count from v session where status active 3 檢視不同使用者的連線數 select username,count userna...