一、導出 SQLite 數據庫
1. ?使用 SQLite 命令行工具
? ?打開終端(在 Linux 或 macOS 上)或命令提示符(在 Windows 上)。
? ?輸入sqlite3 your_database_name.db(將 your_database_name.db 替換為你的 SQLite 數據庫文件名)進入 SQLite 命令行界面。
? ?使用.mode csv命令將導出模式設置為 CSV(逗號分隔值)格式,這是一種通用的、易于導入 MySQL 的格式。
? ?對于每個表,使用.output table_name.csv(table_name 是表名)指定導出的 CSV 文件名,然后使用SELECT * FROM table_name;將表中的數據導出到 CSV 文件中。例如,如果你有一個名為 “users” 的表,可以執行:
.output users.csv
SELECT * FROM users;
? ?重復上述步驟,將 SQLite 數據庫中的所有表都導出為 CSV 文件。
2. ?使用圖形化工具(可選)
? ?有一些 SQLite 的圖形化管理工具,如 DB Browser for SQLite。
? ?打開工具并加載你的 SQLite 數據庫。
? ?找到導出功能,通常可以將表導出為 CSV 文件,操作過程相對直觀。
二、準備 MySQL 環境
1. ?創建新的 MySQL 數據庫
? ?登錄到 MySQL 服務器。如果是在本地,可以使用命令mysql -u username -p(username 是你的 MySQL 用戶名),然后輸入密碼。
? ?創建一個新的數據庫,例如CREATE DATABASE new_mysql_db;(將 new_mysql_db 替換為你想要的數據庫名稱)。
2. ?創建表結構
? ?分析 SQLite 數據庫中的表結構。你可以查看 SQLite 數據庫中的 schema,通常可以通過在 SQLite 命令行中使用.schema命令來獲取所有表的結構信息。
? ?根據 SQLite 的表結構,在 MySQL 中創建相應的表。需要注意的是,SQLite 和 MySQL 的數據類型有一些差異。例如,SQLite 的INTEGER類型在 MySQL 中通常也可以用INT類型來對應,但有些特殊的類型可能需要進行轉換。例如,SQLite 的TEXT類型可以對應 MySQL 的TEXT類型。
? ?例如,假設在 SQLite 中有一個表結構如下:
CREATE TABLE users (
? ? id INTEGER PRIMARY KEY,
? ? name TEXT,
? ? age INTEGER
);
? ?那么在 MySQL 中可以創建類似的表:
CREATE TABLE users (
? ? id INT PRIMARY KEY AUTO_INCREMENT,
? ? name VARCHAR(255),
? ? age INT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
? ?這里需要注意,MySQL 中添加了AUTO_INCREMENT屬性來自動增加主鍵值(類似于 SQLite 的PRIMARY KEY特性),并且指定了存儲引擎(如 InnoDB)和字符集(如 utf8mb4)。
三、將數據導入 MySQL
1. ?使用 MySQL 命令行導入 CSV 數據
? ?登錄到 MySQL 數據庫,進入你之前創建的數據庫,如USE new_mysql_db;。
? ?對于每個 CSV 文件,使用LOAD DATA INFILE命令導入數據。例如,要導入 “users.csv” 文件到 “users” 表中,可以執行:
LOAD DATA INFILE 'C:/path/to/users.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
? ?請將C:/path/to/users.csv替換為實際的 CSV 文件路徑。FIELDS TERMINATED BY ','指定了字段之間的分隔符是逗號,ENCLOSED BY '"'指定了字段的值被雙引號包圍(這是 CSV 文件常見的格式)LINES TERMINATED BY '\n'指定了行的終止符是換行符。IGNORE 1 ROWS用于忽略 CSV 文件的第一行(通常是表頭)。
2. ?使用圖形化工具導入(可選)
? ?許多 MySQL 的圖形化管理工具,如 MySQL Workbench,也提供了導入 CSV 數據的功能。
? ?你可以通過工具的界面導入選項,選擇 CSV 文件和對應的目標表,然后按照向導完成數據導入。
在完成上述步驟后,你的 SQLite 數據庫就成功轉換為 MySQL 數據庫了。不過,在轉換過程中,要注意檢查數據的完整性和準確性,因為不同數據庫系統在某些細節上可能存在差異。