Main Content

connection

MySQL native interface database connection

Since R2020b

Description

Create a connection to a MySQL® database using the MySQL native interface. Configure a MySQL native interface data source using the databaseConnectionOptions function. For details, see Configure MySQL Native Interface Data Source.

Creation

Create a connection object by using the mysql function.

Properties

expand all

This property is read-only.

Data source name, specified as a string scalar.

Example: "MySQLDataSource"

Data Types: string

This property is read-only.

Database name, specified as a string scalar.

If you use the 'DatabaseName' name-value pair argument of the mysql function, the mysql function sets the Database property of the connection object to the specified value.

Example: "toystore_doc"

Data Types: string

This property is read-only.

Server name, specified as a string scalar.

If you use the 'Server' name-value pair argument of the mysql function, the mysql function sets the Server property of the connection object to the specified value.

Example: "dbtb00"

Data Types: string

This property is read-only.

User name, specified as a string scalar.

Data Types: string

This property is read-only.

Default catalog, specified as a string scalar.

Example: "toy_store"

Data Types: string

This property is read-only.

Catalogs in database, specified as a string array.

Example: ["information", "mysql"]

Data Types: string

This property is read-only.

Schemas in database, specified as a string array.

Example: ["information_schema", "toys"]

Data Types: string

Flag to autocommit transactions, specified as one of these values:

  • "on" — Database transactions are automatically committed to the database.

  • "off" — Database transactions must be committed to the database manually.

You can set this property by using dot notation.

This property is read-only.

Login timeout, specified as a positive numeric scalar. The login timeout specifies the number of seconds that the driver waits while trying to connect to a database before throwing an error.

When no login timeout for the connection attempt is specified, the value is 0.

When a login timeout is not supported by the database, the value is -1.

Data Types: double

This property is read-only.

Maximum number of database connections, specified as a positive numeric scalar.

When the database has no upper limit to the maximum number of database connections, the value is 0.

When a maximum number of database connections is not supported by the database, the value is -1.

Data Types: double

This property is read-only.

Database product name, specified as a string scalar.

Example: "MySQL"

Data Types: string

This property is read-only.

Database product version, specified as a string scalar.

Example: "5.7.22"

Data Types: string

This property is read-only.

Driver name of the MySQL driver, specified as a string scalar.

Example: "Mariadb Connector/C"

Data Types: string

This property is read-only.

Driver version of the MySQL driver, specified as a string scalar.

Example: "3.2.5"

Data Types: string

Object Functions

expand all

closeClose MySQL native interface database connection
isopenDetermine if MySQL native interface database connection is open
sqlouterjoinOuter join between two MySQL database tables
sqlinnerjoinInner join between two MySQL database tables
sqlfindFind information about all table types in MySQL database
sqlreadImport data into MATLAB from MySQL database table
fetchImport results of SQL statement in MySQL database into MATLAB
executeSQLScriptExecute SQL script on MySQL database
sqlwriteInsert MATLAB data into MySQL database table
executeExecute SQL statement using MySQL native interface database connection
commitMake changes to MySQL database permanent
rollbackUndo changes to MySQL database
sqlupdateUpdate rows in MySQL database table

Examples

collapse all

Create a MySQL® native interface connection to a MySQL database. Then, import data from the database into MATLAB® and perform simple data analysis. Close the database connection.

This example assumes that you are connecting to a MySQL database using the MariaDB® C Connector driver.

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

datasource = "MySQLNative";
username = "root";
password = "matlab";

conn = mysql(datasource,username,password)
conn = 
  connection with properties:

                  DataSource: "MySQLNative"
                    UserName: "root"

  Database Properties:

                  AutoCommit: "on"
                LoginTimeout: 0
      MaxDatabaseConnections: 0

  Catalog and Schema Information:

              DefaultCatalog: "toy_store"
                    Catalogs: ["information_schema", "mysql", "performance_schema" ... and 3 more]
                     Schemas: []

  Database and Driver Information:

         DatabaseProductName: "MySQL"
      DatabaseProductVersion: "8.0.3-rc-log"
                  DriverName: "Mariadb Connector/C"
               DriverVersion: "3.2.5"

The property sections of the connection object are:

  • Database Properties — Information about the database configuration

  • Catalog and Schema Information — Names of catalogs and schemas in the database

  • Database and Driver Information — Names and versions of the database and driver

Import all data from the table inventoryTable into MATLAB using the sqlread function. Display the first three rows of data.

tablename = "inventoryTable";
data = sqlread(conn,tablename);
head(data,3)
    productNumber    Quantity    Price       inventoryDate    
    _____________    ________    _____    ____________________

          1            1700       15      23-Sep-2014 13:38:34
          2            1200        9      09-Jul-2014 02:50:45
          3             356       17      14-May-2014 11:14:28

Determine the highest product quantity from the table.

max(data.Quantity)
ans = 9000

Close the database connection conn.

close(conn)

Version History

Introduced in R2020b