2013-01-08 93 views
2

我一直在尋找任何使用Python的數據庫解決方案。並找到了教程Python: A Simple Step-by-Step SQLite Tutorial。在那裏,我發現了一個代碼示例展示瞭如何創建一個數據庫,並插入一些數據:如何使用sqlite3和Python

import sqlite3 

conn = sqlite3.connect("mydatabase.db") # or use :memory: to put it in RAM 

cursor = conn.cursor() 

# create a table 
cursor.execute("""CREATE TABLE albums 
        (title text, artist text, release_date text, 
        publisher text, media_type text) 
       """) 

我完全陌生的sqlite3

  • 如果我想使用sqlite3是否需要安裝任何特定的Python模塊?
  • 在上面的代碼中,我可以看到一個名爲mydatabase.db的數據庫。我如何創建該數據庫?

如果有人幫助我從頭腦中清除這些混亂,我可以給這些新模塊一個好的開始。

感謝

+0

你爲什麼不檢查import sqlite3來確定? – thchand

+0

'conn = sqlite3.connect(「mydatabase.db」)'創建一個名爲'mydatabase.db'的數據庫。現在我的問題是如何刪除數據庫,如果我需要。 – CodeLover

回答

6

你不需要(安裝)任何額外的Python模塊使用sqlite3的。

如果數據庫不存在,它將通常在與腳本相同的目錄中自動創建。

在運行你的腳本,我得到這個: -

$ ls *.db 
ls: *.db: No such file or directory 

$ python test.py 

$ ls *.db 
mydatabase.db 

$ sqlite3 mydatabase.db 
SQLite version 3.7.7 2011-06-25 16:35:41 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> select * from sqlite_master; 
table|albums|albums|2|CREATE TABLE albums 
      (title text, artist text, release_date text, 
       publisher text, media_type text) 
sqlite> 
+0

我的第二個問題的答案是什麼? – CodeLover

+0

你有沒有試過在你的例子中運行代碼?怎麼了? – Talvalin

+0

請仔細閱讀本教程。它說你給我們展示的代碼實際上會創建數據庫! – DWright

0

對於澄清,並且出現在參考教程。 「Python在2.5版本中重新獲得了sqlite3模塊,這意味着您可以使用任何當前Python創建SQLite數據庫,而無需下載任何其他依賴項。」該文檔可在https://docs.python.org/2/library/sqlite3.html

我正在搜索這個問題,因爲我正在完成我的setup.py的'install_requires'部分,並希望確保包含sqlite3。

我注意到在Macports上,我需要明確安裝sqlite3和py27-sqlite。

一個簡單的方法來測試你的版本。

>>> import sqlite3 
>>> sqlite3.version 
'2.6.0' 

或任何安裝會顯示出來,或者你會得到一個ImportError如果沒有安裝版本。

通過一些快速搜索pysqlite你可以找到一些老版本的sqlite的選項。

0

不,你不需要安裝任何其他模塊,但python-sqlite。

在Ubuntu

也跑sudo apt-get install python-sqlite,當你在上面的代碼中看到看到一個名爲mydatabase.db一個數據庫。這是用於存儲數據的文件的名稱。 Sqlite僅以平面文件的形式存儲數據。所以這個文件(這裏是「mydatabase.db」)將包含你的數據庫模式和內容。

由於在當前工作目錄中沒有給出這個absoulute路徑,也就是腳本的目錄正在運行。

0

Sqlite3是Python常用的版本。如果您正在運行Windows,則需要下載sqlite download from official page。如果您使用的是基於Ubuntu或Debian的系統,那麼它是預安裝的。

現在來python,sqlite3是軟件包名稱,它包含在python中,如果您沒有找到它,請在Ubuntu系統上使用命令apt-get install python-sqlite安裝它。

考慮到您使用的是Ubuntu系統,只需鍵入sqlite3 test.db即可創建數據庫名稱test.db.

至於你的程序:

​​

很少有更多的功能,我想介紹的是data = cursor.fetchone()獲取一行,data = cursor.fetchall()一次和元組數據存儲提取大量行的。