Python程序開(kāi)發(fā)案例教程(第2版)課件 第14章 數(shù)據(jù)庫(kù)編程_第1頁(yè)
Python程序開(kāi)發(fā)案例教程(第2版)課件 第14章 數(shù)據(jù)庫(kù)編程_第2頁(yè)
Python程序開(kāi)發(fā)案例教程(第2版)課件 第14章 數(shù)據(jù)庫(kù)編程_第3頁(yè)
Python程序開(kāi)發(fā)案例教程(第2版)課件 第14章 數(shù)據(jù)庫(kù)編程_第4頁(yè)
Python程序開(kāi)發(fā)案例教程(第2版)課件 第14章 數(shù)據(jù)庫(kù)編程_第5頁(yè)
已閱讀5頁(yè),還剩127頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第14章數(shù)據(jù)庫(kù)編程《Python程序開(kāi)發(fā)案例教程(第2版))》學(xué)習(xí)目標(biāo)/Target

了解數(shù)據(jù)庫(kù),能夠說(shuō)出數(shù)據(jù)庫(kù)系統(tǒng)的組成部分以及優(yōu)點(diǎn)了解數(shù)據(jù)庫(kù)的分類,能夠區(qū)分關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)的特點(diǎn)熟悉數(shù)據(jù)庫(kù)的核心要素,能夠歸納MySQL和MongoDB數(shù)據(jù)庫(kù)的核心要素學(xué)習(xí)目標(biāo)/Target

掌握Python程序與MySQL數(shù)據(jù)庫(kù)交互的方式,能夠在計(jì)算機(jī)中安裝MySQL數(shù)據(jù)庫(kù)和pymysql

庫(kù),通過(guò)pymysql庫(kù)的功能操作MySQL數(shù)據(jù)庫(kù)掌握Python程序與MongoDB數(shù)據(jù)庫(kù)交互的方式,能夠在計(jì)算機(jī)中安裝MongoDB數(shù)據(jù)庫(kù)和

pymongo模塊,通過(guò)pymongo模塊的功能操作MongoDB數(shù)據(jù)庫(kù)掌握Python程序與Redis數(shù)據(jù)庫(kù)交互的方式,能夠在計(jì)算機(jī)中安裝Redis數(shù)據(jù)庫(kù)和redis模塊,

通過(guò)redis模塊的功能操作Redis數(shù)據(jù)庫(kù)章節(jié)概述/Summary在數(shù)字化時(shí)代,數(shù)據(jù)的管理和利用對(duì)企業(yè)發(fā)展至關(guān)重要。為了高效地存儲(chǔ)、管理和訪問(wèn)數(shù)據(jù),數(shù)據(jù)庫(kù)編程成為了一項(xiàng)必不可少的技術(shù)。通過(guò)數(shù)據(jù)庫(kù)編程,開(kāi)發(fā)人員可以實(shí)現(xiàn)數(shù)據(jù)的增刪改查操作,構(gòu)建可靠的數(shù)據(jù)存儲(chǔ)和處理系統(tǒng)。Python為數(shù)據(jù)庫(kù)編程提供了豐富的數(shù)據(jù)庫(kù)模塊或庫(kù),使得連接、查詢和修改各種數(shù)據(jù)庫(kù)變得更加高效和便捷。本章將圍繞Python中數(shù)據(jù)庫(kù)編程的相關(guān)知識(shí)進(jìn)行講解。目錄/Contents010203數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)MySQL與Python交互MongoDB與Python交互04Redis與Python交互05實(shí)例:用戶注冊(cè)與登錄數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)14.1

先定一個(gè)小目標(biāo)!了解數(shù)據(jù)庫(kù),能夠說(shuō)出什么是數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng)14.1.1數(shù)據(jù)庫(kù)概述數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)(DataBase,DB)是一個(gè)存在于計(jì)算機(jī)存儲(chǔ)設(shè)備上的數(shù)據(jù)集合,它可以簡(jiǎn)單地理解為一個(gè)存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù)。數(shù)據(jù)庫(kù)能夠長(zhǎng)期、高效地管理和存儲(chǔ)數(shù)據(jù),其主要目的是能夠存儲(chǔ)(寫(xiě)入)和提供(讀取)數(shù)據(jù)。14.1.1數(shù)據(jù)庫(kù)概述可以把數(shù)據(jù)庫(kù)看作一個(gè)電子文件柜,用戶可以對(duì)文件柜中的電子文件的數(shù)據(jù)進(jìn)行增加、刪除、修改、查找等操作。需要注意的是,這里所說(shuō)的數(shù)據(jù)不僅包括普通意義上的數(shù)字,還包括文字、圖像、聲音等,也就是說(shuō),凡是在計(jì)算機(jī)中用來(lái)描述事物的記錄都可以稱為數(shù)據(jù)。14.1.1數(shù)據(jù)庫(kù)概述數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)系統(tǒng)14.1.1數(shù)據(jù)庫(kù)概述數(shù)據(jù)庫(kù)系統(tǒng)的范圍要比數(shù)據(jù)庫(kù)大很多。數(shù)據(jù)庫(kù)系統(tǒng)指的是在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng),除了數(shù)據(jù)庫(kù),還包括數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem,DBMS)、數(shù)據(jù)庫(kù)應(yīng)用程序等。為了讓讀者更好地理解數(shù)據(jù)庫(kù)系統(tǒng),下面通過(guò)一張圖來(lái)描述數(shù)據(jù)庫(kù)系統(tǒng),如圖所示。數(shù)據(jù)庫(kù)系統(tǒng)14.1.1數(shù)據(jù)庫(kù)概述數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)應(yīng)用程序,關(guān)于它們的功能介紹如下。(1)數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)提供了存儲(chǔ)空間來(lái)存儲(chǔ)各種數(shù)據(jù)。(2)數(shù)據(jù)庫(kù)管理系統(tǒng):數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的管理軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)的創(chuàng)建、維護(hù)和管理。它提供了一系列功能來(lái)管理數(shù)據(jù)庫(kù)中的數(shù)據(jù),比如數(shù)據(jù)的插入、刪除、更新和查詢等操作。(3)數(shù)據(jù)庫(kù)應(yīng)用程序:數(shù)據(jù)庫(kù)應(yīng)用程序是用戶定制的符合自身需求的程序,用戶通過(guò)該應(yīng)用程序與數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行通信,并訪問(wèn)和管理數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)。數(shù)據(jù)庫(kù)優(yōu)點(diǎn)14.1.1數(shù)據(jù)庫(kù)概述數(shù)據(jù)庫(kù)優(yōu)點(diǎn)如下:數(shù)據(jù)持久化存儲(chǔ)。數(shù)據(jù)庫(kù)通過(guò)將數(shù)據(jù)持久化存儲(chǔ)在硬盤(pán)上,確保數(shù)據(jù)在斷電或系統(tǒng)崩潰后仍能可靠地保存。數(shù)據(jù)高效讀寫(xiě)。數(shù)據(jù)庫(kù)系統(tǒng)采用高效的數(shù)據(jù)結(jié)構(gòu)和算法,以最大限度地提高數(shù)據(jù)的讀寫(xiě)速度。通過(guò)優(yōu)化索引機(jī)制、緩存和查詢優(yōu)化等技術(shù),數(shù)據(jù)庫(kù)能夠快速響應(yīng)各種復(fù)雜的數(shù)據(jù)操作請(qǐng)求,提供高效的數(shù)據(jù)訪問(wèn)服務(wù)。時(shí)效性保證。數(shù)據(jù)庫(kù)系統(tǒng)支持并發(fā)訪問(wèn)和事務(wù)處理的技術(shù),確保數(shù)據(jù)在多個(gè)用戶同時(shí)訪問(wèn)時(shí)的一致性和可靠性。對(duì)程序的良好支持。數(shù)據(jù)庫(kù)系統(tǒng)提供了靈活的查詢語(yǔ)言和API,使得應(yīng)用程序可以直接與數(shù)據(jù)庫(kù)進(jìn)行交互。開(kāi)發(fā)人員通過(guò)編寫(xiě)簡(jiǎn)單的數(shù)據(jù)庫(kù)查詢語(yǔ)句,可以輕松地實(shí)現(xiàn)對(duì)數(shù)據(jù)的增刪改查等操作。

