首先假设通过自定义的类MysqlConn连接数据库。连接对象名为conn。
用sqlwrite写入数据
sqlwrite(conn,tablename,data)
sqlwrite(conn,tablename,data,Name,Value)
execute()
在ODBC连接的数据库中,只有一种用法,执行非select的语句。
execute(conn, sqlquery)
例如,删除表格material
sqlquery = 'DROP TABLE material';
execute(conn, sqlquery);
或调用用户在MySQL中定义的存储过程create_table
execute(conn, 'create_table');
fetch
fetch是获得数据的函数。ODBC允许四种方法。
- 直接执行sql语句
results = fecth(conn, sqlquery);
在查询语句中,可以包含变量。方法为四个引号和字符串进行连接。
sqlquery = ['SELECT * FROM material WHERE mid = ' ''''mymid''''];
results = fetch(conn, sqlquery);
- 加入option
首先使用databaseImportOptions函数创建SQLImportOptions对象,控制输出选项;
通过SQLImportOptions对象的SelectedVariableNames属性,获取查询结果的列名。
getoptions函数输出每列的Name, Type和FillValue。FillValue指当字段为空时,填充的默认值。
setoptions为指定列查询出的结果控制格式(Type)。每列单独指定。
从opts中筛选出需要修改的列的名称。
opts = databaseImportOptions(conn, sqlquery);
vars = opts.SelectedVariableNames;
varOpts = getoptions(opts, vars);
opts = setoptions(opts, 'column1', 'Type', 'string');
opts.SelectedVariableNames = {'column1', 'column2', 'column3'};
result = fetch(conn, sqlquery, opts);
- 指定其他属性
为键值对形式。包括:
DataReturnFormat: table, cellarray, structure, numeric
MaxRows 数值形式
results = fetch(conn, sqlquery, 'DataReturnFormat', 'structure', 'MaxRows', 5);
- 返回查询结果和元数据
[results, metadata] = fetch(conn, sqlquery);
metadata类型是table。有四个properties:
metadata.Properties.RowNames;
metadata.Properties.VariableType;
metadata.Properties.FillValue;
metadata.Properties.MissingRows;
来源于matlab documentation