python數(shù)據(jù)庫操作--數(shù)據(jù)庫使用概述
1. 數(shù)據(jù)庫基礎(chǔ)知識
數(shù)據(jù)庫(DB),可以長期存儲在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。大多數(shù)數(shù)據(jù)以特殊格式的數(shù)據(jù)庫文件形式存在于計(jì)算機(jī)的硬盤上,極少部分是以長期駐留內(nèi)存的形式進(jìn)行組織和共享的數(shù)據(jù)集合。
數(shù)據(jù)庫管理系統(tǒng)(DBMS是對數(shù)據(jù)庫進(jìn)行統(tǒng)一管理的和共享數(shù)據(jù)操作的軟件,其主要功能包括建立、使用、維護(hù)數(shù)據(jù)庫。
主流數(shù)據(jù)庫系統(tǒng)分類方法有以下幾種
1.根據(jù)存儲數(shù)據(jù)結(jié)構(gòu)和是否采用分布式技術(shù)特征可以把數(shù)據(jù)庫分為關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫
(1)**關(guān)系型數(shù)據(jù)庫:**建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學(xué)概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。主要的技術(shù)特征:以行、列結(jié)構(gòu)化關(guān)系表存儲數(shù)據(jù),SQL查詢語言提供數(shù)據(jù)讀寫操作、事務(wù)處理數(shù)據(jù)多表操作,支持并發(fā)訪問。
(2)**非關(guān)系型數(shù)據(jù)庫:**又被稱為NoSQL,主要是指在數(shù)據(jù)結(jié)構(gòu)上采用非經(jīng)典的行、列結(jié)構(gòu)組織方式;大多數(shù)提供分布式處理技術(shù),用來解決大數(shù)據(jù)處理問題;在對數(shù)據(jù)庫進(jìn)行操作時(shí),沒有統(tǒng)一的SQL語言類似的操作標(biāo)準(zhǔn)。
另外,最新又提出了一種介于DBMS和NoSQL之間的NewSQL類的數(shù)據(jù)庫,其特點(diǎn)是具有關(guān)系型表結(jié)構(gòu)特征、SQL語言及事物處理技術(shù)特征,同時(shí)具有分布式處理技術(shù)特征。
2.根據(jù)是否只常駐于內(nèi)存或硬盤可分為基于內(nèi)存數(shù)據(jù)庫和基于硬盤數(shù)據(jù)庫
這種分法只能說明某一款數(shù)據(jù)庫主要在內(nèi)存中駐留,還是主要在硬盤上駐留。內(nèi)存數(shù)據(jù)庫的優(yōu)點(diǎn)是執(zhí)行數(shù)據(jù)速度非???,缺點(diǎn)是數(shù)據(jù)容易丟失;硬盤數(shù)據(jù)庫數(shù)據(jù)不容易丟失,但是大規(guī)模讀寫速度相對比較慢。SQLite、Redis數(shù)據(jù)庫是典型的基于內(nèi)存的數(shù)據(jù)庫;MySQL、Oracle、MongoDB是典型的基于硬盤的數(shù)據(jù)庫。
2. 訪問數(shù)據(jù)庫基本原理
數(shù)據(jù)庫訪問過程
1.應(yīng)用系統(tǒng)
第一個環(huán)節(jié),需要有python編寫的應(yīng)用系統(tǒng)。
2.數(shù)據(jù)庫驅(qū)動程序
第二個環(huán)節(jié),通過數(shù)據(jù)庫驅(qū)動程序?qū)崿F(xiàn)應(yīng)用系統(tǒng)與數(shù)據(jù)庫之間的數(shù)據(jù)交換。每一款數(shù)據(jù)庫系統(tǒng)面對不同的編程語言,因此,需要提供統(tǒng)一的、標(biāo)準(zhǔn)化的、可以訪問數(shù)據(jù)庫的數(shù)據(jù)庫驅(qū)動程序。數(shù)據(jù)庫驅(qū)動程序就好比一座橋,為應(yīng)用系統(tǒng)和數(shù)據(jù)庫之間建立了一座數(shù)據(jù)交流的橋梁。
數(shù)據(jù)庫驅(qū)動程序主要分為驅(qū)動API接口和驅(qū)動程序兩部分,由各數(shù)據(jù)庫廠商提供。驅(qū)動程序主要是一個個訪問數(shù)據(jù)庫功能函數(shù)代碼的DLL文件,API接口就是驅(qū)動程序里的一個個函數(shù)名,可供python語言直接調(diào)用。目前,流行的數(shù)據(jù)庫接口技術(shù)包括ODBC、ADO等。
3.數(shù)據(jù)庫系統(tǒng)
第三個環(huán)節(jié),通過數(shù)據(jù)庫系統(tǒng)對應(yīng)的數(shù)據(jù)庫驅(qū)動程序,為應(yīng)用系統(tǒng)提供數(shù)據(jù)讀取、寫入、修改、刪除等操作功能。故,在程序開發(fā)時(shí),先安裝相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)。
故,需要開發(fā)一款數(shù)據(jù)庫的python應(yīng)用系統(tǒng),必須要有這三個環(huán)節(jié):先確定并安裝需要的數(shù)據(jù)庫,然后安裝對應(yīng)的驅(qū)動程序,最后才能進(jìn)行程序開發(fā)。
3. ODBC與ADO
ODBC和ADO是兩種常見的連接數(shù)據(jù)庫的驅(qū)動接口技術(shù)標(biāo)準(zhǔn)。
1.** ODBC**
ODBC(開放數(shù)據(jù)庫連接)是用于訪問數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)應(yīng)用程序編程接口(API),支持Windows、Unix、Mac OSX、FreeBSD、Solaris、AIX及其他操作系統(tǒng)平臺下的數(shù)據(jù)庫訪問。
2.ADO
ADO是Microsoft的Windows系統(tǒng)上的數(shù)據(jù)庫高級接口。它通常堆疊在ODBC驅(qū)動程序之上,進(jìn)一步簡化訪問技術(shù)處理過程。
4. 關(guān)系型數(shù)據(jù)庫
關(guān)系型數(shù)據(jù)庫支持清單
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python實(shí)現(xiàn)協(xié)程的具體示例
協(xié)程是一種輕量級的并發(fā)編程技術(shù),它允許程序在某個點(diǎn)上暫停執(zhí)行,本文主要介紹了python實(shí)現(xiàn)協(xié)程的具體示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03python 解決動態(tài)的定義變量名,并給其賦值的方法(大數(shù)據(jù)處理)
今天小編就為大家分享一篇python 解決動態(tài)的定義變量名,并給其賦值的方法(大數(shù)據(jù)處理),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11Python Flask token身份認(rèn)證的示例代碼(附完整代碼)
在Web應(yīng)用中,經(jīng)常需要進(jìn)行身份認(rèn)證,以確保只有授權(quán)用戶才能訪問某些資源,本文主要介紹了Python Flask token身份認(rèn)證的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11Python 基于 pygame 實(shí)現(xiàn)輪播圖動畫效果
在Python中可以適應(yīng)第三方庫pygame來實(shí)現(xiàn)輪播圖動畫的效果,使用pygame前需確保其已經(jīng)安裝,本文通過實(shí)例代碼介紹Python 基于 pygame 實(shí)現(xiàn)輪播圖動畫效果,感興趣的朋友跟隨小編一起看看吧2024-03-03python 根據(jù)正則表達(dá)式提取指定的內(nèi)容實(shí)例詳解
這篇文章主要介紹了python 根據(jù)正則表達(dá)式提取指定的內(nèi)容實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12Python處理yaml和嵌套數(shù)據(jù)結(jié)構(gòu)技巧示例
這篇文章主要為大家介紹了Python處理yaml和嵌套數(shù)據(jù)結(jié)構(gòu)技巧示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06