1. 程式人生 > >資料庫遷移至SQLite及SQLite常用命令

資料庫遷移至SQLite及SQLite常用命令

Oracle遷移至SQLite

1. 從PL/SQL 中查詢你要的資料,然後匯出成CSV格式檔案;

clip_image002

也可以使用指令碼進行匯出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 檔案,開啟方式為記事本,將會看到如下資料

clip_image002[1]

需要將第一行列去除,然後將分號 ” 同時去掉,最終結果為

clip_image004

下面這步最重要,將檔案另存為,最下方編碼選擇 UTF-8 ,然後另存到E盤根目錄即可。

clip_image006

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資料,包括結構和資料,可以直接搞定!

clip_image002[3]

SQL Server Address: 資料庫地址

Select DB:選擇資料庫

Sqlite Database File Path:Sqlite資料庫檔案儲存路徑;

Password:設定資料庫密碼

填寫好了,直接點選開始匯出即可!

SQLite 常用命令

在SQLite中,對大小寫是敏感的。那麼SQLite怎麼區分大小寫查詢呢,以下是三種解決方案:
方案一:使用大小寫轉換函式LOWERUPPER
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 );