Skip to main content

SQLite Python:创建新数据库

当您连接到不存在的SQLite数据库文件时,SQLite会自动为您创建新数据库。

要创建数据库,首先,必须使用sqlite3模块的connect()函数创建一个表示数据库的连接对象。

例如,下面的Python程序创建了一个新的数据库文件pythonsqlite。数据库位于c:\sqlite\db文件夹中。

import sqlite3
from sqlite3 import Error


def create_connection(db_file):
""" create a database connection to a SQLite database """
conn = None
try:
conn = sqlite3.connect(db_file)
print(sqlite3.version)
except Error as e:
print(e)
finally:
if conn:
conn.close()


if __name__ == '__main__':
create_connection(r"C:\sqlite\db\pythonsqlite.db")

在此代码中:

首先,我们定义一个名为create_connection()的函数,该函数连接到数据库文件db_file指定的SQLite数据库。在函数内部,我们调用sqlite3模块的connect()函数。

函数的作用是:打开与SQLite数据库的连接。它返回一个代表数据库的连接对象。通过使用连接对象,可以执行各种数据库操作。

如果发生错误,我们会在try-except块中捕获它并显示错误消息。如果一切正常,我们将显示SQLite数据库版本。

一个很好的编程实践是,在完成数据库连接时,应该始终关闭它。

其次,我们将数据库文件的路径传递给create_connection()函数以创建数据库。请注意,r“C:\sqlite\db\pythonsqlite.db”中的前缀r指示Python我们正在传递一个原始字符串。

让我们运行程序并检查c:\sqlite\db文件夹。

python sqlite create database

如果跳过文件夹路径c:\sqlite\db,程序将在当前工作目录(CWD)中创建数据库文件。

如果将文件名作为:memory:传递给sqlite3模块的connect()函数,它将创建一个驻留在内存(RAM)中的新数据库,而不是磁盘上的数据库文件。

下面的程序在内存中创建一个SQLite数据库。

import sqlite3
from sqlite3 import Error


def create_connection():
""" create a database connection to a database that resides
in the memory
"""
conn = None;
try:
conn = sqlite3.connect(':memory:')
print(sqlite3.version)
except Error as e:
print(e)
finally:
if conn:
conn.close()


if __name__ == '__main__':
create_connection()

在本教程中,您学习了如何使用sqlite3模块从Python程序在磁盘和内存中创建SQLite数据库。