2010-12-03 85 views
0

我剛剛下載了sqlite3.exe。它作爲命令提示符打開。我創建了一個表格測試&在其中插入了幾個條目。爲了以防萬一,我使用了.backup test。在使用.exit退出程序並重新打開之後,我找不到.tables下列出的表格,我也無法對其執行任何查詢。如何在sqlite 3中創建表?

我需要快速運行一個開源的python程序,利用這個表&儘管我已經與MySQL合作過,但我對於sqlite毫無頭緒。我需要sqlite的最基本的基礎知識。有人可以通過這個指導我,或者至少告訴我如何永久保存我的餐桌。

我已經把這個sqlite3.exe放在Python文件夾中,假設python能夠讀取sqlite文件。對此有何想法?

回答

4

sqlite is built in to Python
您應該能夠訪問你這樣的表:

import sqlite3 
conn = sqlite3.connect('/path/to/my.db') 
curs = conn.cursor() 
curs.execute("SELECT a_column FROM my_table;").fetchone() 
curs.close() 
conn.close() 

您可以從Python的執行你的DDL語句也是如此。
請確保commit的變化。

curs.execute("CREATE TABLE my_table (a_column text);") 
conn.commit() 
+0

如何創建第一個數據庫。我沒有任何my.db? – Gaurav 2010-12-03 19:09:02

+0

@Gaurav:`conn = sqlite3.connect('/ path/to/my.db')`會創建數據庫,如果它尚不存在。 – bernie 2010-12-03 19:11:54

0

剛執行sqlite3 foo.db?這將永久性地存儲你以後在這個文件中做的所有事情。 (不需要.backup。)

1

爲什麼你根本就下載了一些sqlite3.exe? Python應該與已經在船上的sqlite3一起發貨。只要你有最新的Python發行版,你只需要做import sqlite3。 對於你的問題:我猜想sqlite3默認在內存中創建一個表。使用Python,您需要dbConn = sqlite3.connect("somefile")連接到數據庫。然後你可以使用dbCursor = dbConn.cursor()連接到這個文件。遊標可以通過調用它的execute(command)方法來執行SQL命令。例如: dbConn.execute("create table test (row text, otherrow real)") 最後,您需要撥打dbConn.commit()來保存您在數據庫中更改的所有內容。 Python文檔知道其他一切: http://docs.python.org/library/sqlite3.html