將資料插入oracle

2022-07-29 11:39:12 字數 2058 閱讀 1032

#匯入需要使用到的資料模組

import pandas as pd

import cx_oracle

#讀入資料

filepath = 'e:\_dataset\catering_sale.xls'

data = pd.read_excel(filepath)

#建立資料庫連線

db =cx_oracle.connect('localhost','root','1234',encoding = "utf-8",nencoding = "utf-8")

#獲取游標物件

cursor = db.cursor()

#建立資料庫,如果資料庫已經存在,注意主鍵不要重複,否則出錯

try:

cursor.execute('create table catering_sale(num int primary key,date datetime, sale float )')

except:

print('資料庫已存在!')

#插入資料語句

query = """insert into catering_sale (num, date, sale) values (%s,%s,%s)"""

#迭代讀取每行資料

#values中元素有個型別的強制轉換,否則會出錯的

#應該會有其他更合適的方式,可以進一步了解

for r in range(0, len(data)):

num = data.ix[r,0]

date = data.ix[r,1]

sale = data.ix[r,2]

values = (int(num), str(date), float(sale))

cursor.execute(query, values)

#關閉游標,提交,關閉資料庫連線

#如果沒有這些關閉操作,執行後在資料庫中檢視不到資料

cursor.close()

db.commit()

db.close()

#重新建立資料庫連線

db = cx_oracle.connect('localhost','root','1234','python_anylysis')

cursor = db.cursor()

#查詢資料庫並列印內容

cursor.execute('''select * from catering_sale''')

results = cursor.fetchall()

for row in results:

print(row)

#關閉cursor.close()

db.commit()

db.close()

查詢oracle中的資料

import cx_oracle

spmcs_conn = cx_oracle.connect(使用者名稱,密碼,id,encoding = "utf-8",nencoding = "utf-8")

cur = spmcs_conn.cursor()

recount = cur.execute("select * from zc_zx")

print(cur.fetchone()) #取到第一條資料

print(cur.fetchone()) #取到第二條資料

cur.scroll(-1,mode = 'relative') #游標回退1

print(cur.fetchone()) #取到第二條資料

print(cur.fetchone()) #取到第三條資料

cur.scroll(0,mode = 'absolute') #游標回退0

print(cur.fetchone()) #取到第一條資料

print(cur.fetchone()) #取到第二條資料

cur.close()

spmcs_conn.close()

上面只是介紹一下fetchone()的用法,實際操作中使用fetchall(),它能將查詢到的資料一部取出,如果沒有設定,取出資料的格式為列表巢狀列表。

oracle插入資料

插入資料的方法有多種,這裡簡單介紹三種 1.常規插入資料 select from emp 已scott.emp表為例 按照values插入資料 insert into emp empno,ename job,mgr,hiredate sal comm,deptno values 1122,steve...

Oracle 插入大量資料

2.假如tab1表中的沒有資料的話 drop table tab1 create table tab1 as select from tab2 然後在建立索引 3.用hint 提示減少操作時間 4.採用不寫日誌及使用hint提示減少資料操作的時間。建議方案是先修改表為不寫日誌 sql alter t...

批量插入資料 Oracle

在使用 oracle 開發期間,或許我們會為編寫一條一條插入語句而困惱,這裡給出 對資料表進行簡單批量插入的例子。以下均是oracle 資料庫操作 insert into cbay user t userid,username,password,userage select test1 test1 ...