2013-01-08 62 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()一次和元组数据存储提取大量行的。