先定一個(gè)小目標(biāo)!了解數(shù)據(jù)庫(kù)的分類,能夠區(qū)分關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)的特點(diǎn)14.1.2數(shù)據(jù)庫(kù)的分類1.關(guān)系型數(shù)據(jù)庫(kù)14.1.2數(shù)據(jù)庫(kù)的分類關(guān)系型數(shù)據(jù)庫(kù)是一種基于關(guān)系模型的數(shù)據(jù)庫(kù)管理系統(tǒng),它以二維表格的形式組織數(shù)據(jù),并使用結(jié)構(gòu)化查詢語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)操作。關(guān)系型數(shù)據(jù)庫(kù)具有以下幾個(gè)特點(diǎn):結(jié)構(gòu)化:關(guān)系型數(shù)據(jù)庫(kù)要求數(shù)據(jù)具備固定的結(jié)構(gòu),每個(gè)表格都有明確定義的列和數(shù)據(jù)類型,確保數(shù)據(jù)的一致性和完整性。支持SQL:關(guān)系型數(shù)據(jù)庫(kù)使用SQL進(jìn)行數(shù)據(jù)操作和查詢,SQL具有簡(jiǎn)單易學(xué)的語(yǔ)法,方便用戶進(jìn)行數(shù)據(jù)的增刪改查操作。支持事務(wù):關(guān)系型數(shù)據(jù)庫(kù)支持事務(wù)處理,通過(guò)事務(wù)機(jī)制保證數(shù)據(jù)操作的原子性、一致性、隔離性和持久性。數(shù)據(jù)一致性:關(guān)系型數(shù)據(jù)庫(kù)通過(guò)定義關(guān)系和約束條件來(lái)保證數(shù)據(jù)的一致性,比如主鍵約束、唯一約束、外鍵約束等。1.關(guān)系型數(shù)據(jù)庫(kù)14.1.2數(shù)據(jù)庫(kù)的分類常見(jiàn)的關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品有Oracle、SQLServer、SQLite和MySQL共4個(gè),這4個(gè)數(shù)據(jù)庫(kù)產(chǎn)品各有各的特點(diǎn):(1)OracleOracle是由甲骨文公司開(kāi)發(fā)的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),在數(shù)據(jù)庫(kù)領(lǐng)域一直處于領(lǐng)先地位。(2)SQLServerSQLServer是由微軟公司開(kāi)發(fā)的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它廣泛應(yīng)用于電子商務(wù)、銀行、保險(xiǎn)、電力等行業(yè)。(3)SQLiteSQLite是一款非常輕量級(jí)的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在使用前不需要安裝與配置,能夠支持Windows、Linux、UNIX等主流的操作系統(tǒng)。(4)MySQLMySQL屬于Oracle公司旗下產(chǎn)品,它是一個(gè)非常流行的開(kāi)源數(shù)據(jù)庫(kù)管理系統(tǒng),廣泛應(yīng)用于中小型企業(yè)網(wǎng)站。14.1.2數(shù)據(jù)庫(kù)的分類2.非關(guān)系型數(shù)據(jù)庫(kù)非關(guān)系型數(shù)據(jù)庫(kù)又稱為NoSQL數(shù)據(jù)庫(kù),它不采用關(guān)系模型,而選擇其他數(shù)據(jù)組織方式,被設(shè)計(jì)用于處理大規(guī)模的非結(jié)構(gòu)化、半結(jié)構(gòu)化或異構(gòu)數(shù)據(jù),并且具有良好的水平擴(kuò)展性和靈活性。(1)鍵值(Key-Value)存儲(chǔ)數(shù)據(jù)庫(kù)鍵值存儲(chǔ)數(shù)據(jù)庫(kù)采用鍵值結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),每個(gè)鍵分別對(duì)應(yīng)一個(gè)特定的值。這類數(shù)據(jù)庫(kù)具有易部署、查詢速度快、存儲(chǔ)量大、高并發(fā)操作等特點(diǎn),適用于處理大量數(shù)據(jù)的高訪問(wèn)負(fù)載和一些日志系統(tǒng)等。鍵值存儲(chǔ)數(shù)據(jù)庫(kù)的典型代表有Redis、Flare、MemcacheDB等。(2)列式(Column-Oriented)存儲(chǔ)數(shù)據(jù)庫(kù)列式存儲(chǔ)數(shù)據(jù)庫(kù)采用列式結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),將同一列數(shù)據(jù)存儲(chǔ)到一起。這類數(shù)據(jù)庫(kù)具有查詢速度快、可擴(kuò)展性強(qiáng)等特點(diǎn),更容易進(jìn)行分布式擴(kuò)展,適用于分布式的文件系統(tǒng)。列式存儲(chǔ)數(shù)據(jù)庫(kù)的典型代表有Hbase、Cassandra等。(3)文檔型(Document-Oriented)存儲(chǔ)數(shù)據(jù)庫(kù)文檔型存儲(chǔ)數(shù)據(jù)庫(kù)采用文檔結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),每個(gè)文檔中包含多個(gè)鍵值對(duì)。這類數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)要求并不嚴(yán)格,具有表結(jié)構(gòu)可變、查詢速度更快的特點(diǎn),適用于Web應(yīng)用的場(chǎng)景。文檔型數(shù)據(jù)庫(kù)的典型代表有MongoDB、CouchDB等。14.1.2數(shù)據(jù)庫(kù)的分類2.非關(guān)系型數(shù)據(jù)庫(kù)非關(guān)系型數(shù)據(jù)庫(kù)分類在眾多數(shù)據(jù)庫(kù)中,MySQL是一種成熟穩(wěn)定的關(guān)系型數(shù)據(jù)庫(kù),適用于需要保證數(shù)據(jù)一致性和事務(wù)處理的應(yīng)用場(chǎng)景;MongoDB是一種文檔型非關(guān)系型數(shù)據(jù)庫(kù),適用于處理大量半結(jié)構(gòu)化數(shù)據(jù)的需求;Redis是一個(gè)高性能的鍵值存儲(chǔ)數(shù)據(jù)庫(kù),適用于緩存、隊(duì)列和實(shí)時(shí)數(shù)據(jù)處理等場(chǎng)景。14.1.2數(shù)據(jù)庫(kù)的分類2.非關(guān)系型數(shù)據(jù)庫(kù)

