真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)

這篇文章主要講解了“怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)”吧!

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、河津網(wǎng)絡(luò)推廣、微信小程序開(kāi)發(fā)、河津網(wǎng)絡(luò)營(yíng)銷、河津企業(yè)策劃、河津品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供河津建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

導(dǎo)入和使用

這里我們說(shuō)“內(nèi)置”的意思就是,你甚至不需要運(yùn)行 pip install ,就能獲取庫(kù)。只需要通過(guò)以下方式導(dǎo)入:

import sqlite3 as sl

1.創(chuàng)建與數(shù)據(jù)庫(kù)的連接

我們根本不需要為驅(qū)動(dòng)程序、連接字符串等煩惱??梢灾苯觿?chuàng)建一個(gè) SQLite 數(shù)據(jù)庫(kù),并擁有一個(gè)簡(jiǎn)單的連接對(duì)象:

con = sl.connect('my-test.db')

運(yùn)行此行代碼后,我們就已經(jīng)創(chuàng)建并連接到該數(shù)據(jù)庫(kù)上。 如果要求Python連接的數(shù)據(jù)庫(kù)不存在,它就會(huì)自動(dòng)幫我們創(chuàng)建一個(gè)空數(shù)據(jù)庫(kù)。  如果我們已經(jīng)創(chuàng)建了數(shù)據(jù)庫(kù),就能用上面完全相同的代碼連接到現(xiàn)有數(shù)據(jù)庫(kù)。

怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)

2.創(chuàng)建表格

接下來(lái),我們先創(chuàng)建一個(gè)表格。

with con:     con.execute("""         CREATE TABLE USER (             id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,             name TEXT,             age INTEGER         );     """)

在這個(gè) USER 表中,我們添加了三列。正如我們所看到的,SQLite 確實(shí)是輕量級(jí)的,但是它支持常規(guī) RDBMS  應(yīng)該具有的所有基本特性,例如數(shù)據(jù)類型、可為null、主鍵和自動(dòng)遞增。

運(yùn)行這段代碼之后,我們就已經(jīng)創(chuàng)建好了一個(gè)表,盡管它什么都沒(méi)有輸出。

3.插入記錄

讓我們?cè)趧倓倓?chuàng)建的 USER 表中插入數(shù)據(jù)記錄,這也可以證明我們確實(shí)創(chuàng)建了它。

如果我們需要一次性插入多個(gè)記錄,Python中的SQLite也能很容易地實(shí)現(xiàn)這一點(diǎn)。

sql = 'INSERT INTO USER (id, name, age) values(?, ?, ?)' data = [     (1, 'Alice', 21),     (2, 'Bob', 22),     (3, 'Chris', 23) ]

我們需要用問(wèn)號(hào)作為占位符來(lái)定義SQL語(yǔ)句 。接下來(lái)就是創(chuàng)建一些要插入的示例數(shù)據(jù)。使用連接對(duì)象,就能插入這些示例行。

with con:     con.executemany(sql, data)

在運(yùn)行代碼之后,沒(méi)有報(bào)錯(cuò),那就是成功的。

4.查詢表格

接下來(lái),我們通過(guò)實(shí)際的方式來(lái)驗(yàn)證我們所做的一切,通過(guò)查詢表格來(lái)獲取示例行。

with con:     data = con.execute("SELECT * FROM USER WHERE age <= 22")     for row in data:         print(row)
怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)

你可以看到,很簡(jiǎn)單就得到了結(jié)果。

此外,盡管 SQLite 是輕量級(jí)的,但是作為一個(gè)廣泛使用的數(shù)據(jù)庫(kù),大多數(shù)SQL客戶端軟件都支持使用它。

我自己用得最多的是 DBeaver,接下來(lái)給大家介紹一下。

5.從SQL客戶端(DBeaver)連接到SQLite數(shù)據(jù)庫(kù)

因?yàn)槲矣玫氖?googlecolab,所以我要將 my-test.db 文件下載到我的本地計(jì)算機(jī)上。當(dāng)然,你也可以直接在你的電腦上使用 Python  數(shù)據(jù)庫(kù)連接你的本地?cái)?shù)據(jù)庫(kù)。

在 DBeaver 中,創(chuàng)建一個(gè)新連接并選擇 SQLite 作為數(shù)據(jù)庫(kù)類型。

怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)

然后,瀏覽DB文件。

怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)

現(xiàn)在你可以在數(shù)據(jù)庫(kù)上運(yùn)行任何SQL查詢,看看它與其他常規(guī)關(guān)系數(shù)據(jù)庫(kù)有什么不同。

怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)

與Pandas無(wú)縫連接

你以為就只有這些?不,事實(shí)上,作為Python的一個(gè)內(nèi)置特性,SQLite 可以與 Pandas 數(shù)據(jù)幀無(wú)縫連接。

讓我們先來(lái)定義一個(gè)數(shù)據(jù)幀。

df_skill = pd.DataFrame({     'user_id': [1,1,2,2,3,3,3],     'skill': ['Network Security', 'Algorithm Development', 'Network Security', 'Java', 'Python', 'Data Science', 'Machine Learning'] })
怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)

然后,我們可以簡(jiǎn)單地調(diào)用數(shù)據(jù)幀的to_sql()方法將其保存到數(shù)據(jù)庫(kù)中。

df_skill.to_sql('SKILL', con)

就這樣我們甚至不需要預(yù)先創(chuàng)建表,列的數(shù)據(jù)類型和長(zhǎng)度都會(huì)被推斷出來(lái)。當(dāng)然,如果你想的話,你也可以先定義。

然后,假設(shè)我們要將表 USER 和 SKILL 連接在一起,并將結(jié)果讀入Pandas數(shù)據(jù)框。

df = pd.read_sql('''     SELECT s.user_id, u.name, u.age, s.skill      FROM USER u LEFT JOIN SKILL s ON u.id = s.user_id ''', con)
怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)

是不是很厲害?讓我們把結(jié)果寫到一個(gè)名為USER_SKILL的新表中。

df.to_sql('USER_SKILL', con)

我們也可以用SQL客戶端來(lái)檢索表。

怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)

感謝各位的閱讀,以上就是“怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


分享名稱:怎么使用Python內(nèi)置數(shù)據(jù)庫(kù)
路徑分享:http://weahome.cn/article/gehsgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部