當前位置:編程學習大全網 - 編程語言 - MATLAB怎樣連接MYSQL數據庫

MATLAB怎樣連接MYSQL數據庫

首先要安裝mysql驅動程序包

Step 1: 將mysql-connector-java-5.1.7-bin.jar文件拷貝到......\MATLAB\R2009a\java\jar\toolbox

Step 2: 到......\MATLAB\R2009a\toolbox\local目錄下,找到classpath.txt文件,打開,並添加用來加載mysql的jdbc驅動語句:

$matlabroot/java/jar/toolbox/mysql-connector-java-5.1.7-bin.jar

Step 3:重新打開MATLAB即可

驅動程序安裝成功後,接來下要是matlab連接mysql數據庫的代碼:

conn =database('databasename','username','password','driver','databaseurl')

連接成功後,返回連接對象。

參數如下:

*databasename: 數據庫名稱.

*driver: JDBC driver.

*username and password: 用戶名和密碼.

*databaseurl: 類似於jdbc:subprotocol:subname. subprotocol 是數據庫類型,

subname 類似於//hostname:port/databasename.

如果matlab和數據庫建立了連接,將返回類似於如下信息:

Instance: 'SampleDB'

UserName: ''

Driver: []

URL: []

Constructor: [1x1 com.mathworks.toolbox.database.databaseConnect]

Message: []

Handle: [1x1 sun.jdbc.odbc.JdbcOdbcConnection]

TimeOut: 0

AutoCommit: 'off'

Type: 'Database Object'

連接mysql的代碼如下:

conn = database('tissueppi','root','root','com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/tissueppi');

連接成功後,就可以用exec函數執行sql語句

exec函數執行sql語句並返回壹個開指針

語法如下:

curs = exec(conn,'sqlquery')

例如:curs = exec(conn, 'select * from customers')

執行完查詢後,還要將查詢結果從開放cursor對象導入到對象curs中,該功能是用

cursor.fetch函數實現的。

語法如下:

curs = fetch(curs)

使用curs.Data來顯示數據,curs.Data返回壹個CELL結構,可以先把CELL結構轉換成

MATRIX結構再取值:

cur =cell2mat(cur)

a=cur(1,1);

則查詢結果就加到了向量a中

註意:

在exec函數執行查詢過程中,有的sql語句要輸入變量,這時可使用strcat函數完成該

功能。

t = strcat(s1, s2, s3, ...)

for(t=1:10)

sql1 = strcat('select count(did) from rss_genepairs_u where gocc>=',num2str(t),' || gomf >= ',num2str(t),' || gobp >= ',num2str(t));

end

完整代碼如下:

conn = database('tissueppi','root','root','com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/tissueppi');

for t=0.5:0.01:0.91

for x=0.5:0.1:11

sql = strcat('select count(did) from rss_genepairs_x2 where score <=',num2str(x),' and did in(select did from rss_genepairs_u where gocc >=',num2str(t),' || gomf >= ',num2str(t),' || gobp >= ',num2str(t),')');

aTemp = exec(conn,sql);

aTemp = fetch(aTemp);

a = aTemp.Data;

a = cell2mat(a);

a= a(1,1);

end

end

  • 上一篇:為什麽人的壽命也是基因決定的
  • 下一篇:鼓勵別人戰勝病魔的名人名言
  • copyright 2024編程學習大全網