Python程序設(shè)計(jì)入門與實(shí)戰(zhàn) 課件 11、Python中的數(shù)據(jù)庫編程_第1頁
Python程序設(shè)計(jì)入門與實(shí)戰(zhàn) 課件 11、Python中的數(shù)據(jù)庫編程_第2頁
Python程序設(shè)計(jì)入門與實(shí)戰(zhàn) 課件 11、Python中的數(shù)據(jù)庫編程_第3頁
Python程序設(shè)計(jì)入門與實(shí)戰(zhàn) 課件 11、Python中的數(shù)據(jù)庫編程_第4頁
Python程序設(shè)計(jì)入門與實(shí)戰(zhàn) 課件 11、Python中的數(shù)據(jù)庫編程_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python中的數(shù)據(jù)庫編程《智能車Python編程設(shè)計(jì)》課程大綱數(shù)據(jù)庫編程接口連接對象游標(biāo)對象SQLite數(shù)據(jù)庫SQLite數(shù)據(jù)庫簡介創(chuàng)建數(shù)據(jù)庫文件操作SQLite數(shù)據(jù)庫MySQL數(shù)據(jù)庫數(shù)據(jù)庫管理軟件連接數(shù)據(jù)庫操作MySQL數(shù)據(jù)庫表增刪改查數(shù)據(jù)庫編程接口數(shù)據(jù)庫編程接口操作數(shù)據(jù)庫的流程連接對象:提供獲取數(shù)據(jù)庫游標(biāo)對象和提交、回滾事務(wù)的方法,以及關(guān)閉數(shù)據(jù)庫連接。

方法:使用connection()函數(shù)

調(diào)用close()關(guān)閉數(shù)據(jù)庫

調(diào)用commit()方法提交事務(wù)

調(diào)用rollback()方法回滾事務(wù)游標(biāo)對象:用于指示抓取數(shù)據(jù)操作的上下文,主要提供執(zhí)行SQL語句、調(diào)用存儲過程、獲取查詢結(jié)果等的方法。獲取cursor對象創(chuàng)建connection對象關(guān)閉connection關(guān)閉cursor執(zhí)行SQL語句操作數(shù)據(jù)結(jié)束開始SQLite數(shù)據(jù)庫SQLite數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫文件使用SQLite創(chuàng)建數(shù)據(jù)庫,名字為test.db;在數(shù)據(jù)庫中創(chuàng)建一個數(shù)據(jù)表,表中信息有學(xué)號和名字兩個字段,示例:importsqlite3#連接數(shù)據(jù)庫(若不存在,會自動創(chuàng)建)test=sqlite3.connect("test.db")#創(chuàng)建一個cursorcursor=test.cursor()#執(zhí)行SQL語句,創(chuàng)建數(shù)據(jù)表cursor.execute('createtabletest(idint(20)primarykey,namevarchar(30))')#關(guān)閉游標(biāo)cursor.close()#關(guān)閉連接test.close()SQLite數(shù)據(jù)庫操作SQLite數(shù)據(jù)庫新增數(shù)據(jù):可以使用SQL語句向數(shù)據(jù)表新增數(shù)據(jù),語法:insertinto表名(字段名1,字段名2,字段名3,...)values(字段值1,字段值2,字段值3,...)insertinto:SQL的關(guān)鍵詞,指將新的數(shù)據(jù)行添加到指定的表中表名:指要插入數(shù)據(jù)行的數(shù)據(jù)表的名稱。字段名*:插入操作中涉及的表中的列名,括號內(nèi)的列名是要插入數(shù)據(jù)的字段列表。values:SQL的關(guān)鍵詞,緊隨其后的是要插入的各字段的具體值。字段值*:與前面字段名一一對應(yīng)的值,它們將被插入指定的列中。

