Main Content

Insert Data into Database Table

This example shows how to import data from a database into MATLAB®, perform calculations on the data, and export the results to a database table.

The example assumes that you are connecting to a Microsoft® Access™ database that contains tables namedsalesvolumeandyearlysales. Also, the example assumes that you start MATLAB as an administrator. Thesalesvolumetable contains the column names for each month. Theyearlysalestable contains the column namesmonthandsalestotal.

Connect to Database

Create a database connection to the Microsoft Access database. For example, this code assumes that you are connecting to a data source nameddbdemowith a blank user name and password.

conn = database('dbdemo','','');

Check the database connection. If theMessageproperty is empty, then the connection is successful.

conn.Message
ans = []

Calculate Sum of Sales Volume for One Month

Import sales volume data for the month of March using the database connection. Thesalesvolumedatabase 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)
ans = 3×1 table march _____ 981 1414 890

Calculate the sum of the March sales. Assign the result to the MATLAB workspace variabletotaland display the result.

total = sum(data.march)
total = 14606

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 cell array of character vectors.

colnames = {'month''salestotal'};

Create a MATLAB table that stores the data to export.

results = table(month,total,'VariableNames',colnames);

Determine the status of theAutoCommitdatabase flag. This status determines whether or not the insert action can be undone.

conn.AutoCommit
ans = '在'

TheAutoCommitflag is set toon. 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 theyearlysalestable.

tablename ='yearlysales'; sqlwrite(conn,tablename,results)

Import the data from theyearlysalestable. This data contains the calculated result.

data = sqlread(conn,tablename)
data = 1×3 table month salestotal revenue _______ __________ _______ 'march' 14606 0

Close Database Connection

close(conn)

See Also

|||

Related Topics