先定一個(gè)小目標(biāo)!熟悉數(shù)據(jù)庫(kù)的核心要素,能夠歸納MySQL和MongoDB數(shù)據(jù)庫(kù)的核心要素14.1.3數(shù)據(jù)庫(kù)的核心要素?cái)?shù)據(jù)庫(kù)的核心要素關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別在于數(shù)據(jù)的組織方式。關(guān)系型數(shù)據(jù)庫(kù)使用關(guān)系模型來(lái)組織數(shù)據(jù),而非關(guān)系型數(shù)據(jù)庫(kù)使用其他方式來(lái)組織數(shù)據(jù),例如文檔型存儲(chǔ)數(shù)據(jù)庫(kù)使用文檔這種結(jié)構(gòu)存儲(chǔ)數(shù)據(jù)。14.1.3數(shù)據(jù)庫(kù)的核心要素?cái)?shù)據(jù)庫(kù)的核心要素對(duì)于關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),它主要包含以下核心要素:記錄:二維表格的一行數(shù)據(jù)稱為一條記錄。字段:二維表格的列稱為字段,一列即為一個(gè)字段,每個(gè)字段都有字段名;數(shù)據(jù)表:由行和列組成的二維表格。每個(gè)表都有一個(gè)固定的結(jié)構(gòu),在插入數(shù)據(jù)之前定義表的結(jié)構(gòu)。數(shù)據(jù)庫(kù):數(shù)據(jù)表的集合。14.1.3數(shù)據(jù)庫(kù)的核心要素?cái)?shù)據(jù)庫(kù)的核心要素MongoDB數(shù)據(jù)庫(kù)主要包含3個(gè)核心元素,分別為文檔、集合和數(shù)據(jù)庫(kù),各個(gè)元素的介紹如下。文檔:由JSON或XML數(shù)據(jù)構(gòu)成的對(duì)象,對(duì)應(yīng)關(guān)系型數(shù)據(jù)庫(kù)中的行。集合:文檔的物理容器,對(duì)應(yīng)關(guān)系型數(shù)據(jù)庫(kù)中的表。數(shù)據(jù)庫(kù):集合的物理容器,一個(gè)數(shù)據(jù)庫(kù)中可以包含多個(gè)文檔。14.1.3數(shù)據(jù)庫(kù)的核心要素MySQL與Python交互14.2

先定一個(gè)小目標(biāo)!掌握MySQL的下載和安裝,能夠在計(jì)算機(jī)中下載和安裝MySQL14.2.1下載和安裝MySQLMySQLMySQL官網(wǎng)提供了MySQLEnterpriseEdition(企業(yè)版)、MySQLClusterCGE(高級(jí)集群版)和MySQLCommunity(GPL)(社區(qū)版)。其中,企業(yè)版和高級(jí)集群版都是需要收費(fèi)的商業(yè)版本,而社區(qū)版是通過(guò)GPL協(xié)議授權(quán)的開(kāi)源軟件,可以免費(fèi)使用。14.2.1下載和安裝MySQL1.下載MySQL14.2.1下載和安裝MySQL多線程步驟1步驟2步驟3步驟4訪問(wèn)官網(wǎng)打開(kāi)瀏覽器,訪問(wèn)MySQL的官方網(wǎng)站。1.下載MySQL14.2.1下載和安裝MySQL多線程步驟1步驟3步驟4訪問(wèn)下載頁(yè)面單擊DOWNLOADS鏈接進(jìn)入MySQL的下載頁(yè)面。步驟21.下載MySQL14.2.1下載和安裝MySQL多線程步驟2步驟4單擊“MySQLCommunity(GPL)Downloads?”鏈接,進(jìn)入MySQLCommunity的下載頁(yè)面。訪問(wèn)下載頁(yè)面步驟3步驟11.下載MySQL14.2.1下載和安裝MySQL多線程步驟2步驟3單擊MySQLCommunityServer鏈接,進(jìn)入MySQLCommunityServer的下載頁(yè)面。訪問(wèn)下載頁(yè)面步驟4步驟11.下載MySQL14.2.1下載和安裝MySQL多線程步驟3步驟4單擊“Windows(x86,64-bit),ZIPArchive”對(duì)應(yīng)的Download按鈕后進(jìn)入文件下載頁(yè)面。下載MySQL步驟5步驟2MySQL提供了客戶端程序和服務(wù)器端程序,客戶端程序可以在命令提示符中直接使用,而服務(wù)器端程序則需要在Windows系統(tǒng)的后臺(tái)持續(xù)運(yùn)行,為此需要將MySQL安裝到Windows系統(tǒng)的服務(wù)中。14.2.1下載和安裝MySQL2.安裝MySQL2.安裝MySQL14.2.1下載和安裝MySQL多線程步驟1步驟2步驟3步驟4解壓下載文件將壓縮文件mysql-8.0.34-winx64.zip解壓到D:\programs\mysql-8.0.34-winx64目錄,這個(gè)目錄稱為MySQL安裝目錄。MySQL安裝目錄的內(nèi)容介紹如下。bin目錄:用于放置一些可執(zhí)行文件。docs目錄:用于放置文檔。include目錄:用于放置一些頭文件,如mysql.h、mysqld_error.h等。lib目錄:用于放置一系列的庫(kù)文件,如libmysql.lib、mysqlclient.lib等。share目錄:用于存放字符集、語(yǔ)言等信息。LICENSE文件:介紹了MySQL的授權(quán)信息。README文件:介紹了MySQL的版權(quán)、相關(guān)文檔地址和下載地址等信息。14.2.1下載和安裝MySQL2.安裝MySQL14.2.1下載和安裝MySQL多線程步驟1步驟3步驟4切換到bin目錄在開(kāi)始菜單的搜索框中輸入cmd,選擇以管理員身份運(yùn)行命令行窗口,在該窗口中使用命令切換到MySQL安裝目錄下的bin目錄。步驟22.安裝MySQLD:cdD:\programs\mysql-8.0.34-winx64\bin14.2.1下載和安裝MySQL多線程步驟2步驟4使用命令安裝一個(gè)MySQL80服務(wù),具體安裝命令及運(yùn)行結(jié)果如下。安裝MySQL80服務(wù)步驟3步驟12.安裝MySQLD:\programs\mysql-8.0.34-winx64\bin>mysqld-installMySQL80Servicesuccessfullyinstalled.14.2.1下載和安裝MySQL多線程步驟2步驟3MySQL安裝目錄D:\programs\mysql-8.0.34-winx64下,使用記事本創(chuàng)建my.ini文件,該配置文件的內(nèi)容如下。設(shè)置配置文件步驟4步驟12.安裝MySQL[mysqld]basedir=D:\programs\mysql-8.0.34-winx64datadir=D:\programs\mysql-8.0.34-winx64\\dataport=3306basedir表示MySQL的安裝目錄;datadir表示MySQL數(shù)據(jù)庫(kù)文件目錄的存放目錄,也就是數(shù)據(jù)表的存放位置;port表示MySQL客戶端連接服務(wù)器端時(shí)使用的端口號(hào),默認(rèn)的端口號(hào)為3306。2.安裝MySQL14.2.1下載和安裝MySQL多線程步驟5步驟6步驟7步驟8初始化數(shù)據(jù)庫(kù)設(shè)置MySQL配置文件后,MySQL中還沒(méi)有自動(dòng)生成數(shù)據(jù)庫(kù)文件目錄,因此需要初始化數(shù)據(jù)庫(kù),也就是讓MySQL自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)文件目錄。在命令行窗口中,切換到D:\programs\mysql-8.0.34-winx64\bin目錄下,執(zhí)行如下命令,初始化MySQL數(shù)據(jù)庫(kù)。mysqld--initialize--console14.2.1下載和安裝MySQL多線程步驟5步驟7步驟8重啟MySQLMySQL安裝和配置完成后,需要啟動(dòng)MySQL,否則MySQL客戶端無(wú)法連接數(shù)據(jù)庫(kù)。在命令行窗口中,切換到D:\programs\mysql-8.0.34-winx64\bin目錄下,執(zhí)行如下命令啟動(dòng)MySQL服務(wù)。步驟62.安裝MySQLnetstartMySQL8014.2.1下載和安裝MySQL多線程步驟6步驟8當(dāng)MySQL服務(wù)啟動(dòng)成功后,便可以登錄MySQL了。在圖14-10中的提示符后面,輸入如下命令登錄MySQL。登錄MySQL80步驟7步驟52.安裝MySQLmysql-uroot-p14.2.1下載和安裝MySQL多線程步驟6步驟7在命令提示符后面,輸入設(shè)置密碼的命令,將root用戶的密碼設(shè)置為123456,具體命令如下:修改密碼步驟8步驟52.安裝MySQLALTERUSER'root'@'localhost'IDENTIFIEDBY'123456';14.2.1下載和安裝MySQL多線程步驟7步驟8執(zhí)行“exit”命令退出MySQL,然后執(zhí)行“mysql-uroot-p123456”命令使用新密碼登錄MySQL。退出MySQL步驟9步驟62.安裝MySQL

