Python 資料庫開發系列(三):DB Browser介紹及操作

更新於 發佈於 閱讀時間約 6 分鐘

上一篇我們介紹了如何在Python中使用sqlite3進行SQLite資料庫的創建,並進行了簡易的驗證,結尾我們提到了:怎麼知道資料表真的建立成功了?有沒有更直觀的方式可以查看和管理資料庫?

於是我們這次要來介紹一個好用的工具──DB Browser for SQLite(DB4S)。

raw-image
DB Browser for SQLite (DB4S) is a high quality, visual, open source tool designed for people who want to create, search, and edit SQLite or SQLCipher database files. DB4S gives a familiar spreadsheet-like interface on the database in addition to providing a full SQL query facility. It works with Windows, macOS, and most versions of Linux and Unix.
─節錄自DB4S官網

DB4S簡單來說就是一個開源、具備圖形化介面、用於管理SQLite的工具,可以在比較直覺的介面上進行SQLite資料庫的建立、編輯、查詢等功能,不需要使用任何的SQL語法。

雖然DB4S功能強大且易於使用,但要注意的是,DB4S並不屬於資料庫管理系統(DBMS),因為DB4S並沒有DBMS的一些重要功能,如並行控制、伺服器架構、分散式架構、權限控制等。

安裝DB Browser

可至DB Browser的官網中的Download進行下載並安裝:

raw-image

可以依照自己的電腦作業系統(Windows、macOS)選擇對應的版本進行下載,順帶一提,在這篇文章中使用的是Windows 64位元的版本(3.13.1)。

安裝完成後打開DB Browser(SQLite)。

raw-image

建立資料庫

我們點選左上角的新建資料庫:

raw-image

選擇這個新資料庫的存放位置,並且命名這個資料庫檔案為Company後點選存檔。

這樣就已經成功建立了資料庫檔案(副檔名為db),同時也會跳出一個視窗:

raw-image

這個視窗用於建立一個Table,因為這時的資料庫是完全空白的狀態,這裡我們在上方輸入employee,並新增id、name及birthday三個欄位,並且將id設為主鍵(Primary Key)並自動增值(Auto Increment)、name為非空值(Not Null):

raw-image

這時候我們發現,在欄位的類型選項中並沒有DATE型態,因為SQLite本身的設計其實不強制用特定的日期型態,它可以是常見的YYYY-MM-DD型態(TEXT),也可以是時間戳記(INTEGER)或Julian格式(REAL)。但上一篇中的Python代碼中:

sqlite_command = """CREATE TABLE employee (
                    id INTEGER PRIMARY KEY,
                    name text NOT NULL,
                    birthday DATE
                );"""
cur.execute(sqlite_command)
con.commit()

為何這時使用DATE作為欄位型態不會出現Error呢?這是因為SQLite採用了靈活的型態系統,SQLite不會強制執行型態檢查,我們使用DATE作為欄位類型,但實際上還是會以TEXT、INTEGER或REAL來儲存資料,DATE僅僅是作為標示用途。

回歸正題,我們在這裡選擇使用TEXT作為birthday的類型後點選OK,我們就可以在資料表的展開列表中看到我們剛剛建立的employee。

新增資料

這時我們對employee點選右鍵選擇瀏覽資料表,

raw-image

這時我們就會進入瀏覽employee這張table的頁面,在這裡我們點選在目前的資料表中插入新紀錄:

raw-image

這時id欄位因為Auto Increment所以會自動填入1,name及birthday兩個欄位我們分別點選並輸入Jack及1999-01-01並按下Enter:

raw-image

這樣我們就在employee這張Table中新增了第一筆資料(紀錄),但是要注意,我們還未進行commit的動作,在commit之後我們所做的任何變更才會正確寫入進資料庫中。在這裡,我們點選寫入變更:

raw-image

之後我們的資料庫就真的存在了一筆id為1、name為Jack的資料。

驗證結果

現在,讓我們回到Python,使用sqlite3套件來進行簡單的驗證:

import sqlite3
con = sqlite3.connect("Company.db") #注意db檔案的儲存位置
cur = con.cursor()
cur.execute("SELECT * FROM employee;")
for row in cur.fetchall():
    print(row)

執行後我們會得到:

raw-image

可以得知這筆資料確實存在於Company這個資料庫的employee中。

下一步

現在,我們掌握了DB Browser的基本操作,並透過DB4S進行資料庫的建立及資料的插入,下一篇我們將回到Python,試著使用Python對資料進行插入、編輯及刪除。


留言
avatar-img
留言分享你的想法!
avatar-img
SlimeE的沙龍
0會員
5內容數
努力向上中,試著將所學的東西分享出來。
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
Thumbnail
古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News