Database operations¶
Insert¶
import 'package:sqlcool/sqlcool.dart';
Map<String, String> row = {
slug: "my-item",
name: "My item",
}
await db.insert(table: "category", row: row, verbose: true);
Required parameters:
| table: | String name of the table, required |
|---|---|
| row: | Map<String, String> data, required |
Optional parameter:
| verbose: | bool true or false |
|---|
Select¶
import 'package:sqlcool/sqlcool.dart';
List<Map<String, dynamic>> rows =
await db.select(table: "product", limit: 20, where: "name LIKE '%something%'",
orderBy: "price ASC");
Required parameter:
| table: | String name of the table, required |
|---|
Optional parameters:
| columns: | String the columns to select: default is “*” |
|---|---|
| where: | String the where sql clause |
| orderBy: | String the sql order by clause |
| groupBy: | String the sql group by clause |
| limit: | int the sql limit clause |
| offset: | int the sql offset clause |
| verbose: | bool true or false |
Update¶
import 'package:sqlcool/sqlcool.dart';
Map<String, String> row = {
slug: "my-item-new",
name: "My item new",
}
int updated = await db.update(table: "category", row: row, where: "id=1", verbose: true);
Required parameters:
| table: | String name of the table, required |
|---|---|
| row: | Map<String, String> data, required |
Optional parameters:
| where: | String the where sql clause |
|---|---|
| verbose: | bool true or false |
Delete¶
import 'package:sqlcool/sqlcool.dart';
await db.delete(table: "category", where: "id=1");
Required parameters:
| table: | String name of the table, required |
|---|---|
| where: | String the where sql clause |
Optional parameter:
| verbose: | bool true or false |
|---|
Upsert¶
import 'package:sqlcool/sqlcool.dart';
Map<String, String> row = {
slug: "my-item",
name: "My item",
}
await db.upsert(
table: "product",
row: row,
preserveRow: "category",
indexColumn: "id"
);
Required parameters:
| table: | String name of the table, required |
|---|---|
| row: | Map<String, String> data, required |
Optionnal parameters:
| preserveColumns: | |
|---|---|
| List<String> a list of columns to preserve, | |
the data in these columns will not be updated. Note: the indexColumn
parameter is required
when using this method (used to retrieve the existing data).
:indexColumn: String the reference index column use to retrieve
existing data in case of preserve
:verbose: bool true or false
Join¶
import 'package:sqlcool/sqlcool.dart';
List<Map<String, dynamic>> rows = await db.join(
table: "product", offset: 10, limit: 20,
columns: "id, name, price, category.name as category_name",
joinTable: "category",
joinOn: "product.category=category.id");
Required parameter:
| table: | String name of the table, required |
|---|
Optional parameters:
| columns: | String the select sql clause |
|---|---|
| where: | String the where sql clause |
| joinTable: | String join table name |
| joinOn: | String join on sql clause |
| orderBy: | String the sql order by clause |
| groupBy: | String the sql group by clause |
| limit: | int the sql limit clause |
| offset: | int the sql offset clause |
| verbose: | bool true or false |
Exists¶
import 'package:sqlcool/sqlcool.dart';
bool exists = await db.exists(table: "category", "id=3");
Required parameters:
| table: | String name of the table, required |
|---|---|
| where: | String the where sql clause |
Raw query¶
import 'package:sqlcool/sqlcool.dart';
List<Map<String, dynamic>> result = await db.query("SELECT * FROM mytable");
Required parameters:
| query: | String the sql query, required |
|---|---|
| verbose: | bool true or false |