Skip to content

SQLite - 创建数据库

在 SQLite 中,您只需为其指定一个文件名即可创建数据库。sqlite3 命令行工具用于此目的。不需要特殊的服务器进程或权限。

创建数据库的基本语法是:

$ sqlite3 DatabaseName.db

如果文件 DatabaseName.db 不存在,SQLite 将创建它。如果它已经存在,SQLite 将打开它。

让我们创建一个名为 company.db 的新数据库。

$ sqlite3 company.db
SQLite version 3.40.1 2022-12-28 14:03:47
Enter ".help" for usage hints.
sqlite>

此命令将在当前目录中创建一个名为 company.db 的文件,并打开 SQLite 命令行 Shell,由 sqlite> 提示符指示。此文件就是您的数据库。

在 Shell 中,您可以使用 .databases 命令查看所有附加的数据库。main 数据库就是您刚刚打开的那个。

sqlite> .databases
seq name file
--- --------------- --------------------------
0 main /path/to/your/company.db

要退出 SQLite Shell,请使用 .quit 命令:

sqlite> .quit
$

重要提示: 当 Web 应用程序(例如用 PHP 编写的应用程序)需要创建或写入数据库时,Web 服务器的用户(例如 Debian/Ubuntu 上的 www-data,CentOS 上的 apache)必须对包含数据库文件的目录具有写入权限。

sqlite3 工具的一个强大功能是 .dump 命令。它将整个数据库模式(schema)和数据导出为纯文本 SQL 脚本。这是创建人类可读备份的绝佳方式。

$ sqlite3 company.db .dump > company_backup.sql

此命令会创建一个名为 company_backup.sql 的文本文件,其中包含重建数据库所需的所有 CREATE TABLE 和 INSERT 语句。

您可以轻松地从该备份文件恢复数据库:

$ sqlite3 new_company.db < company_backup.sql

这项技术对于数据迁移、备份和数据库模式(schema)的版本控制非常宝贵。