《Python程序設計基礎》課件-第9章 數據庫基礎_第1頁
《Python程序設計基礎》課件-第9章 數據庫基礎_第2頁
《Python程序設計基礎》課件-第9章 數據庫基礎_第3頁
《Python程序設計基礎》課件-第9章 數據庫基礎_第4頁
《Python程序設計基礎》課件-第9章 數據庫基礎_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

目錄CONTENT010203數據庫系統(tǒng)概述Python內置數據庫SQLite綜合實例01數據庫系統(tǒng)概述數據、數據表、數據庫、數據庫管理系統(tǒng)和數據庫系統(tǒng)是與數據庫技術密切相關的四個基本概念

MORETHENTEMPLATE數據

描述事物的符號記錄稱為數據。描述事物的符號可以是數字,也可以是文字、圖形、圖像、聲音、語言等,數據有多種表現形式,它們都可以經過數字化后存入計算機。數據表一個關系數據庫由若干數據表組成。數據表由行和列組成,每一行稱為記錄,每一列稱為字段。屬于某一數據庫的表稱為數據庫表,不屬于任何數據庫的表稱為自由表。浙江財經大學東方學院信息分院39.1.1數據庫基本概念

MORETHENTEMPLATE數據庫

數據庫是指長期存儲在計算機內的、有組織的、可共享的數據集合。數據庫中的數據按一定的數據模型組織、描述和存儲,具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享。數據庫管理系統(tǒng)數據庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數據管理軟件,包括數據定義、數據操縱、數據庫的運行管理、數據庫的建立和維護功能。浙江財經大學東方學院信息分院49.1.1數據庫基本概念

MORETHENTEMPLATE數據庫系統(tǒng)數據庫系統(tǒng)是指在計算機系統(tǒng)中引入數據庫后的系統(tǒng),一般由計算機硬件及相關軟件、數據庫、數據庫管理系統(tǒng)及用戶四部分組成。浙江財經大學東方學院信息分院59.1.1數據庫基本概念

MORETHENTEMPLATE人工管理階段數據不保存應用程序管理數據數據不共享數據不具有獨立性浙江財經大學東方學院信息分院69.1.2數據管理技術的產生和發(fā)展

MORETHENTEMPLATE文件系統(tǒng)階段數據可以長期保存由文件系統(tǒng)管理數據數據共享性差,冗余度大數據獨立性差

浙江財經大學東方學院信息分院79.1.2數據管理技術的產生和發(fā)展

MORETHENTEMPLATE數據庫系統(tǒng)階段層次模型也稱樹狀模型,實質是一種有根結點的定向有序樹。網狀模型可以是任意一個連通的基本層次聯(lián)系的集合。關系模型是目前最流行的一種邏輯數據模型,以二維表格來表示實體間的聯(lián)系。

浙江財經大學東方學院信息分院89.1.2數據管理技術的產生和發(fā)展

MORETHENTEMPLATE大數據時代的數據管理NoSQL:一種不同與關系數據庫的數據庫管理系統(tǒng)設計方式,是對非關系型數據庫的統(tǒng)稱,支持海量數據存儲,可以較好應用于大數據時代的各種數管理。NewSQL:對各種新的可擴展、高性能數據庫的統(tǒng)稱,兼具NoSQL和傳統(tǒng)數據庫的特性。云數據庫:在云計算的大背景下發(fā)展起來的一種新型的共享基礎架構的方法,所有數據庫功能都是在云端提供,極大地增強了數據庫地存儲能力。

浙江財經大學東方學院信息分院99.1.2數據管理技術的產生和發(fā)展

MORETHENTEMPLATE數據結構化在數據庫系統(tǒng)中,數據不再針對某一應用,而是面向全組織,具有整體的結構化。

數據的共享性高,冗余度低,易擴充

數據可以被多個用戶、多個應用共享使用。數據共享可以大大減少數據冗余,節(jié)約存儲空間,避免數據之間的不相容性與不一致性。

同時,這還使得數據庫系統(tǒng)彈性大,易于擴充,可以適應各種用戶要求。極大地增強了數據庫地存儲能力。

浙江財經大學東方學院信息分院109.1.3數據庫系統(tǒng)的特點02Python

內置數據庫SQLiteSQLite是一款輕型的關系型數據庫管理系統(tǒng),是非常著名的開源嵌入式數據庫軟件。1,35926778%SQLite是一款輕型的關系型數據庫管理系統(tǒng),是非常著名的開源嵌入式數據庫軟件。官方網站:。SQLite包含在一個相對小的C庫中,能夠支持Windows/Linux等主流的操作系統(tǒng),同時能夠跟很多程序語言相結合,比如Python、C#、PHP、Java等。SQLite第一個Alpha版本誕生于2000年5月,至2021年SQLite迎來了版本SQLite3的發(fā)布。浙江財經大學東方學院信息分院129.2.1SQLite基本介紹(1)創(chuàng)建/打開數據庫,建立與數據庫關聯(lián)的Connection對象