先定一個(gè)小目標(biāo)!掌握安裝pymysql,能夠在指定Python換將中安裝pymysql庫(kù)14.2.2安裝pymysql安裝pymysqlpymysql是一個(gè)純Python編寫(xiě)的第三方庫(kù),用于與MySQL數(shù)據(jù)庫(kù)進(jìn)行交互。它提供了連接、查詢、插入、更新、刪除等操作MySQL數(shù)據(jù)庫(kù)的功能,同時(shí)支持事務(wù)管理、錯(cuò)誤處理和連接池等功能,對(duì)于Python開(kāi)發(fā)中與MySQL交互的需求,pymysql是首選工具。14.2.2安裝pymysql若需要在程序中操作MySQL數(shù)據(jù)庫(kù),則需要先在當(dāng)前的開(kāi)發(fā)環(huán)境中安裝pymysql庫(kù)。安裝pymysql庫(kù)的方式比較簡(jiǎn)單,可以直接使用pip命令安裝,安裝命令如下:pipinstallpymysql安裝命令14.2.2安裝pymysql安裝pymysql執(zhí)行上述命令,若命令行窗口中出現(xiàn)如下信息,說(shuō)明pymysql庫(kù)安裝成功。CollectingpymysqlDownloadingPyMySQL-1.1.0-py3-none-any.whl(44kB)----------------------------------------44.8/44.8kB556.9kB/seta0:00:00Installingcollectedpackages:pymysqlSuccessfullyinstalledpymysql-1.1.0

先定一個(gè)小目標(biāo)!掌握pymysql中Connection對(duì)象和Cursor對(duì)象中常用方法的使用,能夠使用這兩個(gè)對(duì)象操作MySQL數(shù)據(jù)庫(kù)14.2.3pymysql的常用對(duì)象1.Connection對(duì)象14.2.3pymysql的常用對(duì)象Connection對(duì)象表示與MySQL數(shù)據(jù)庫(kù)的連接,通過(guò)它可以執(zhí)行SQL語(yǔ)句、提交事務(wù)和關(guān)閉連接。Python中通過(guò)pymysql庫(kù)的connect()方法創(chuàng)建Connection對(duì)象,并根據(jù)需求傳入相應(yīng)的連接參數(shù),包括IP地址、端口、用戶名、密碼、數(shù)據(jù)庫(kù)名稱等。connect(參數(shù)列表)語(yǔ)法格式使用connect()方法創(chuàng)建Connection對(duì)象,用于向本地的MySQL數(shù)據(jù)庫(kù)建立連接,示例代碼如下:conn=pymysql.connect(host='localhost',

#IP地址user='root',

#用戶名password

='123456',#用戶密碼database

='dbtest',#數(shù)據(jù)庫(kù)名稱charset='utf8')

#編碼方式示例14.2.3pymysql的常用對(duì)象1.Connection對(duì)象pymysql庫(kù)還為Connection對(duì)象提供了一些操作數(shù)據(jù)庫(kù)的其他方法,常用的方法及其功能說(shuō)明如表所示。14.2.3pymysql的常用對(duì)象1.Connection對(duì)象方法說(shuō)明close()關(guān)閉連接commit()提交當(dāng)前事務(wù)rollback()回滾當(dāng)前事務(wù)。事務(wù)回滾是指,事務(wù)在運(yùn)行過(guò)程中因發(fā)生某種故障而不能繼續(xù)執(zhí)行,使得系統(tǒng)將事務(wù)中對(duì)數(shù)據(jù)庫(kù)的所有已完成的更新操作全部撤銷,將數(shù)據(jù)庫(kù)返回到事務(wù)開(kāi)始時(shí)的狀態(tài)cursor()創(chuàng)建并返回游標(biāo)對(duì)象2.Cursor對(duì)象14.2.3pymysql的常用對(duì)象Cursor對(duì)象即游標(biāo)對(duì)象,它主要負(fù)責(zé)執(zhí)行SQL語(yǔ)句。Cursor對(duì)象通過(guò)調(diào)用Connection對(duì)象的cursor()方法創(chuàng)建。使用上文創(chuàng)建的Connection對(duì)象conn獲得游標(biāo)對(duì)象,示例代碼如下:cs_obj=conn.cursor()示例Cursor對(duì)象的常用屬性和方法如下所示。14.2.3pymysql的常用對(duì)象屬性說(shuō)明rowcount獲取最近一次調(diào)用execute()后受影響的行數(shù)connection獲取當(dāng)前連接對(duì)象2.Cursor對(duì)象方法說(shuō)明close()關(guān)閉游標(biāo)對(duì)象execute()執(zhí)行SQL語(yǔ)句,返回受影響的行數(shù)fetchall()檢索所有滿足查詢條件的結(jié)果,并將結(jié)果以元組的形式返回。如果查詢沒(méi)有找到任何結(jié)果,則fetchall()方法將返回一個(gè)空的元組fetchone()獲取一條滿足查詢條件的結(jié)果,并將結(jié)果以元組的形式返回。如果查詢沒(méi)有找到任何結(jié)果,它將返回None多學(xué)一招:SQL語(yǔ)句SQL語(yǔ)句SQL(全稱StructureQueryLanguage)是結(jié)構(gòu)化查詢語(yǔ)言,也是目前應(yīng)用較廣泛的用于訪問(wèn)和操作關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言,具有易學(xué)易用、功能豐富的特點(diǎn)。下面將對(duì)基礎(chǔ)的SQL語(yǔ)句進(jìn)行介紹。多學(xué)一招:SQL語(yǔ)句SQL語(yǔ)句(1)創(chuàng)建數(shù)據(jù)庫(kù)使用“createdatabase”語(yǔ)句可以創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)名稱為dbtest的數(shù)據(jù)庫(kù)。createdatabasedbtest;createdatabase數(shù)據(jù)庫(kù)名稱;語(yǔ)法格式(2)刪除數(shù)據(jù)庫(kù)使用“dropdatabase”語(yǔ)句可以刪除數(shù)據(jù)庫(kù)刪除名稱為dbtest的數(shù)據(jù)庫(kù)。dropdatabasedbtest;dropdatabase數(shù)據(jù)庫(kù)名稱;語(yǔ)法格式多學(xué)一招:SQL語(yǔ)句SQL語(yǔ)句(3)選擇數(shù)據(jù)庫(kù)使用“use”語(yǔ)句選擇數(shù)據(jù)庫(kù)選擇名稱為dbtest的數(shù)據(jù)庫(kù)。usedbtest;use數(shù)據(jù)庫(kù)名稱;語(yǔ)法格式(4)創(chuàng)建表使用“createtable”語(yǔ)句可以創(chuàng)建表在數(shù)據(jù)庫(kù)dbtest中創(chuàng)建數(shù)據(jù)表users。createtableusers(UserIDintprimarykey,UserNamevarchar(20)unique,UserPwdvarchar(20)notnull);createtable表名稱(字段名字段類型[約束],字段名字段類型[約束],字段名字段類型[約束]);語(yǔ)法格式多學(xué)一招:SQL語(yǔ)句SQL語(yǔ)句(5)新增數(shù)據(jù)使用“insertinto”語(yǔ)句可以向數(shù)據(jù)表中增加數(shù)據(jù)向數(shù)據(jù)表users中添加兩條數(shù)據(jù)insertintousers(userid,username,userpwd)values(1,'xiaoMing','123456');insertintousers(userid,username,userpwd)values(2,'xiaoHong','654321');insertintotable_name(字段1,字段2,......字段n)values(值1,值2,......值n);語(yǔ)法格式(6)刪除數(shù)據(jù)使用“delete”語(yǔ)句和where子句可以根據(jù)條件刪除指定的數(shù)據(jù)從數(shù)據(jù)表users中將第1條數(shù)據(jù)刪除deletefromuserswhereUserID=1;deletefrom表名稱where條件;語(yǔ)法格式多學(xué)一招:SQL語(yǔ)句SQL語(yǔ)句(7)更新數(shù)據(jù)使用“update”語(yǔ)句和where子句可以更新數(shù)據(jù)將數(shù)據(jù)表users中UserID為1的用戶名稱改為“小華”updateuserssetUserName="小華"whereUserID=1;update表名稱set字段1=數(shù)值1,

字段2=數(shù)值2,where條件;語(yǔ)法格式(8)查詢數(shù)據(jù)使用“select”語(yǔ)句可以查詢數(shù)據(jù)從數(shù)據(jù)表users中查詢所有的數(shù)據(jù)usedbtest;select*fromusers;select字段1,字段2,...,字段nfrom表名稱;select字段1,字段2,...,字段nfrom表名稱where條件;語(yǔ)法格式

先定一個(gè)小目標(biāo)!掌握pymysql的使用,能夠使用pymysql操作MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)14.2.4pymysql的基本使用pymysql的使用步驟14.2.4pymysql的基本使用當(dāng)使用pymysql庫(kù)訪問(wèn)MySQL數(shù)據(jù)庫(kù)時(shí),一般可以分為以下幾步:(1)創(chuàng)建連接。通過(guò)connect()方法創(chuàng)建Connection對(duì)象,用于連接MySQL數(shù)據(jù)庫(kù)。(2)獲取游標(biāo)。通過(guò)Connection對(duì)象的cursor()方法創(chuàng)建Cursor對(duì)象。(3)執(zhí)行SQL語(yǔ)句。通過(guò)Cursor對(duì)象的execute()、fetchone()或fetchall()方法執(zhí)行指定的SQL語(yǔ)句,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的基本操作,包括數(shù)據(jù)的增加、更新、刪除、查詢等。(4)關(guān)閉游標(biāo)。通過(guò)Cursor對(duì)象的close()方法關(guān)閉游標(biāo)。(5)關(guān)閉連接。通過(guò)Connection對(duì)象的close()方法關(guān)閉連接。導(dǎo)入pymysql庫(kù),創(chuàng)建程序與MySQL數(shù)據(jù)庫(kù)的連接,代碼如下。importpymysql#創(chuàng)建連接conn=pymysql.connect(host='localhost',

