Skip to content

SQLite 数据库创建与连接

本文档详细介绍 SQLite 数据库的创建方法和连接方式。

数据库创建

使用 sqlite3 命令行工具创建

bash
# 创建新数据库
sqlite3 database.db

# 创建新数据库并执行初始化 SQL
sqlite3 database.db "CREATE TABLE users (id INT, name TEXT);"

在应用程序中创建

Python 示例

python
import sqlite3

# 创建或连接到数据库
conn = sqlite3.connect('database.db')
cursor = conn.cursor()

# 创建表
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INT, name TEXT)')

# 提交并关闭连接
conn.commit()
conn.close()

Java 示例

java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class SQLiteExample {
    public static void main(String[] args) {
        try {
            // 加载驱动
            Class.forName("org.sqlite.JDBC");
            
            // 创建或连接到数据库
            Connection conn = DriverManager.getConnection("jdbc:sqlite:database.db");
            
            // 创建表
            Statement stmt = conn.createStatement();
            String sql = "CREATE TABLE IF NOT EXISTS users (id INT, name TEXT)";
            stmt.executeUpdate(sql);
            
            // 关闭连接
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

数据库连接

本地连接

bash
sqlite3 database.db

内存数据库连接

bash
sqlite3 :memory:

网络连接

SQLite 不支持直接的网络连接,但可以通过以下方式实现:

  1. 文件共享:通过网络文件系统共享数据库文件
  2. 中间件:使用 SQLite 网络中间件(如 SQLiteServer、SQLite ODBC Driver)
  3. 应用程序层:在应用程序中实现数据库访问接口

数据库文件管理

数据库文件位置

  • 默认情况下,数据库文件创建在当前工作目录
  • 可以指定完整路径创建数据库文件
bash
sqlite3 /path/to/database.db

数据库文件备份

bash
# 简单复制备份
cp database.db database_backup.db

# 使用 sqlite3 命令备份
sqlite3 database.db ".backup 'database_backup.db'"

常见问题(FAQ)

Q: 如何创建内存数据库?

A: 使用 sqlite3 :memory: 命令或在连接字符串中指定 :memory:

Q: 如何查看当前连接的数据库文件?

A: 使用 .database 命令。

Q: 如何连接到远程 SQLite 数据库?

A: SQLite 不直接支持网络连接,可以通过文件共享或中间件实现。