Insert Data into SQLite Database Table
This example shows how to import data from an SQLite database into MATLAB® using the MATLAB interface to SQLite, perform calculations on the data, and export the results to a database table.
The example assumes that you connect to an SQLite database that contains tables named salesVolume
and yearlySales
. The salesVolume
table contains the column names for each month. The yearlySales
table contains the column names Month
and SalesTotal
.
Create SQLite Connection
Create the SQLite connection conn
to the existing SQLite database file tutorial.db
. The SQLite connection is an sqlite
object.
dbfile = "tutorial.db";
conn = sqlite(dbfile);
Calculate Sum of Sales Volume for One Month
Import sales volume data for the month of March using the database connection. The salesVolume
database table contains sales volume data.
tablename = "salesVolume";
data = sqlread(conn,tablename);
Display the first three rows of sales volume data. The fourth variable contains the data for the month of March.
head(data(:,4),3)
March _____ 981 1414 890
Calculate the sum of the March sales. Assign the result to the MATLAB workspace variable total
and display the result.
total = sum(data.March)
total = 27609
Insert Total Sales for One Month into Database
Retrieve the name of the month from the sales volume data.
month = data.Properties.VariableNames(4);
Define the names of the columns for the data to insert as a string array.
colnames = ["Month" "SalesTotal"];
Create a MATLAB table that stores the data to export.
results = table(month,total,'VariableNames',colnames);
Determine the status of the AutoCommit
database flag. This status shows whether or not the insert action can be undone.
conn.AutoCommit
ans = 'on'
The AutoCommit
flag is set to on
. The database commits the exported data automatically to the database, and this action cannot be undone.
Insert the sum of sales for the month of March into the yearlySales
table.
tablename = "yearlySales";
sqlwrite(conn,tablename,results)
Import the data from the yearlySales
table. This data contains the calculated result.
data = sqlread(conn,tablename)
data=1×2 table
Month SalesTotal
_______ __________
"March" 27609
Close Database Connection
close(conn)