#IP地址user='root',

#用戶名password='123456',

#用戶密碼charset='utf8'

#通信采用的編碼方式)示例14.2.4pymysql的基本使用1.導(dǎo)入pymysql庫(kù)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)dbtest,并在數(shù)據(jù)庫(kù)dbtest中創(chuàng)建一張描述員工信息的數(shù)據(jù)表employees。數(shù)據(jù)表employees中共有emID、emName、emLevel、emDepID這4個(gè)字段,其中字段emID被設(shè)置為主鍵,代碼如下。cursor=conn.cursor()

#獲取游標(biāo)sql_create='createdatabaseifnotexistsdbtest'#創(chuàng)建數(shù)據(jù)庫(kù)cursor.execute(sql_create)#創(chuàng)建數(shù)據(jù)表sql_use='usedbtest'cursor.execute(sql_use)sql_table='createtableifnotexistsemployees(emIDintprimary'\'key,emNamevarchar(20),emLevelvarchar(20),emDepIDvarchar(20))'cursor.execute(sql_table)示例14.2.4pymysql的基本使用2.創(chuàng)建數(shù)據(jù)庫(kù)向數(shù)據(jù)表employees中插入一條記錄,代碼如下。#插入數(shù)據(jù)sql="insertintoemployees(emID,emName,emLevel,emDepID)"\"values(%d,'%s',%d,%d)"data=(15,'小明',3,3)cursor.execute(sql%data)mit()示例14.2.4pymysql的基本使用3.添加數(shù)據(jù)更新數(shù)據(jù)表employees,將字段emID的值為15的記錄中字段emName的值修改為“小紅”,代碼如下。#修改數(shù)據(jù)sql="updateemployeessetemName='%s'whereemID=%d"data=('小紅',15)cursor.execute(sql%data)mit()示例14.2.4pymysql的基本使用4.更新數(shù)據(jù)查詢employees表中字段emDepID的值為3的記錄,代碼如下。#查詢數(shù)據(jù)sql='selectemID,emNamefromemployeeswhereemDepID=3'cursor.execute(sql)forrowincursor.fetchall():print("員工ID:%d姓名:'%s'"%row)print('財(cái)務(wù)部一共有%d個(gè)員工'%cursor.rowcount)示例14.2.4pymysql的基本使用5.查詢數(shù)據(jù)刪除employees表中字段emID的值為15的一條記錄,代碼如下。#刪除數(shù)據(jù)sql='deletefromemployeeswhereemID=%dlimit%d'data=(15,1)cursor.execute(sql%data)mit()print('共刪除%d條數(shù)據(jù)'%cursor.rowcount)示例14.2.4pymysql的基本使用6.刪除數(shù)據(jù)關(guān)閉游標(biāo)和連接,代碼如下。cursor.close()#關(guān)閉游標(biāo)conn.close()#關(guān)閉連接示例14.2.4pymysql的基本使用7.關(guān)閉游標(biāo)和連接MongoDB與Python交互14.3

