How do I pull data from an SQLite daatbase into Matlab workspace
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi I have somehow managed to put together some python code to retrieve data in an SQL lite database, I know which to pull that same data from the SQLite data base into the Matlab workspace. Do I merely connect to the database using 'conn' and then use 'fetch'? Is there another means by which I can pull the data into a cell array structure?
0 comentarios
Respuestas (1)
Kojiro Saito
el 5 de Sept. de 2017
4 comentarios
Maurilio Matracia
el 7 de En. de 2021
That is an interesting issue, can you please help me to fix this? I've never used sqlite files so I guess I am missing something basic.
Thank you in advance
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/481288/image.png)
Christian Hager
el 25 de Feb. de 2021
Editada: Christian Hager
el 25 de Feb. de 2021
It seems your database is in a different location than your Matlab active directory. Below how I use it to get all table names and column names for each table.
%%%%% CONNECT %%%%%%%%%
dbfile = fullfile(path,'fj.sqlite');
conn = sqlite(dbfile);
%%%%% TABLES & COLUMNS %%%%%
query = 'SELECT * FROM sqlite_master WHERE type = "table"';
TableSet = fetch(conn,query);
DBA_Tables = TableSet(:,2:3); % col 2 and 3 both have table names
for i = 1:size(DBA_Tables,1)
query = ['SELECT sql FROM sqlite_master WHERE tbl_name = ','''',DBA_Tables{i,1},'''',' AND type = "table"'];
cols = fetch(conn,Query);
cols = regexp(cols,'(?<=")\w+(?=")','match');
DBA_Tables{i,2} = unique(cols{1})'; % replace table name cell with column names for each table
end
Ver también
Categorías
Más información sobre Database Toolbox en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!