Skip to main content

MySQL Database

query​

Future<MySqlResponse> app.mysql.query({required String table, String? schema, String? instance, MySqlQueryOptions? options})

Query MySQL data. Supports field selection, pagination, sorting, and filter conditions.

Supported filter operators: eq (equal), neq (not equal), gt (greater than), gte (greater than or equal), lt (less than), lte (less than or equal), like (fuzzy match), in (in list), is (null check)

Parameters

table
String

Table name

schema
String?

Database name

instance
String?

Database instance identifier (requires schema)

options
MySqlQueryOptions?

Query options

Response

Future
MySqlResponse

Example

final result = await app.mysql.query(
table: 'users',
options: MySqlQueryOptions(
select: '*',
limit: 10,
offset: 0,
order: 'id.asc',
withCount: true,
),
);

if (result.isSuccess) {
print('Total: ${result.total}');
for (final row in result.data) {
print('Record: $row');
}
}

insert​

Future<MySqlWriteResponse> app.mysql.insert({required String table, required dynamic data, String? schema, String? instance, bool upsert = false, String? onConflict})

Insert data. Supports single and batch insert, as well as Upsert mode.

Parameters

table
String

Table name

data
dynamic

Insert data, single Map or batch List<Map>

schema
String?

Database name

instance
String?

Database instance identifier

upsert
bool

Whether to enable Upsert mode (default false)

onConflict
String?

Upsert conflict field

Response

Future
MySqlWriteResponse

Example

final result = await app.mysql.insert(
table: 'users',
data: {'name': 'Zhang San', 'age': 25},
);

if (result.isSuccess) {
print('Insert successful');
}

update (MySQL)​

Future<MySqlWriteResponse> app.mysql.update({required String table, required Map<String, dynamic> data, required Map<String, String> filters, String? schema, String? instance})

Update MySQL data. WHERE condition is required.

Parameters

table
String

Table name

data
Map<String, dynamic>

Data to update

filters
Map<String, String>

WHERE condition (cannot be empty)

schema
String?

Database name

instance
String?

Database instance identifier

Response

Future
MySqlWriteResponse

Example

final result = await app.mysql.update(
table: 'users',
data: {'age': 26},
filters: {'name': 'eq.Zhang San'},
);

if (result.isSuccess) {
print('Update successful');
} else {
print('Update failed: ${result.message}');
}

delete (MySQL)​

Future<MySqlWriteResponse> app.mysql.delete({required String table, required Map<String, String> filters, String? schema, String? instance})

Delete MySQL data. WHERE condition is required.

Parameters

table
String

Table name

filters
Map<String, String>

WHERE condition (cannot be empty)

schema
String?

Database name

instance
String?

Database instance identifier

Response

Future
MySqlWriteResponse

Example

final result = await app.mysql.delete(
table: 'users',
filters: {'name': 'eq.Zhang San'},
);

if (result.isSuccess) {
print('Delete successful');
}

count​

Future<MySqlCountResponse> app.mysql.count({required String table, Map<String, String>? filters, String? schema, String? instance})

Count MySQL data records.

Parameters

table
String

Table name

filters
Map<String, String>?

Filter conditions

schema
String?

Database name

instance
String?

Database instance identifier

Response

Future
MySqlCountResponse

Example

final result = await app.mysql.count(
table: 'users',
filters: {'age': 'gt.18'},
);

if (result.isSuccess) {
print('Matching records: ${result.count}');
} else {
print('Count failed: ${result.message}');
}