先定一個(gè)小目標(biāo)!掌握MongoDB的下載和安裝,能夠在計(jì)算機(jī)中下載和安裝MongoDB14.3.1下載和安裝MongoDB1.下載MongoDB在瀏覽器中訪問(wèn)MongoDB社區(qū)版服務(wù)器的下載頁(yè)面,該頁(yè)面中默認(rèn)會(huì)顯示W(wǎng)indows系統(tǒng)的可用版本。14.3.1下載和安裝MongoDB2.安裝MongoDB多線程步驟1步驟2步驟3步驟4啟動(dòng)安裝程序雙擊剛剛下載的安裝文件mongodb-windows-x86_64-6.0.8-signed.msi啟動(dòng)安裝程序,彈出MongoDB6.0.82008R2PlusSSL(64bit)Setup窗口。14.3.1下載和安裝MongoDB多線程步驟1步驟3步驟4同意協(xié)議單擊“Next”按鈕進(jìn)入End-UserLicenseAgreement界面,如圖所示。步驟22.安裝MongoDB14.3.1下載和安裝MongoDB多線程步驟2步驟4勾選界面下方的IacceptthetermsintheLicenseAgreement選項(xiàng),單擊“Next”按鈕進(jìn)入ChooseSetupType界面,如圖所示。選擇安裝方式步驟3步驟12.安裝MongoDB14.3.1下載和安裝MongoDB安裝類型包括Complete和Custom,其中Complete是默認(rèn)的選項(xiàng),表示安裝程序?qū)?huì)自動(dòng)安裝所有的組件或配置,需占用較多的磁盤(pán)空間,建議大多數(shù)用戶使用;Custom表示允許用戶自行選擇要安裝的程序功能及安裝位置,建議有自定義需求的用戶使用,這里選擇自定義的安裝方式。2.安裝MongoDB14.3.1下載和安裝MongoDB多線程步驟2步驟3單擊“Custom”按鈕進(jìn)入CustomSetup界面,如圖所示。自定義設(shè)置步驟4步驟12.安裝MongoDB14.3.1下載和安裝MongoDB2.安裝MongoDB多線程步驟5步驟6步驟7步驟8選擇安裝目錄單擊“Browse”按鈕彈出Changedestinationfolder界面,如圖所示。14.3.1下載和安裝MongoDB多線程步驟5步驟7步驟8指定安裝目錄單擊右上角的

按鈕或者文本框的下拉菜單選擇要安裝的位置,選擇完成的Changedestinationfolder界面,如圖所示。步驟62.安裝MongoDB14.3.1下載和安裝MongoDB多線程步驟6步驟8單擊“OK”按鈕關(guān)閉Changedestinationfolder界面,返回到CustomSetup界面,此時(shí)界面下方Location選項(xiàng)對(duì)應(yīng)的安裝位置已經(jīng)修改后剛剛選擇的位置,如圖所示。步驟7步驟52.安裝MongoDB指定安裝目錄14.3.1下載和安裝MongoDB多線程步驟6步驟7單擊“Next”按鈕進(jìn)入ServiceConfiguration界面,如圖所示。服務(wù)配置步驟8步驟52.安裝MongoDB14.3.1下載和安裝MongoDBServiceName選項(xiàng)用于設(shè)置服務(wù)器的名稱,默認(rèn)的名稱為MongoDB;選項(xiàng)DataDirectory和LogDirectory用于指定data和log文件夾的路徑,其中data文件夾會(huì)存放創(chuàng)建的數(shù)據(jù)庫(kù)文件,log文件夾會(huì)存放數(shù)據(jù)庫(kù)的日志文件。2.安裝MongoDB14.3.1下載和安裝MongoDB2.安裝MongoDB多線程步驟9步驟10步驟11步驟12是否安裝GUI管理系統(tǒng)單擊“Next”按鈕進(jìn)入InstallMongoDBCompass界面,該界面中可以選擇是否安裝MongoDBCompass,如圖所示。14.3.1下載和安裝MongoDB多線程步驟9步驟11步驟12安裝MongoDB取消勾選InstallMongoDBCompass復(fù)選框,單擊“Next”按鈕進(jìn)入ReadytoinstallMongoDB6.0.82008R2PlusSSL(64bit)界面,如圖所示。步驟102.安裝MongoDB14.3.1下載和安裝MongoDB多線程步驟10步驟12單擊的“Install”按鈕開(kāi)始安裝MongoDB數(shù)據(jù)庫(kù),并以進(jìn)度條的形式持續(xù)顯示當(dāng)前安裝的進(jìn)度,安裝完成后自動(dòng)進(jìn)入CompletedtheMongoDB6.0.8界面,如圖所示。安裝完成步驟11步驟92.安裝MongoDB14.3.1下載和安裝MongoDB多線程步驟10步驟11MongoDB默認(rèn)會(huì)將創(chuàng)建的數(shù)據(jù)庫(kù)文件存儲(chǔ)在data文件夾下的目錄db,但是這個(gè)文件夾不會(huì)被自動(dòng)創(chuàng)建,用戶需要在MongoDB安裝完成后手動(dòng)創(chuàng)建目錄db。在“D:\programs\MongoDB\Server\data”目錄下創(chuàng)建一個(gè)目錄db,此時(shí)的目錄如圖所示。創(chuàng)建db目錄步驟12步驟92.安裝MongoDB14.3.1下載和安裝MongoDBmongod--dbpath"D:\programs\MongoDB\Server\data\db"打開(kāi)命令行窗口,使用命令切換路徑至MongoDB所在的安裝目錄,本書(shū)的安裝目錄為D:\programs\MongoDB\Server\bin,之后輸入如下命令運(yùn)行MongoDB服務(wù)器,并指定數(shù)據(jù)庫(kù)文件的位置為剛剛新建的db目錄:為了避免后續(xù)啟動(dòng)MongoDB服務(wù)器時(shí),重復(fù)切換至MongoDB的安裝目錄,此處可以將以上安裝目錄添加到環(huán)境變量中。2.安裝MongoDB14.3.1下載和安裝MongoDB

先定一個(gè)小目標(biāo)!14.3.2安裝pymongo掌握安裝pymongo,能夠在指定Python換將中安裝pymongo庫(kù)安裝pymongopymongo是Python中用于連接MongoDB數(shù)據(jù)庫(kù)的第三方模塊,它提供了與MongoDB數(shù)據(jù)庫(kù)的交互接口和操作方法。通過(guò)pymongo模塊,開(kāi)發(fā)人員可以在Python程序中連接、查詢和操作MongoDB數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)的持久化存儲(chǔ)和讀取,并進(jìn)行各種數(shù)據(jù)操作,比如插入、更新、刪除和聚合等。14.3.2安裝pymongo若需要在程序中操作MongoDB數(shù)據(jù)庫(kù),則需要先在當(dāng)前的開(kāi)發(fā)環(huán)境中安裝pymongo模塊。安裝pymongo模塊的方式比較簡(jiǎn)單,可以直接使用pip命令安裝,具體安裝命令如下:pipinstallpymongo安裝命令執(zhí)行上述命令,若命令行窗口中出現(xiàn)如下信息,說(shuō)明pymongo模塊安裝成功:CollectingpymongoDownloadingpymongo-4.4.1-cp311-cp311-win_amd64.whl(408kB)……Installingcollectedpackages:dnspython,pymongoSuccessfullyinstalleddnspython-2.4.1pymongo-4.4.114.3.2安裝pymongo安裝pymongo