SQLite數(shù)據(jù)庫操作SQLite數(shù)據(jù)庫查詢數(shù)據(jù):可以使用SQL語句查詢數(shù)據(jù)表中的數(shù)據(jù),語法:select字段名,字段名2,字段名3,...from表名where查詢條件查詢數(shù)據(jù)的方式有下列幾種:fetchone():查詢一條數(shù)據(jù),返回一個元組。fetchmany(size):查詢指定條數(shù)的數(shù)據(jù),默認(rèn)為1,返回一個列表,列表中包含元組。fetchall():查詢所有數(shù)據(jù),返回一個列表,列表中包含若干個元組。SQLite數(shù)據(jù)庫操作SQLite數(shù)據(jù)庫修改數(shù)據(jù):修改數(shù)據(jù)表中數(shù)據(jù)的SQL語法如下:update表名set字段名=字段值where查詢條件刪除數(shù)據(jù):刪除數(shù)據(jù)表中數(shù)據(jù)的SQL語法如下:deletefrom表名where查詢條件MySQL數(shù)據(jù)庫MySQL數(shù)據(jù)庫數(shù)據(jù)庫管理軟件NavicatforMySQL是一款用戶即使不具備深厚的SQL語言功底,也能輕松實(shí)現(xiàn)對數(shù)據(jù)庫的全面管理和操控的數(shù)據(jù)庫管理軟件。連接數(shù)據(jù)庫:使用PyMySQL庫在Python環(huán)境中建立與數(shù)據(jù)庫的連接importpymysql#打開數(shù)據(jù)庫連接#主要參數(shù):主機(jī)名、數(shù)據(jù)庫名稱、用戶名、密碼connet=pymysql.connect(host="localhost",database="student",user="root",password="123456")cursor=connet.cursor()#創(chuàng)建游標(biāo)對象#執(zhí)行SQL查詢cursor.execute("selectVERSION()")data=cursor.fetchone()data=cursor.fetchone()print("數(shù)據(jù)庫版本號:{0}".format(data))connet.close()#關(guān)閉數(shù)據(jù)庫連接MySQL數(shù)據(jù)庫數(shù)據(jù)庫管理軟件創(chuàng)建數(shù)據(jù)表:創(chuàng)建一個名為“info”的數(shù)據(jù)表sql="""createtableinfo(idint(10)NOTNULLAUTO_INCREMENT,

namevarchar(30)NOTNULL,sexvarchar(10)NOTNULL,

PRIMARYKEY(id))ENGINE=MyISAMAUTO_INCREMENT=1DEFAULTCHARSET=utf8;"""cursor.execute(sql)MySQL數(shù)據(jù)庫操作MySQL數(shù)據(jù)表MySQL數(shù)據(jù)表的操作主要包括數(shù)據(jù)的添加、查詢、修改或更新及刪除。添加數(shù)據(jù):向MySQL數(shù)據(jù)表中插入數(shù)據(jù)時通常使用INSERTINTOSQL語句,語法:INSERTINTOtable_name(field1,field2,...fieldN) VALUES (value1,value2,...valueN)MySQL數(shù)據(jù)庫查詢數(shù)據(jù):同SQLite一樣,查詢方式主要有三種,分別如下:fetchall:獲取當(dāng)前SQL語句能查出來的全部數(shù)據(jù)。

示例:data=cursor.fetchall()#查詢所有數(shù)據(jù)fetchone:每次獲取一條數(shù)據(jù),但是獲取到這條數(shù)據(jù)后,指針會移向被查詢的這條數(shù)據(jù)的下一行數(shù)據(jù)。

示例:data=cursor.fetchone()#查詢一條數(shù)據(jù)fetchmany(size):查詢?nèi)我舛鄺l數(shù)據(jù),默認(rèn)為1。

示例:data=cursor.fetchmany(2)#查詢兩條數(shù)據(jù)MySQL數(shù)據(jù)庫修改或更新數(shù)據(jù)數(shù)據(jù)庫的“修改”或“更新數(shù)據(jù)”是指在已經(jīng)存在的數(shù)據(jù)庫表中改變特定記錄的一個或多個字段的值的過程。將info表中id為“2030201”的name字段值改為“小紅”,示例: #執(zhí)行SQL語句,修改數(shù)據(jù)

sql=f"updateinfosetname='小紅'whereid=2030201;" #執(zhí)行SQL語句

cursor.execute(sql) #執(zhí)行完要提交

mit() print("修改成功")MySQL數(shù)據(jù)庫刪除數(shù)據(jù)數(shù)據(jù)庫的“刪除數(shù)據(jù)”是指從數(shù)據(jù)庫表中移除一個或多個特定記錄的過程,用于清理不再需要或已無效的信息。把info表中name字段的字段值為“張

溫馨提示

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

最新文檔

評論

0/150

提交評論