資料庫遷移至SQLite及SQLite常用命令
Oracle遷移至SQLite
1. 從PL/SQL 中查詢你要的資料,然後匯出成CSV格式檔案;
也可以使用指令碼進行匯出CSV檔案,具體如下:
--set colsep ' || ';
set echo off;
set feedback off; --禁止顯示最後一行的計數反饋資訊
set heading off; --禁止輸出列標題
set pagesize 0; --設定顯示多少行列印一次列名
set linesize 1000;
set numwidth 12;
set termout off;
set trimout on; --清空多餘的空格
set trimspool on;
set newpage none; --沒有翻頁,輸出的檔案沒有空行
spool e:\name.csv;
--select col1||','||col2 from table_name;
select t.type_code||','||t.type_name from t_b_op_type t;
spool off;
2. 用記事本開啟CSV檔案。首先需要將 CSV 檔案處理下字符集的問題,眾所周知
sqlite 預設字符集 UTF-8 ,涉及中文的地方如果不設定那麼匯入sqlite的資料將會亂碼
右鍵選擇 CSV 檔案,開啟方式為記事本,將會看到如下資料
需要將第一行列去除,然後將分號 ” 同時去掉,最終結果為
下面這步最重要,將檔案另存為,最下方編碼選擇 UTF-8 ,然後另存到E盤根目錄即可。
2. 建立資料庫
執行cmd命令,在CMD下進入到SQLite資料夾,輸入sqlite3.exe mydata.db(資料庫名稱),
如不指定路徑,那麼 sqlite3 將會預設將資料庫檔案建立執行 sqlite3 的目錄中。(此過程不會產生db檔案)
sqlite3.exe mydata.db
3. 建立表
建表語句可以從 oracle 中複製即可。建表完畢,可以使用 .ta 命令檢視新建表是否成功。(此過程完後產生db檔案)
create table T_B_OP_TYPE…
.ta
4. csv 預設資料分割符為逗號 “,” 而 sqlite 預設資料分割符為 “|” ,先用 .show 命令確認下
.show
更改分隔符為”,” .separator “,”
再次確定 .show
.show
5. 匯入資料(.import //匯入命令)
.import 資料庫路徑\mydata.db
6. 驗證
select * from T_B_OP_TYPE; //分號不能少
OK,大功告成!
如果PC沒有安裝 sqlite ,這裡將 sqlite 操作交給 Android 手機來處理
SQL Server遷移至SQLite
貌似這個SQL_Server_To_SQLite_DB_Converter軟體很強大,此工具可轉換Sql Server資料庫為Sqlite資料,包括結構和資料,可以直接搞定!
SQL Server Address: 資料庫地址
Select DB:選擇資料庫
Sqlite Database File Path:Sqlite資料庫檔案儲存路徑;
Password:設定資料庫密碼
填寫好了,直接點選開始匯出即可!
SQLite 常用命令
在SQLite中,對大小寫是敏感的。那麼SQLite怎麼區分大小寫查詢呢,以下是三種解決方案:
方案一:使用大小寫轉換函式LOWER、UPPER
1.select * from test where UPPER(name) = 'ABC';
2.select * from test where LOWER(name) = LOWER('ABC');
方案二:在進行比較時強制宣告不區分大小寫
select * from test where name = 'ABC' COLLATE NOCASE;
方案三:建立表時宣告該欄位不區分大小寫
create table test (_id Integer,name Text COLLATE NOCASE );