網站首頁 編程語言 正文
這里我們采用的是使用Oracle數據庫進行相關操作
在連接數據庫之間,應下載相應的工具包cx_Oracle,在你安裝的Python文件夾中找到script,在路徑欄點擊輸入cmd回車進入命令行輸入
pip install cx_Oracle
進行安裝,工具包較小,下載較快,大概300kb。
安裝好之后,打開Python,新建一個工作區。
1.引入該工具包,使用import關鍵詞,輸入
import cx_Oracle
引入該工具包,運行看是否加載成功(結果區為>>空行),無其他內容),則表示加載成功;
2.建立與數據庫的連接,創建一個數據庫對象
對象名 = cx_Oracle.connect('用戶名','密碼','監聽地址/數據庫名')
注意:用戶名密碼及數據庫名,是你在登錄Oracle數據庫圖形界面工具PLSQL Developer時填寫的內容,監聽端口地址為電腦的監聽端口地址(最后有查找方法)
3.創建一個游標來執行sql語句,
游標對象名 = 對象名.cursor()
4.通過建立SQL語句來進行操作數據庫,SQL語句的語法規則同Oracle上的規則完全相同。
5.通過游標對象名調用execute()方法執行單條SQL語句。如:
游標對象名.execute(sql)
6.通過游標對象名調用executemany(sql,param)方法執行多條SQL語句。插入多條數據值時常用,每行的數據值應封裝在一個元組內,再使用列表進行封裝。如:
param = [(1,'張山',29)]
游標對象名.executemany(sql,param)
7.通過變量名調用fetchone()方法獲取一條被執行的SQL查詢語句的值。如:
變量名 = 游標對象名.execute(sql)
變量名.fetchone()
8.通過變量名調用fetchmany(int)方法獲取一條被執行的SQL查詢語句的多條值,int為指定查詢數據的條數。如:
變量名 = 游標對象名.execute(sql)
變量名.fetchmany(int值)
9.通過變量名調用fetchall()方法獲取一條被執行的SQL查詢語句的全部值。如:
變量名 = 游標對象名.execute(sql)
變量名.fetchall()
10.當SQL語句為查詢語句或者插入數據語句時,通過數據庫對象引用commit()方法提交更新數據。如:
數據庫對象名.commit()
11.當所有操作執行完之后,關閉游標的使用,即關閉后臺指向,通過調用其close()方法。如:
游標對象名.close()
12.當所有操作執行完之后,關閉數據庫的連接,通過數據庫對象名調用其close()方法進行關閉。如:
數據庫對象名.close()
小結,這些是連接使用數據庫的最基本內容,當某條語句進行的多的時候,可以使用類進行封裝,當使用時直接引入類,調用類中的函數塊操作即可。
范例如下(創建數據庫對象時填寫自己對應的內容):
import cx_Oracle
conn = cx_Oracle.connect('system','123456','監聽/orcl')
cursor = conn.cursor()
sql = """
CREATE TABLE student (
sid number primary key,
sname varchar2(30),
sage number
)"""
sql1 = """insert into student values(:sid,:sname,:sage)"""
sql2 = """insert into student values('100004','趙六','24')"""
sql3 = """select * from student"""
param = [(100001,'張三',19)]
param1 = [(100002,'李四',20),(100003,'王五',21)]
cursor.execute(sql)
print("執行成功")
cursor.execute(sql2)
cursor.executemany(sql1,param)
print("執行成功")
cursor.executemany(sql1,param1)
print("執行成功")
conn.commit()
s = cursor.execute(sql3)
print(s.fetchmany(3))
print("執行成功")
cursor.close()
conn.close()
電腦監聽端口地址查找方法:win+r輸入cmd回車,進入命令行輸入netstat -a;,即可查看。
總結
原文鏈接:https://blog.csdn.net/qq_53174498/article/details/124236033
相關推薦
- 2022-05-04 Entity?Framework使用DbModelBuilder?API創建表結構_實用技巧
- 2022-06-25 Qt一個進程運行另一個進程的實現方法_C 語言
- 2023-01-15 RUST異步流處理方法詳細講解_Rust語言
- 2022-12-04 C++?Boost?Graph算法超詳細精講_C 語言
- 2022-07-06 C語言實現字符串字符反向排列的方法詳解_C 語言
- 2022-05-06 CSRF攻擊是什么?如何防范CSRF攻擊?_安全相關
- 2022-02-16 ios下使用動畫 transform: translate(xx%) 無效問題
- 2022-05-26 Tomcat服務部署及優化的實現_Tomcat
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支