- 前置作業
- 下載 SQLite (Windows)
請至 SQLite 官網下載
進入網址後,請在 Precompiled Binaries for Windows 的地方找 sqlite-shell-win32-x86-*.zip 下載後解壓縮- 下載 SQLite JDBC Driver
下載位置:SQLite JDBC
請抓 sqlite-jdbc-3.7.2.jar- 在 MATLAB 中加入 SQLite JDBC Driver
有兩種方法:
- 修改 C:\Program Files\MATLAB\R2012b\toolbox\local\classpath.txt
在最後加入 jar 檔的路徑,請注意路徑的需用 / 而不是 \
例: C:/SQLiteJDBC/sqlite-jdbc-3.7.2.jar- 在 MATLAB 中使用 javaaddpath 加入 jar 檔
- 在 MATLAB 中使用 SQLite 的方法
- 連結資料庫
語法:conn = database([資料庫路徑], '', '', 'org.sqlite.JDBC', 'jdbc:sqlite:[資料庫路徑]'); - 新增資料
語法:curs = exec(conn, 'insert into table (欄位1, 欄位2, ...) values (value1, value2, ...)'); - 查詢資料
語法:curs = exec(conn, 'select * from table'); curs = fetch(curs); rows = curs.Data; 則 rows 就是資料庫裡面所有符合的資料- 更改資料
語法:curs = exec(conn, 'update table set 欄位1 = value1 where 欄位2 = value2'); - 刪除資料
語法:curs = exec(conn, 'delete from table where 欄位 = value'); - 關閉資料庫
語法:close(conn); - 額外補充
由於在 MATLAB 中使用 SQLite 寫入資料的時候,會持續對 db 檔案進行修改,若想取得較好的效能,可將 AutoCommit 關閉,語法如下set(conn, 'AutoCommit', 'off'); 需要將資料寫入 db 檔的時候,再使用 commit 來將資料寫入conn.commit(); 使用情境:% 產生亂數資料 data = round(rand(1000, 1) * 1000); % 連接資料庫 conn = conn = database('test.db', '', '', 'org.sqlite.JDBC', 'jdbc:sqlite:c:/db/test.db'); % 關閉 AutoCommit set(conn, 'AutoCommit', off) for i = 1:size(data, 1) sql = sprintf('insert into table (column) values (%d)', data(i)); % 執行 sql 語法 curs = exec(conn, sql); end % 將資料寫入資料庫檔案 conn.commit(); % 關閉資料庫連線 close(conn); 參考來源
回首頁