SQLite é um mecanismo de banco de dados SQL embutido que não requer um processo de servidor separado. É amplamente utilizado em dispositivos móveis e pequenas aplicações, tornando-o uma excelente escolha para persistência de dados em aplicativos Flutter. Neste capítulo, vamos explorar como consultar dados usando SQLite em Flutter.
Antes de começarmos, é importante entender que o SQLite armazena dados em tabelas, que são coleções de linhas. Cada linha representa um único registro ou item de dados, e cada coluna em uma linha representa um campo de dados. Para consultar dados em SQLite, usamos a linguagem SQL (Structured Query Language), que é uma linguagem padrão para interagir com bancos de dados relacionais.
Primeiro, precisamos configurar nossa aplicação Flutter para usar SQLite. Isso envolve adicionar a dependência 'sqflite' ao nosso arquivo 'pubspec.yaml'. Em seguida, importamos o pacote sqflite em nosso arquivo Dart. Também precisamos importar o pacote 'path_provider', que nos ajuda a encontrar o caminho para o diretório onde vamos armazenar nosso banco de dados.
dependencies: flutter: sdk: flutter sqflite: ^1.3.0 path_provider: ^1.6.22
Depois de importar os pacotes necessários, podemos criar nosso banco de dados. Isso é feito chamando a função 'openDatabase' e fornecendo um caminho para o arquivo do banco de dados. Se o banco de dados não existir, ele será criado. Caso contrário, ele será aberto.
final Futuredatabase = openDatabase( join(await getDatabasesPath(), 'my_database.db'), );
Agora que temos nosso banco de dados, podemos criar uma tabela para armazenar nossos dados. Isso é feito usando a função 'execute' para executar uma instrução SQL CREATE TABLE. Esta instrução define o nome da tabela e os tipos de dados para cada coluna.
await database.execute( "CREATE TABLE my_table(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)", );
Com nossa tabela criada, podemos inserir dados nela. Isso é feito usando a função 'insert', que leva o nome da tabela e um mapa dos dados a serem inseridos. O mapa deve ter uma chave para cada coluna na tabela e um valor correspondente para cada chave.
await database.insert( 'my_table', {'id': 1, 'name': 'John Doe', 'age': 30}, );
Finalmente, chegamos à parte importante: consultar os dados. Isso é feito usando a função 'query', que leva o nome da tabela e retorna uma lista de mapas, onde cada mapa representa uma linha da tabela. Podemos então iterar sobre esta lista para acessar os dados individuais.
final List
Podemos também usar a cláusula WHERE na nossa consulta para filtrar os resultados. Por exemplo, podemos buscar todas as linhas onde a idade é maior que 25.
final List
SQLite em Flutter é uma ferramenta poderosa para persistência de dados. Com ele, podemos criar, inserir e consultar dados de forma eficiente e eficaz. No entanto, é importante lembrar que SQLite é apenas uma das muitas opções disponíveis para persistência de dados em Flutter. Dependendo das necessidades do seu aplicativo, você pode achar que outras soluções, como o Firestore do Firebase ou mesmo uma API REST personalizada, são mais apropriadas.
Espero que este capítulo tenha lhe dado uma boa visão geral de como consultar dados usando SQLite em Flutter. No próximo capítulo, vamos explorar como atualizar e deletar dados.