两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

        前面幾節(jié)我們初步認(rèn)識了數(shù)據(jù)庫,我們想要把數(shù)據(jù)庫連接到程序中,還是需要一個(gè)模塊,我們使用PyMySQL模塊來進(jìn)行連接,安裝它的命令為:pip install PyMySQL,如果安裝失敗可以使用下面的命令:pip install pymysql -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com安裝完成如圖所示。

對象和游標(biāo)

        安裝完成后我們再來講解一下為什么數(shù)據(jù)庫都下載好了還需要再安裝一個(gè)模塊,因?yàn)槲覀兊臄?shù)據(jù)庫是存放在我們的電腦上的,這就等于你有一個(gè)U盤,U盤里有很多數(shù)據(jù),但是U盤放到電腦旁邊是沒有辦法獲取其中的數(shù)據(jù)的,因此需要一個(gè)接口,通過這個(gè)接口電腦可以獲取到U盤中的數(shù)據(jù),我們下載的這個(gè)模塊就充當(dāng)這個(gè)接口的作用,把數(shù)據(jù)庫和我們的程序連接到一起。在我們學(xué)習(xí)數(shù)據(jù)庫操作之前,我們先了解一下連接對象的方法和游標(biāo)對象。

1. 連接對象的方法

        了解方法之前我們首先來了解一下連接對象,連接對象的功能就是負(fù)責(zé)對數(shù)據(jù)源的連接,連接成功之后我們才可以執(zhí)行數(shù)據(jù)庫的相關(guān)指令。

        Connection對象中有一些方法供我們使用,如下表:

函數(shù)功能
close()關(guān)閉數(shù)據(jù)庫連接
commit()提交事務(wù)
rollback()回滾數(shù)據(jù)庫事務(wù)
cursor()獲得cursor游標(biāo)對象

        在數(shù)據(jù)庫操作中,事務(wù)往往包含了讀寫的操作,如果把一個(gè)事務(wù)交給數(shù)據(jù)庫管理系統(tǒng),那么在當(dāng)前事務(wù)的所有操作未執(zhí)行完畢之前,該事務(wù)的所有數(shù)據(jù)都處在數(shù)據(jù)庫中,如果有操作未完成就需要進(jìn)行回滾操作,回到執(zhí)行前的操作,上面的幾種方法在我們是用數(shù)據(jù)庫的過程中會(huì)經(jīng)常遇到。

2. 游標(biāo)對象

        游標(biāo)(Cursor)是處理數(shù)據(jù)的一種方法,為了查看或者處理結(jié)果集中的數(shù)據(jù),游標(biāo)提供了在結(jié)果集中一次一行或者多行前進(jìn)或向后瀏覽數(shù)據(jù)的能力。游標(biāo)在數(shù)據(jù)庫管理系統(tǒng)中十分重要,創(chuàng)建游標(biāo)對象的方法有多種,下面我們來介紹游標(biāo)屬性及方法。

        游標(biāo)屬性有:

        Description:數(shù)據(jù)庫類型和值的相關(guān)信息。

        Rowcount:返回結(jié)果的行數(shù)統(tǒng)計(jì)信息。

        游標(biāo)方法如下圖:

方法功能
execute(sql[, parameters])執(zhí)行一條SQL語句
executemany(sql, seq_of_parameters)用于批量執(zhí)行SQL語句
fetchone()捕獲查詢結(jié)果集的下一行,返回單個(gè)序列,在沒有更多數(shù)據(jù)可用時(shí)不返回
fetchmany(size=cursor.arraysize)

搜索查詢結(jié)果的下一組行,返回列表。當(dāng)不可用行時(shí),將返回一個(gè)空列表。

fetchall()捕獲查詢結(jié)果的所有(剩余)行,返回列表。光標(biāo)的數(shù)組大小屬性可能會(huì)影響此操作的性能。如果沒有行,則返回空列表。
close()關(guān)閉當(dāng)前游標(biāo)
Callproc(procname,[,parameters])

執(zhí)行存儲(chǔ)過程,procname為存儲(chǔ)過程名,parameters為存儲(chǔ)過程提供的參數(shù)

connection.rollback()回滾從上一次調(diào)用 commit() 之后對數(shù)據(jù)庫所做的所有變動(dòng)
cursor.executescript(sql_script)接收到腳本會(huì)執(zhí)行多個(gè) SQL 語句,它首先執(zhí)行 COMMIT 語句,然后執(zhí)行作為參數(shù)傳入的 SQL 腳本
connection.executescript(sql_script)這是一個(gè)非標(biāo)準(zhǔn)的快捷方式,通過調(diào)用游標(biāo)()方法創(chuàng)建游標(biāo)對象,使用給定的sql_script調(diào)用游標(biāo)的executescript()方法,并返回游標(biāo)。
connection.total_changes()返回自數(shù)據(jù)庫連接打開以來被修改、插入或刪除的數(shù)據(jù)庫總行數(shù)

3. 總結(jié)

        本節(jié)我提到的這些是數(shù)據(jù)庫操作中比較常用的方法,在遇到相關(guān)問題的時(shí)候可以回頭翻看本節(jié)內(nèi)容,下面兩節(jié)我們先來學(xué)一種嵌入式數(shù)據(jù)庫SQLite,我們通過接口連接這種數(shù)據(jù)庫也可以進(jìn)行相關(guān)操作。


點(diǎn)贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程

從零到寫出一個(gè)爬蟲的Python編程課程

只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)