91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Python內置數據庫

發布時間:2021-10-29 15:42:46 來源:億速云 閱讀:370 作者:iii 欄目:編程語言

這篇文章主要講解了“怎么使用Python內置數據庫”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么使用Python內置數據庫”吧!

導入和使用

這里我們說“內置”的意思就是,你甚至不需要運行 pip install ,就能獲取庫。只需要通過以下方式導入:

import sqlite3 as sl

1.創建與數據庫的連接

我們根本不需要為驅動程序、連接字符串等煩惱。可以直接創建一個 SQLite 數據庫,并擁有一個簡單的連接對象:

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

運行此行代碼后,我們就已經創建并連接到該數據庫上。 如果要求Python連接的數據庫不存在,它就會自動幫我們創建一個空數據庫。  如果我們已經創建了數據庫,就能用上面完全相同的代碼連接到現有數據庫。

怎么使用Python內置數據庫

2.創建表格

接下來,我們先創建一個表格。

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

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

運行這段代碼之后,我們就已經創建好了一個表,盡管它什么都沒有輸出。

3.插入記錄

讓我們在剛剛創建的 USER 表中插入數據記錄,這也可以證明我們確實創建了它。

如果我們需要一次性插入多個記錄,Python中的SQLite也能很容易地實現這一點。

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

我們需要用問號作為占位符來定義SQL語句 。接下來就是創建一些要插入的示例數據。使用連接對象,就能插入這些示例行。

with con:     con.executemany(sql, data)

在運行代碼之后,沒有報錯,那就是成功的。

4.查詢表格

接下來,我們通過實際的方式來驗證我們所做的一切,通過查詢表格來獲取示例行。

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

你可以看到,很簡單就得到了結果。

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

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

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

因為我用的是 googlecolab,所以我要將 my-test.db 文件下載到我的本地計算機上。當然,你也可以直接在你的電腦上使用 Python  數據庫連接你的本地數據庫。

在 DBeaver 中,創建一個新連接并選擇 SQLite 作為數據庫類型。

怎么使用Python內置數據庫

然后,瀏覽DB文件。

怎么使用Python內置數據庫

現在你可以在數據庫上運行任何SQL查詢,看看它與其他常規關系數據庫有什么不同。

怎么使用Python內置數據庫

與Pandas無縫連接

你以為就只有這些?不,事實上,作為Python的一個內置特性,SQLite 可以與 Pandas 數據幀無縫連接。

讓我們先來定義一個數據幀。

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內置數據庫

然后,我們可以簡單地調用數據幀的to_sql()方法將其保存到數據庫中。

df_skill.to_sql('SKILL', con)

就這樣我們甚至不需要預先創建表,列的數據類型和長度都會被推斷出來。當然,如果你想的話,你也可以先定義。

然后,假設我們要將表 USER 和 SKILL 連接在一起,并將結果讀入Pandas數據框。

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內置數據庫

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

df.to_sql('USER_SKILL', con)

我們也可以用SQL客戶端來檢索表。

怎么使用Python內置數據庫

感謝各位的閱讀,以上就是“怎么使用Python內置數據庫”的內容了,經過本文的學習后,相信大家對怎么使用Python內置數據庫這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜丰县| 越西县| 安阳市| 剑川县| 南丹县| 大石桥市| 绥阳县| 建始县| 和田县| 布拖县| 昌平区| 安丘市| 嘉禾县| 裕民县| 宁波市| 武宣县| 沾益县| 游戏| 杭锦后旗| 汕头市| 隆回县| 湖北省| 绵竹市| 潢川县| 衡东县| 东丰县| 双鸭山市| 沛县| 澜沧| 工布江达县| 界首市| 兴安盟| 双柏县| 偃师市| 青海省| 恩平市| 洪洞县| 宁远县| 海原县| 大石桥市| 罗田县|