#介绍#
基本上,这个脚本是一个围绕Matlab表的SQL包装器。对于那些刚接触Matlab并有“用SQL思考”习惯的人,或者那些需要完成复杂的数据操作任务并努力通过内置的表操作函数来实现这些任务的人来说,它特别有用。
#方法和用法#
“table_sql”函数接受单个输入参数,该参数必须是有效的SQL CRUD语句(DELETE、INSERT、SELECT或UPDATE),其中表名指的是主工作区中定义的普通Matlab表。
一旦解析了查询,脚本将设置一个SQLite数据库的内存实例,导入表,执行指定的SQL语句,将工作空间表与数据库同步,并返回结果。后者的内容取决于所执行的操作:
>表示SELECT语句,一个m × n的表,表示数据库返回的结果集;
>表示DELETE、INSERT和UPDATE语句,一个整数,表示受影响的行数。
# #例子
1)设置:
负载(病人的);
id =(1:元素个数(姓)。”;
t1 = table(ID,LastName,Gender,'VariableNames',{'ID' 'LastName' 'Gender'});
t2 = table(ID,Age,Height,Weight,'VariableNames',{'ID' 'Age' 'Height' 'Weight'});
2)选择(有和没有赋值):
t3 = table_sql('SELECT A. id, A. lastname, B. age FROM t1 A INNER JOIN t2 B ON B. id = A. id ');
table_sql('SELECT Age, AVG(Height) FROM t1 A INNER JOIN t2 B ON B.ID = A.ID GROUP BY Age ORDER BY Age');
3)修改:
ar = table_sql('DELETE FROM t1 WHERE Gender = "男性"');t1
ar = table_sql('UPDATE t2 SET年龄=年龄+ 1 WHERE年龄>= 40');t2
#笔记#
>该脚本需要一个SQLite JDBC驱动程序,可以从以下链接下载:https://bitbucket.org/xerial/sqlite-jdbc/downloads/.“.jar”文件必须放在脚本文件夹中。
>被查询表的列类型规范化如下:分类和字符串变成字符数组,逻辑变成8位整数(字节),整数变成双精度。
引用作为
托马索Belluzzo(2021)。表的SQL(//www.tatmou.com/matlabcentral/fileexchange/68771-table-sql), MATLAB中央文件交换。检索.