如果指定的數據庫存在就直接打開這個數據庫,如果不存在就新創(chuàng)建一個再打開命令格式:Connection對象=sqlite3.connect("數據庫")舉例:xs=sqlite3.connect("xsgl.db")說明:創(chuàng)建/打開數據庫xsgl.db,建立Connection對象xs。浙江財經大學東方學院信息分院139.2.2SQLite安裝與使用(2)Connection對象Connection是Sqlite3模塊中最基本、最重要的類。主要包含以下操作:execute(sql[,parameters]):執(zhí)行一條SQL語句executemany(sql[,parameters]):使用不同參數執(zhí)行多次SQL語句commit():提交當前事務

rollback():事務回滾,數據庫恢復到上次調用commit()后的狀態(tài)close():關閉數據庫連接

cursor():創(chuàng)建游標對象浙江財經大學東方學院信息分院149.2.2SQLite安裝與使用(3)Cursor對象Cursor對象即為游標對象,是Sqlite3模塊中比較重要的對象。游標(Cursor)是處理數據的一種方法,為了查看或者處理結果集中的數據,游標提供了在結果集中一次一行或者多行前進或向后瀏覽數據的能力。在具體操作時,可以把游標當作一個指針,指定結果中的任何位置,然后允許用戶對指定位置的數據進行處理。浙江財經大學東方學院信息分院159.2.2SQLite安裝與使用命令格式:游標=Connection.cursor()舉例:cu=xs.cursor()

說明:通過Connection對象xs創(chuàng)建了游標對象cu游標主要包含以下操作:execute(sql[,parameters]):執(zhí)行一條SQL語句

executemany(sql,seq_of_parameters):對所有給定參數執(zhí)行同一條sql語句

close():關閉游標

fetchone():從結果中取一條記錄,并將游標指向下一條記錄

fetchmany():從結果中取多條記錄

fetchall():從結果中取出所有記錄

scroll():游標滾動浙江財經大學東方學院信息分院169.2.2SQLite安裝與使用通過游標對象,我們可以在sqlite3中完成建表、插入數據、查詢、修改、刪除等多種操作。浙江財經大學東方學院信息分院179.2.3SQLite實例演示(1)創(chuàng)建表

命令:cu.execute("CREATETABLE學生(學號varchar(10)PRIMARYKEY,姓名varchar(30),年齡integer)")說明:創(chuàng)建了表“學生”,包含3列,分別是學號(長度10位的字符串)、姓名(長度30位的字符串)、年齡(整數)。(2)插入數據命令:sql="INSERTINTO學生(學號,姓名,年齡)VALUES(\"1820410101\",\"張九林\",20)"cu.execute(sql)

說明:“學生”表插入一條記錄(1820410101,張九林,20)上面兩句可以直接合并,寫成:cu.execute(“INSERTINTO學生(學號,姓名,年齡)VALUES(\”1820410101\“,

\"張九林\",20)")

浙江財經大學東方學院信息分院189.2.3SQLite實例演示(3)查詢命令:values=cu.execute("select*from學生")說明:查詢“學生”表的所有記錄,結果存入變量values

(4)修改命令:cu.execute("update學生set年齡=25Where姓名='張九林'")

說明:將“學生”表中姓名為“張九林”的記錄年齡改為25浙江財經大學東方學院信息分院199.2.3SQLite實例演示(5)刪除記錄

命令:cu.execute("deletefrom學生")

說明:刪除“學生”表的所有記錄命令:cu.execute("deletefrom學生where姓名=’張九林’")

說明:刪除“學生”表中姓名是張九林的記錄(6)刪除整張表

命令:cu.execute("DROPtable學生")

說明:刪除“學生”表浙江財經大學東方學院信息分院209.2.3SQLite實例演示

(7)中文處理Python是unicode編碼,但數據庫對中文是使用GBK編碼,比如姓名變量含有

中文,則需要做unicode(姓名,"gbk")處理03綜合實例通過Sqlite3模塊完成對學生成績的管理。浙江財經大學東方學院信息分院22綜合實例通過Sqlite3模塊完成對學生成績的管理。新建數據庫xsgl.db,包含三張表xs、kc、cj,分別存儲學生信息、課程信息、成績信息。三張表的結構和記錄分別如圖所示:浙江財經大學東方學院信息分院23綜合實例Python3.9內置數據庫SQLite3基本操作步驟一般包括:連接數據庫獲取數據庫游標確定SQL語句執(zhí)行SQL提交關閉連接浙江財經大學東方學院信息分院24綜合實例代碼如下:浙江財經大學東方學院信息分院25綜合實例浙江財經大學東方學院信息分院26綜合實例如果輸入記錄比較多,我們可以預先把學生記錄導入學生表.txt,課程記錄導入課程表.txt,成績記錄導入成績表.txt,通過txt文件產

溫馨提示

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

評論

0/150

提交評論