先定一個(gè)小目標(biāo)!掌握pymongo中MongoClient、DataBase、Collection、Cursor對(duì)象中常用方法的使用,能夠使用這4個(gè)對(duì)象操作MongoDB數(shù)據(jù)庫(kù)14.3.3pymongo常用對(duì)象1.MongoClient對(duì)象MongoClient對(duì)象用于建立與MongoDB數(shù)據(jù)庫(kù)的連接,可以通過(guò)構(gòu)造方法進(jìn)行創(chuàng)建,該方法的語(yǔ)法格式如下:MongoClient(host='localhost',

port=27017,document_class=dict,

tz_aware=False,

connect=True,

**kwargs)語(yǔ)法格式host:表示MongoDB服務(wù)器的主機(jī)名或IP地址。默認(rèn)值為'localhost',表示在本地主機(jī)上運(yùn)行的MongoDB服務(wù)器。port:表示MongoDB服務(wù)器的端口號(hào),默認(rèn)值為27017。document_class:表示數(shù)據(jù)庫(kù)執(zhí)行查詢操作后返回文檔的類型,默認(rèn)值為字典。14.3.3pymongo常用對(duì)象例如,建立與MongoDB數(shù)據(jù)庫(kù)的連接,具體代碼如下:#使用默認(rèn)主機(jī)地址和端口與MongoDB數(shù)據(jù)庫(kù)建立連接。client=MongoClient()#顯式地指定主機(jī)地址和端口號(hào)client=MongoClient('mongodb://localhost:27017')示例1.MongoClient對(duì)象14.3.3pymongo常用對(duì)象2.DataBase對(duì)象DataBase對(duì)象表示一個(gè)數(shù)據(jù)庫(kù),可以通過(guò)MongoClient對(duì)象進(jìn)行獲取。#1.通過(guò)MongoClient對(duì)象client獲取數(shù)據(jù)庫(kù)data_base=client.db_name#2.通過(guò)訪問(wèn)字典元素的形式獲取數(shù)據(jù)庫(kù)data_base=client['db_name']示例需要注意的是,使用以上兩種方式獲取數(shù)據(jù)庫(kù)db_name時(shí),若指定的數(shù)據(jù)庫(kù)db_name已經(jīng)存在,則會(huì)直接訪問(wèn)db_name數(shù)據(jù)庫(kù),否則創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)db_name。14.3.3pymongo常用對(duì)象3.Collection對(duì)象Collection對(duì)象包含一組文檔,代表MongoDB數(shù)據(jù)庫(kù)中的集合,類似于關(guān)系數(shù)據(jù)庫(kù)中的表,但它沒(méi)有固定的結(jié)構(gòu)。創(chuàng)建Collection對(duì)象的方式與創(chuàng)建數(shù)據(jù)庫(kù)的方式類似。#1.通過(guò)data_base創(chuàng)建集合test_collectioncollection=db.test_collection#2.通過(guò)訪問(wèn)字典元素的形式創(chuàng)建Collection對(duì)象collection=db['test-collection']示例14.3.3pymongo常用對(duì)象Collection對(duì)象具備一系列操作文檔的方法,常用方法及其功能的說(shuō)明如表所示。方法說(shuō)明insert_one()向集合中插入一條文檔insert_many()向集合中插入多條文檔find_one()查詢集合中的一條文檔。若找到匹配的文檔,返回單個(gè)文檔,否則返回Nonefind()查詢集合中的多條文檔。若找到匹配項(xiàng),則返回一個(gè)Cursor對(duì)象update_one()更新集合中的一條文檔update_many()更新集合中的多條文檔delete_one()從集合中刪除一條文檔delete_many()從集合中刪除多條文檔count_documents(filter)根據(jù)匹配條件filter統(tǒng)計(jì)集合中的文檔數(shù)量。若傳入空字典,則返回所有文檔的數(shù)量;若傳入帶有鍵值對(duì)的字典,則返回符合條件的文檔數(shù)量3.Collection對(duì)象14.3.3pymongo常用對(duì)象pymongo中使用字典來(lái)表示MongoDB數(shù)據(jù)庫(kù)的文檔,每個(gè)文檔中都有一個(gè)_id屬性,用于保證文檔的唯一性,當(dāng)向集合中插入文檔時(shí),若未提供自定義的_id,MongoDB會(huì)自動(dòng)為文檔設(shè)置一個(gè)獨(dú)特的_id值。3.Collection對(duì)象14.3.3pymongo常用對(duì)象4.Cursor對(duì)象Cursor對(duì)象是通過(guò)Collection對(duì)象調(diào)用find()方法返回的查詢對(duì)象,該對(duì)象中包含有多條匹配的文檔,可結(jié)合for循環(huán)遍歷取出每條文檔。例如,使用insert_many()方法向collection中插入多條文檔,之后使用find()方法查詢匹配的文檔,具體代碼如下:#向集合中插入多條文檔collection.insert_many([{'x':i}foriinrange(2)])#查詢集合中的多條文檔cursor_obj=collection.find({'x':1})#遍歷取出每條文檔fordocumentincursor_obj:print(document)示例14.3.3pymongo常用對(duì)象

