4

我正在寻找任何使用 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

4 回答 4

7

你不需要(安装)任何额外的 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> 
于 2013-01-08T07:09:58.353 回答
3

Sqlite3 是 Python 常用的版本。如果你运行的是 Windows,你需要从官方页面下载 sqlite 下载。如果您使用的是基于 Ubuntu 或 Debian 的系统,那么它是预装的。

现在来到python,sqlite3是包名,它是python自带的,如果你没有找到它,那么apt-get install python-sqlite在Ubuntu系统上用命令安装它。

考虑到您使用的是 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()一次获取多行并存储在元组数据中。

于 2017-07-06T06:10:46.977 回答
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 的一些选项。

于 2014-04-02T19:41:15.190 回答
0

不,您不需要安装除 python-sqlite 之外的任何其他模块。

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

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

由于不会在当前工作目录中创建给定的绝对路径,即脚本中的目录正在运行。

于 2014-08-04T07:16:28.300 回答