Main Content


Execute SQL statement using PostgreSQL native interface database connection

Since R2020b



execute(conn,sqlquery) executes an SQL query that contains a non-SELECT SQL statement by using the relational database connection.


collapse all

Using the PostgreSQL native interface, create and execute a non-SELECT SQL statement that deletes a database table. The PostgreSQLDataSource data source configures a database connection to a PostgreSQL database.

This example uses a PostgreSQL database version 9.405 database and the libpq driver version 10.12.

Connect to the database using the data source name, user name, and password.

datasource = "PostgreSQLDataSource";
username = "dbdev";
password = "matlab";

conn = postgresql(datasource,username,password);

Load patient information into the MATLAB® workspace.

patients = readtable("patients.xls");

Create the patients database table using the patient information.

tablename = "patients";

Import the data from the patients database table.

data = sqlread(conn,tablename);

Delete the patients database table using the execute function.

sqlquery = strcat("DROP TABLE ",tablename);

Ensure that the table no longer exists.

data = sqlfind(conn,tablename)
data =

  0×5 empty table

Close the database connection.


Input Arguments

collapse all

PostgreSQL native interface database connection, specified as a connection object.

SQL statement, specified as a character vector or string scalar. The SQL statement can be any valid non-SELECT SQL statement.

The SQL statement can be a stored procedure that does not return any result sets. For stored procedures that return one or more result sets, use the fetch function.

For information about the SQL query language, see the PostgreSQL Documentation.

Example: "DROP TABLE patients"

Data Types: char | string

Version History

Introduced in R2020b