先定一個(gè)小目標(biāo)!掌握pymongo的使用,能夠使用pymongo操作MongoDB數(shù)據(jù)庫(kù)中的數(shù)據(jù)14.3.4pymongo的基本使用pymongo的使用步驟當(dāng)使用pymongo模塊訪問(wèn)MongoDB數(shù)據(jù)庫(kù)時(shí),一般可以分為以下幾步:(1)創(chuàng)建一個(gè)MongoClient對(duì)象,與MongoDB數(shù)據(jù)庫(kù)建立連接。(2)使用上個(gè)步驟的連接創(chuàng)建一個(gè)表示數(shù)據(jù)庫(kù)的DataBase對(duì)象。(3)使用上個(gè)步驟的數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)表示集合的Collection對(duì)象。(4)調(diào)用Collection對(duì)象的方法,對(duì)集合執(zhí)行某些操作,包括增加、刪除、修改和查詢文檔等。14.3.4pymongo的基本使用導(dǎo)入pymongo模塊,創(chuàng)建與本地主機(jī)MongoDB數(shù)據(jù)庫(kù)的連接importpymongo#創(chuàng)建連接client=pymongo.MongoClient(host='localhost',port=27017)示例1.導(dǎo)入pymongo模塊14.3.4pymongo的基本使用創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)school和一個(gè)集合student,具體代碼如下:#創(chuàng)建數(shù)據(jù)庫(kù)schooldb_obj=client.school#創(chuàng)建集合studentcoll_obj=db_obj.student示例2.創(chuàng)建數(shù)據(jù)庫(kù)14.3.4pymongo的基本使用向集合student中分別插入一條文檔和多條文檔,每個(gè)文檔中都有3個(gè)字段,分別是“學(xué)號(hào)”、“姓名”和“性別”,插入完之后輸出集合中文檔的總數(shù)量,具體代碼如下:#向集合student中插入文檔coll_obj.insert_one({'學(xué)號(hào)':1,'姓名':'小明','性別':'男'})coll_obj.insert_many([{'學(xué)號(hào)':2,'姓名':'小蘭','性別':'女'},{'學(xué)號(hào)':3,'姓名':'小花','性別':'女'},{'學(xué)號(hào)':4,'姓名':'小剛','性別':'男'},{'學(xué)號(hào)':5,'姓名':'小志','性別':'男'},{'學(xué)號(hào)':6,'姓名':'小白','性別':'男'}])print('集合中共有%d個(gè)文檔'%coll_obj.count_documents({}))示例3.插入數(shù)據(jù)14.3.4pymongo的基本使用將字段“學(xué)號(hào)”為6的文檔中字段“性別”對(duì)應(yīng)的值修改為“女”,具體代碼如下:#更新集合student中的一條文檔coll_obj.update_one({'學(xué)號(hào)':6},{'$set':{'性別':'女'}})示例4.修改數(shù)據(jù)14.3.4pymongo的基本使用將集合中出現(xiàn)的第一條字段“性別”對(duì)應(yīng)的值為“女”的文檔刪除,并在刪除后輸出集合中文檔的總數(shù)量,具體代碼如下:#刪除集合student中的一條文檔coll_obj.delete_one({'性別':'女'})print('集合中共有%d個(gè)文檔'%coll_obj.count_documents({}))示例5.刪除數(shù)據(jù)14.3.4pymongo的基本使用查詢集合中所有字段“性別”的值為“女”的文檔,并遍歷輸出了每個(gè)匹配的文檔,具體代碼如下:#查詢集合student中的性別為女的文檔result=coll_obj.find({'性別':'女'})fordocinresult:print(doc)示例6.查詢數(shù)據(jù)14.3.4pymongo的基本使用Redis與Python交互14.41.下載Redis在瀏覽器中訪問(wèn)GitHub網(wǎng)站上針對(duì)Windows系統(tǒng)下載Redis的頁(yè)面,該頁(yè)面中包含多個(gè)可供用戶下載的版本,截止本書(shū)完稿時(shí),比較新且穩(wěn)定的版本是5.0.14。Redis5.0.14的下載頁(yè)面如圖所示。14.4.1下載和安裝Redis2.安裝Redis多線程步驟1步驟2步驟3步驟4啟動(dòng)安裝程序雙擊安裝文件“Redis-x64-5.0.14.msi”啟動(dòng)安裝程序,進(jìn)入WelcometotheRedisonWindowsSetupWizard界面,如圖所示。14.4.1下載和安裝Redis多線程步驟1步驟3步驟4同意協(xié)議單擊“Next”按鈕進(jìn)入End-UserLicenseAgreement界面,該界面會(huì)要求用戶接受最終用戶許可協(xié)議,如圖所示。步驟214.4.1下載和安裝Redis2.安裝Redis多線程步驟2步驟4勾選IacceptthetermsintheLicenseAgreement復(fù)選框,單擊“Next”按鈕進(jìn)入DestinationFolder界面,如圖所示。選擇安裝方式步驟3步驟114.4.1下載和安裝Redis2.安裝Redis多線程步驟2步驟3勾選AddtheRedisinstallationfoldertothePATHenvironmentvariable復(fù)選框,將Redis的安裝路徑自動(dòng)添加到環(huán)境變量中。單擊“Next”按鈕進(jìn)入PortNumberandFirewallException界面,該界面中可設(shè)置端口號(hào)和為Redis添加防火墻提醒,如圖所示。自定義設(shè)置步驟4步驟114.4.1下載和安裝Redis2.安裝Redis多線程步驟5步驟6步驟7步驟8選擇安裝目錄保持默認(rèn)選項(xiàng),單擊“Next”按鈕進(jìn)入MemoryLimit界面,該界面中允許用戶設(shè)置最大內(nèi)存,如圖所示。14.4.1下載和安裝Redis2.安裝Redis多線程步驟5步驟7步驟8指定安裝目錄單擊“Next”按鈕進(jìn)入ReadytoinstallRedisonWindows界面,如圖所示。步驟614.4.1下載和安裝Redis2.安裝Redis多線程步驟6單擊“Install”按鈕開(kāi)始安裝Redis數(shù)據(jù)庫(kù),并以進(jìn)度條的形式提示當(dāng)前安裝的進(jìn)度,安裝完成后自動(dòng)進(jìn)入CompletedtheRedisonWindowsSetupWizard界面,如圖所示。步驟7步驟5指定安裝目錄14.4.1下載和安裝Redis2.安裝Redis若希望驗(yàn)證Redis數(shù)據(jù)庫(kù)是否安裝成功,則可以打開(kāi)命令行窗口,在該窗口的提示符后面輸入“redis-cli”命令運(yùn)行Redis客戶端,按下回車(chē)鍵后可以看到提示符變?yōu)?6379>,此時(shí)繼續(xù)輸入“ping”命令進(jìn)行測(cè)試連接,運(yùn)行命令后如果收到響應(yīng)PONG,說(shuō)明Redis已經(jīng)安裝并正常運(yùn)行。命令及運(yùn)行結(jié)果如下所示:C:\Users\itcast>redis-cli:6379>pingPONG14.4.1下載和安裝Redis2.安裝Redis

先定一個(gè)小目標(biāo)!掌握redis模塊的安裝方式,能夠在指定Python環(huán)境中安裝redis模塊14.4.2安裝redis模塊redis模塊redis是一個(gè)用于與Redis數(shù)據(jù)庫(kù)進(jìn)行交互的模塊,它提供了簡(jiǎn)單而直觀的編程接口,使開(kāi)發(fā)者可以通過(guò)Python代碼輕松地連接到Redis服務(wù)器,并執(zhí)行各種操作,比如存儲(chǔ)、讀取和刪除數(shù)據(jù)。同時(shí),它還提供了高級(jí)功能,如事務(wù)、發(fā)布與訂閱、管道和批量操作等,以滿足不同的開(kāi)發(fā)需求。14.4.2安裝redis模塊若需要在程序中操作Redis數(shù)據(jù)庫(kù),則需要先在當(dāng)前的開(kāi)發(fā)環(huán)境中安裝redis模塊。安裝redis模塊的方式比較簡(jiǎn)單,可以直接使用pip命令安裝,安裝命令如下:pipinstallredis安裝命令執(zhí)行上述命令,若命令行窗口中出現(xiàn)如下信息,說(shuō)明redis模塊安裝成功:……Installingcollectedpackages:redisSuccessfullyinstalledredis-4.6.0安裝redis14.4.2安裝redis模塊

先定一個(gè)小目標(biāo)!掌握redis中StrictRedis對(duì)象中常用方法的使用,能夠使用該對(duì)象操作Redis數(shù)據(jù)庫(kù)14.4.3redis常用對(duì)象在redis模塊中,提供了StrictRedis和Redis類來(lái)實(shí)現(xiàn)與Redis數(shù)據(jù)庫(kù)交互的命令,其中,StrictRedis類實(shí)現(xiàn)了官方Redis命令的大部分功能;Redis是StrictRedis的子類,用于兼容舊版本的redis-py。官方推薦使用StrictRedis對(duì)象進(jìn)行開(kāi)發(fā)。redis模塊14.4.3redis常用對(duì)象StrictRedis對(duì)象用于建立與Redis數(shù)據(jù)庫(kù)的連接,它可以通過(guò)構(gòu)造方法進(jìn)行創(chuàng)建,該方法的語(yǔ)法格式如下:StrictRedis(host='localhost',port=6379,db=0,password=None,socket_timeout=None,socket_connect_timeout=None,socket_keepalive=None,socket_keepalive_options=None,connection_pool=None,unix_socket_path=None,encoding='utf-8',...)語(yǔ)法格式host:表示待連接的Redis數(shù)據(jù)庫(kù)所在主機(jī)的IP地址,默認(rèn)值為localhost。port:表示Redis數(shù)據(jù)庫(kù)的端口號(hào),默認(rèn)值為6379。db:表

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論