While each Modus SDK offers similar capabilities, the APIs and usage may vary between languages.Modus MySQL APIs documentation is available on the following pages:
- AssemblyScript MySQL APIs(this page)
- Go MySQL APIs
Import
To begin, import themysql namespace from the SDK:
MySQL APIs
The APIs in themysql namespace are below, organized by category.
We’re constantly introducing new APIs through ongoing development with early
users. Please open an issue if
you have ideas on what would make Modus even more powerful for your next app!
Functions
execute
Execute a SQL statement against a MySQL database, without any data returned. Use this for insert, update, or delete operations, or for other SQL statements that don’t return data.The
execute function is for operations that don’t return data. However, some
insert/update/delete operations may still return data. In these cases, you can
use the queryScalar or query functions instead.Name of the connection, as defined in the
manifest.
SQL statement containing the query or mutation operation to execute.
While it’s possible to directly include parameter values into your SQL
statement, it’s highly recommended to pass a
Params object
instead. This can help to protect against injection attacks and other security
vulnerabilities.Optional parameters to include with the query.See the details of the
Params object for more information.query
Execute a SQL statement against a MySQL database, returning a set of rows. In the results, each row converts to an object of typeT, with fields matching
the column names.
Type of object to use for the data returned from the query. This can be any
type, including a custom type defined in your project. It should match the shape
of the row returned from the SQL query.
Define custom types in the app’s source code. In AssemblyScript, create classes
decorated with
@json.All types, including classes, base classes, and field types must be JSON
serializable. You can also use built-in types such as strings, numbers, arrays,
and maps.If working with MySQL’s point data type, you can use a Point or
Location object to represent the data.Name of the connection, as defined in the
manifest.
SQL statement containing the query or mutation operation to execute.
While it’s possible to directly include parameter values into your SQL
statement, it’s highly recommended to pass a
Params object
instead. This can help to protect against injection attacks and other security
vulnerabilities.Optional parameters to include with the query.See the details of the
Params object for more information.queryScalar
Execute a SQL statement against a MySQL database, returning a single scalar value. For example, the result could be a count, sum, or average, or it could be an identifier.Type of object to use for the data returned from the query. This should
generally be a scalar data type, such as a number or string. It should match
the type of the data returned from the SQL query.
Name of the connection, as defined in the
manifest.
SQL statement containing the query or mutation operation to execute.
While it’s possible to directly include parameter values into your SQL
statement, it’s highly recommended to pass a
Params object
instead. This can help to protect against injection attacks and other security
vulnerabilities.Optional parameters to include with the query.See the details of the
Params object for more information.Types
Location
Represents a location on Earth, havinglongitude and latitude coordinates.
Correctly serializes to and from MySQL’s point type, in (longitude, latitude)
order.
This class is identical to the Point class, but uses different field
names.
The longitude coordinate of the location, in degrees.
The latitude coordinate of the location, in degrees.
Params
A container for parameters to include with a SQL operation. To use this feature, create a newParams object and call the push method for
each parameter you want to include. Then pass the object to the execute,
query, or queryScalar function along with your SQL statement.
push(value)
Push a parameter value into the list included with the SQL operation. The
sequence of calls to
push determines the order of the parameters in the SQL
statement. This corresponds to the order of the ? placeholders or $1, $2,
etc.Serializes the parameters to a JSON string for inclusion in the SQL operation.
The SDK functions call this automatically when you pass a
Params object. You
typically don’t need to call it directly.Point
Represents a point in 2D space, havingx and y coordinates. Correctly
serializes to and from MySQL’s point type, in (x, y) order.
This class is identical to the Location class, but uses different
field names.
The x coordinate of the point.
The y coordinate of the point.
QueryResponse
Represents the response from aquery operation.
An error message, if an error occurred during the operation. Otherwise, this
field is
null.The number of rows affected by the operation, which typically corresponds to
the number of rows returned.
When inserting a row, this field contains the ID of the last inserted row.
This is useful for tables with auto-incrementing primary keys.
An array of objects, each representing a row returned from the query. Each
object has fields corresponding to the columns in the result set.
Response
Represents the response from anexecute operation. Also serves as
the base class for QueryResponse<T> and ScalarResponse<T>.
An error message, if an error occurred during the operation. Otherwise, this
field is
null.The number of rows affected by the operation.
When inserting a row, this field contains the ID of the last inserted row.
This is useful for tables with auto-incrementing primary keys.
ScalarResponse
Represents the response from aqueryScalar operation.
An error message, if an error occurred during the operation. Otherwise, this
field is
null.The number of rows affected by the operation, which is typically 1 for a
scalar query.
When inserting a row, this field contains the ID of the last inserted row.
This is useful for tables with auto-incrementing primary keys.
The scalar value returned from the query.