MATLAB通过JDBC连接SQLite数据库
原文地址:http://blog.macro2.org/2011-03/110328-matlab%E9%80%9A%E8%BF%87jdbc%E8%BF%9E%E6%8E%A5sqlite%E6%95%B0%E6%8D%AE%E5%BA%93.html
SQLite是一个很简单的轻量级文件数据库。其数据库就是一个文件,读写数据库也只要用一个可执行文件即可搞定。由于它的方便性,现在的应用已经灰常广泛,例如在PHP(5.0,似乎)中已经内置了对SQlite的支持,而Android中的数据管理用的也是这个。
闲话打住。这个博文主要讲的是在Matlab中用JDBC连接SQLite数据库。
第一步,咱们总得建立一个SQLite数据库吧。建立的办法很简单,首先到 http://www.sqlite.org (或者Google搜索),下载Zip文件,解压缩,其实我们只需要用到其中的 SQLite3.exe 就可以建立一个SQLite数据库了。
打开Windows的命令行,运行
sqlite3 z:/work/test.db
启动了SQLite环境,并同时打开(新建)位于z:/Work目录下的叫做test.db的数据库文件。
然后向该数据库中建立一个table,名字叫做mytst,输入命令:
create table mytst(id integer, name char(30), score1 real, score2 real);
此Table中包含4个Column,注意:最后的分号别丢了。
然后向其中添加两条记录:
insert into mytst values(1,'zhangsan',88.5,90);
insert into mytst values(2,'lisi',98.5,92);
搞定收工,输入
.quit
退出SQLite3环境。此时,这个数据库建立完毕。
第二步,我们需要下载用于连接SQLite的JDBC驱动。到下面的地址:http://www.zentus.com/sqlitejdbc/ (或者谷歌SqliteJDBC)
下载其中的"sqlitejdbc-v056.jar",(我下载的是v056版本,可能有新版),保存到硬盘某个地方。
第三步,向Matlab的ClassPath.txt文件中添加sqlitejdbc-v056.jar的路径。具体做法请参考前一个博文"Matlab通过JDBC连接SQL Server"
第四步,打开Matlab,建立一个到SQLite数据库的连接。语法是
conn=database('test.db','','','org.sqlite.JDBC','jdbc:sqlite:z:/work/test.db');
如果 ping(conn) 不出问题的话,这个连接就建立成功了。要读取刚才输入的两条记录,可以使用下面的语句:
curs=exec(conn,'select * from mytst');
curs=fetch(curs);
读取的数据就保存在curs.Data中。
PS:关于性能
由于SQLite直接对文件读写,所以如果你需要一条一条向数据库中写记录的时候最好将此连接的AutoCommit属性设置为Off,语句是:
set(conn,'AutoCommit','off')
Ashbey备注:set(conn,'AutoCommit','off')以后matlab不自动提交,千万记得需要定期或者不定期的commit(conn);否则程序报错之前传的数据就没有了。
SQLite是一个很简单的轻量级文件数据库。其数据库就是一个文件,读写数据库也只要用一个可执行文件即可搞定。由于它的方便性,现在的应用已经灰常广泛,例如在PHP(5.0,似乎)中已经内置了对SQlite的支持,而Android中的数据管理用的也是这个。
闲话打住。这个博文主要讲的是在Matlab中用JDBC连接SQLite数据库。
第一步,咱们总得建立一个SQLite数据库吧。建立的办法很简单,首先到 http://www.sqlite.org (或者Google搜索),下载Zip文件,解压缩,其实我们只需要用到其中的 SQLite3.exe 就可以建立一个SQLite数据库了。
打开Windows的命令行,运行
sqlite3 z:/work/test.db
启动了SQLite环境,并同时打开(新建)位于z:/Work目录下的叫做test.db的数据库文件。
然后向该数据库中建立一个table,名字叫做mytst,输入命令:
create table mytst(id integer, name char(30), score1 real, score2 real);
此Table中包含4个Column,注意:最后的分号别丢了。
然后向其中添加两条记录:
insert into mytst values(1,'zhangsan',88.5,90);
insert into mytst values(2,'lisi',98.5,92);
搞定收工,输入
.quit
退出SQLite3环境。此时,这个数据库建立完毕。
第二步,我们需要下载用于连接SQLite的JDBC驱动。到下面的地址:http://www.zentus.com/sqlitejdbc/ (或者谷歌SqliteJDBC)
下载其中的"sqlitejdbc-v056.jar",(我下载的是v056版本,可能有新版),保存到硬盘某个地方。
第三步,向Matlab的ClassPath.txt文件中添加sqlitejdbc-v056.jar的路径。具体做法请参考前一个博文"Matlab通过JDBC连接SQL Server"
第四步,打开Matlab,建立一个到SQLite数据库的连接。语法是
conn=database('test.db','','','org.sqlite.JDBC','jdbc:sqlite:z:/work/test.db');
如果 ping(conn) 不出问题的话,这个连接就建立成功了。要读取刚才输入的两条记录,可以使用下面的语句:
curs=exec(conn,'select * from mytst');
curs=fetch(curs);
读取的数据就保存在curs.Data中。
PS:关于性能
由于SQLite直接对文件读写,所以如果你需要一条一条向数据库中写记录的时候最好将此连接的AutoCommit属性设置为Off,语句是:
set(conn,'AutoCommit','off')
Ashbey备注:set(conn,'AutoCommit','off')以后matlab不自动提交,千万记得需要定期或者不定期的commit(conn);否则程序报错之前传的数据就没有了。
热门话题 · · · · · · ( 去话题广场 )
- 我们为什么需要书店? 2.7万次浏览
- 解锁我的夏日旅行足迹地图 活动 65.4万次浏览
- 你有哪些保持精力充沛的方法? 1.2万次浏览
- 淡人穿搭实录 新话题
- 我这偷感十足的一生 4490次浏览
- 打工人穿搭实录 新话题