Create file: pubspec.yaml
name: sqflite_app
version: 1.0.0
environment:
sdk: ^3.12.0
dependencies:
sqflite_common_ffi: ^2.4.2+1
path: ^1.9.1
sqfliteFfiInit();
databaseFactory = databaseFactoryFfi;
String path = join(await getDatabasesPath(), "store.db");
Database database = await openDatabase(path, version: 1, onCreate: (db, version) async{
await db.execute("""
CREATE TABLE Category (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
description TEXT NOT NULL
);
""");
await db.execute("""
INSERT INTO Category (id, name, description) VALUES
(1, 'Laptop', 'Máy tính xách tay'),
(2, 'Mouse', 'Chuột máy tính'),
(3, 'Keyboard', 'Bàn phím máy tính xách tay');
""");
});
List<Map<String, Object?>> list = await db.query('category');
for (Map<String, Object?> item in list) {
print('Id: ${item['id']}, name: ${item['name']}, description: ${item['description']}');
}
Or
List<Map<String, Object?>> list = await db.rawQuery('SELECT * FROM Category');
List<Map<String, Object?>> data = await db.query('category', where: 'id = ?', whereArgs: [1]);
Map<String, Object?> map = data.first;
int ret = await db.insert('Category', {'id': 4, 'name': 'SSD', 'description': 'Ổ đữa cứng máy tính'});
Or
int ret = await db.rawInsert("INSERT INTO Category(id, name, description) VALUES (5, 'RAM', 'RAM máy tính');");
int ret = await db.update('Category', {'name': 'RAM', 'description': 'RAM máy tính bàn và máy tính xách tay'}, where: 'id = ?', whereArgs: [5]);
Or
int ret = await db.rawUpdate("UPDATE Category SET name = 'SDD', description = 'Ổ đĩa cứng máy tính bàn và máy tính xách tay' WHERE id = 4");
int ret = await db.delete('Category', where: 'id = ?', whereArgs: [5]);