python數(shù)據(jù)庫(kù)操作--數(shù)據(jù)庫(kù)使用概述
數(shù)據(jù)庫(kù)(DB),可以長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。大多數(shù)數(shù)據(jù)以特殊格式的數(shù)據(jù)庫(kù)文件形式存在于計(jì)算機(jī)的硬盤(pán)上,極少部分是以長(zhǎng)期駐留內(nèi)存的形式進(jìn)行組織和共享的數(shù)據(jù)集合。
數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS是對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一管理的和共享數(shù)據(jù)操作的軟件,其主要功能包括建立、使用、維護(hù)數(shù)據(jù)庫(kù)。
主流數(shù)據(jù)庫(kù)系統(tǒng)分類(lèi)方法有以下幾種
1.根據(jù)存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)和是否采用分布式技術(shù)特征可以把數(shù)據(jù)庫(kù)分為關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)
(1)**關(guān)系型數(shù)據(jù)庫(kù):**建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫(kù),借助于集合代數(shù)等數(shù)學(xué)概念和方法來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。主要的技術(shù)特征:以行、列結(jié)構(gòu)化關(guān)系表存儲(chǔ)數(shù)據(jù),SQL查詢(xún)語(yǔ)言提供數(shù)據(jù)讀寫(xiě)操作、事務(wù)處理數(shù)據(jù)多表操作,支持并發(fā)訪(fǎng)問(wèn)。
(2)**非關(guān)系型數(shù)據(jù)庫(kù):**又被稱(chēng)為NoSQL,主要是指在數(shù)據(jù)結(jié)構(gòu)上采用非經(jīng)典的行、列結(jié)構(gòu)組織方式;大多數(shù)提供分布式處理技術(shù),用來(lái)解決大數(shù)據(jù)處理問(wèn)題;在對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),沒(méi)有統(tǒng)一的SQL語(yǔ)言類(lèi)似的操作標(biāo)準(zhǔn)。
另外,最新又提出了一種介于DBMS和NoSQL之間的NewSQL類(lèi)的數(shù)據(jù)庫(kù),其特點(diǎn)是具有關(guān)系型表結(jié)構(gòu)特征、SQL語(yǔ)言及事物處理技術(shù)特征,同時(shí)具有分布式處理技術(shù)特征。
2.根據(jù)是否只常駐于內(nèi)存或硬盤(pán)可分為基于內(nèi)存數(shù)據(jù)庫(kù)和基于硬盤(pán)數(shù)據(jù)庫(kù)
這種分法只能說(shuō)明某一款數(shù)據(jù)庫(kù)主要在內(nèi)存中駐留,還是主要在硬盤(pán)上駐留。內(nèi)存數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)是執(zhí)行數(shù)據(jù)速度非常快,缺點(diǎn)是數(shù)據(jù)容易丟失;硬盤(pán)數(shù)據(jù)庫(kù)數(shù)據(jù)不容易丟失,但是大規(guī)模讀寫(xiě)速度相對(duì)比較慢。SQLite、Redis數(shù)據(jù)庫(kù)是典型的基于內(nèi)存的數(shù)據(jù)庫(kù);MySQL、Oracle、MongoDB是典型的基于硬盤(pán)的數(shù)據(jù)庫(kù)。
2. 訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)基本原理數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)過(guò)程
第一個(gè)環(huán)節(jié),需要有python編寫(xiě)的應(yīng)用系統(tǒng)。
2.數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序第二個(gè)環(huán)節(jié),通過(guò)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序?qū)崿F(xiàn)應(yīng)用系統(tǒng)與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交換。每一款數(shù)據(jù)庫(kù)系統(tǒng)面對(duì)不同的編程語(yǔ)言,因此,需要提供統(tǒng)一的、標(biāo)準(zhǔn)化的、可以訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序。數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序就好比一座橋,為應(yīng)用系統(tǒng)和數(shù)據(jù)庫(kù)之間建立了一座數(shù)據(jù)交流的橋梁。
數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序主要分為驅(qū)動(dòng)API接口和驅(qū)動(dòng)程序兩部分,由各數(shù)據(jù)庫(kù)廠商提供。驅(qū)動(dòng)程序主要是一個(gè)個(gè)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)功能函數(shù)代碼的DLL文件,API接口就是驅(qū)動(dòng)程序里的一個(gè)個(gè)函數(shù)名,可供python語(yǔ)言直接調(diào)用。目前,流行的數(shù)據(jù)庫(kù)接口技術(shù)包括ODBC、ADO等。
3.數(shù)據(jù)庫(kù)系統(tǒng)第三個(gè)環(huán)節(jié),通過(guò)數(shù)據(jù)庫(kù)系統(tǒng)對(duì)應(yīng)的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,為應(yīng)用系統(tǒng)提供數(shù)據(jù)讀取、寫(xiě)入、修改、刪除等操作功能。故,在程序開(kāi)發(fā)時(shí),先安裝相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)。
故,需要開(kāi)發(fā)一款數(shù)據(jù)庫(kù)的python應(yīng)用系統(tǒng),必須要有這三個(gè)環(huán)節(jié):先確定并安裝需要的數(shù)據(jù)庫(kù),然后安裝對(duì)應(yīng)的驅(qū)動(dòng)程序,最后才能進(jìn)行程序開(kāi)發(fā)。
3. ODBC與ADOODBC和ADO是兩種常見(jiàn)的連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng)接口技術(shù)標(biāo)準(zhǔn)。
1.** ODBC**ODBC(開(kāi)放數(shù)據(jù)庫(kù)連接)是用于訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)應(yīng)用程序編程接口(API),支持Windows、Unix、Mac OSX、FreeBSD、Solaris、AIX及其他操作系統(tǒng)平臺(tái)下的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)。
2.ADOADO是Microsoft的Windows系統(tǒng)上的數(shù)據(jù)庫(kù)高級(jí)接口。它通常堆疊在ODBC驅(qū)動(dòng)程序之上,進(jìn)一步簡(jiǎn)化訪(fǎng)問(wèn)技術(shù)處理過(guò)程。
4. 關(guān)系型數(shù)據(jù)庫(kù)關(guān)系型數(shù)據(jù)庫(kù)支持清單
本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注好吧啦網(wǎng)的更多內(nèi)容!
相關(guān)文章:
1. 詳解CSS偽元素的妙用單標(biāo)簽之美2. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法3. HTML5 Canvas繪制圖形從入門(mén)到精通4. XHTML 1.0:標(biāo)記新的開(kāi)端5. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究6. 利用CSS3新特性創(chuàng)建透明邊框三角7. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼8. ASP基礎(chǔ)知識(shí)VBScript基本元素講解9. JSP的Cookie在登錄中的使用10. XML入門(mén)的常見(jiàn)問(wèn)題(四)
