如何使用sqlite3和Python

时间:2013-01-08 07:07:35

标签: python sqlite python-2.7

我正在寻找使用Python的任何数据库解决方案。并找到了教程Python: A Simple Step-by-Step SQLite Tutorial。在那里,我找到了一个代码示例,展示了如何创建数据库并插入一些数据:

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的数据库。如何创建该数据库?

如果有人帮助我解决这些困惑,我可以给这些新模块一个良好的开端。

由于

4 个答案:

答案 0 :(得分: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> 

答案 1 :(得分:1)

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.

至于你的计划:

import sqlite3 

conn = sqlite3.connect("test.db") # connect to test.db 
cursor = conn.cursor() # get a cursor to the sqlite database 
# cursor is the object here, you can use any name

# create a table
cursor.execute("""CREATE TABLE albums
                  (title text, artist text, release_date text, 
                   publisher text, media_type text)""")
# cursor.execute is used to execute any command to sqlite

我想介绍的更多功能是data = cursor.fetchone()来获取一行,data = cursor.fetchall()一次获取多行并存储在元组数据中。

答案 2 :(得分: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的一些选项。

答案 3 :(得分:0)

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

在Ubuntu上运行sudo apt-get install python-sqlite

另外,当您在上面的代码中看到一个名为mydatabase.db的数据库时。这是用于存储数据的文件的名称。 Sqlite仅以平面文件的形式存储数据。因此,此文件(" mydatabase.db"在本例中为#)将包含您的数据库架构和内容。

由于没有absoulute路径,因此将在当前工作目录中创建,即脚本中的目录正在运行。