SQLite3简单操作:从MySQL迁移到SQLite3
-- 假设我们已经有了一个名为`example`的MySQL数据库和一个名为`users`的表
-- 1. 创建SQLite数据库文件
PRAGMA foreign_keys = OFF;
BEGIN TRANSACTION;
CREATE TABLE sqlite_master(
type TEXT,
name TEXT,
tbl_name TEXT,
rootpage INTEGER,
sql TEXT
);
INSERT INTO sqlite_master(type, name, tbl_name, rootpage, sql) VALUES (
'table',
'users',
'users',
,
'CREATE TABLE users (\n id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\n username TEXT NOT NULL,\n password TEXT NOT NULL,\n email TEXT NOT NULL,\n created_at TEXT\n)'
);
-- 2. 转换MySQL表数据到SQLite
INSERT INTO users(id, username, password, email, created_at) SELECT
id,
username,
password,
email,
created_at
FROM
example.users;
COMMIT;
这个例子展示了如何将一个名为example
的MySQL数据库中的users
表转换为SQLite的表。首先,我们关闭了外键约束,并开始了一个事务。然后,我们创建了一个新的sqlite_master
表来模仿SQLite中的表元数据,并插入了一个表创建语句。最后,我们将MySQL中users
表的数据复制到SQLite的users
表中,并提交了事务。这个过程可以帮助开发者理解如何将现有的MySQL数据库迁移到SQLite,尤其是在数据量不是很大的情况下。
评论已关闭