Dernière mise à jour le .
  1. Documentation
  2. >
  3. Module
  4. >
  5. JSQL
  6. >
  7. selectFrom

JSQL.selectFrom

Insère des données en base de données.

Synthaxe

JSQL.selectFrom(dbName, desc[, version]);

Si vous êtes amenés à insérer, supprimer ou modifier régulièrement des données d'une base de données, vous pouvez utiliser les méthodes fournies par la méthode JSQL. Des gains de performance pourront être observés du fait de la non-recherche de la version de la base de données à chaque manipulation.

Où:

  • dbName : nom de la base de données à laquelle il faut insérer des données;

  • desc : objet définissant la sélection tel que:

    • from : table depuis laquelle les données doivent être sélectionnées. Dans l'API IndexedDB, on parle de magasin (store) et non de table.

    • colum [] ou : liste des colonnes à retourner ou * pour retourner toutes les colonnes;

    • offset Facultatif: numéro de ligne depuis laquelle les données trouvées doivent être retournées, par défaut 0;

    • limit Facultatif: nombre de ligne à retourner, par défaut Infinity;

    • where ou : condition de récupération des données. Si la valeur est un objet, celui-ci doit contenir être sous la forme:

      • type valant AND ou OR: indique que les conditions doivent être traités comme des ET (AND) ou comme des OU (OR);

      • condition [ ou ]: liste de conditions à appliquer où chacune est soit sous la forme d'un tableau tel que:

        • [0] ou : première valeur de la condition à comparer. Si la valeur est un tableau, la première case de celui-ci est une chaine représentant la table de laquelle la seconde case, représentant le nom de la colonne, doit être sélectionnée;

        • [1] : un des opérateurs de comparaison parmis: =, !=, >, >=, , ;

        • [2] ou : seconde valeur de la condition à comparer. Si la valeur est un tableau, la première case de celui-ci est une chaine représentant la table de laquelle la seconde case, représentant le nom de la colonne, doit être sélectionnée.

        soit sous la forme d'un objet qui suit le même fonctionnement que where.

      si la valeur est un tableau, les conditions qu'il contient seront traitées comme des ET.

  • version Facultatif: version de la base de données à utiliser, sous format système. Reportez-vous à la section Versionnage et délais maximum de transaction pour plus de détails sur les formats des versions. Par défaut, la version retournée par la méthode getDatabaseVersion sera utilisée.

Valeur de retour

Une promesse (Promise) est retournée. Celle-ci sera résolue lorsque la requête de sélection sera terminée. La valeur fournie comme valeur de résolution sera un tableau si l'opération à réussie, qui contiendra alors les résultats, ou false dans le cas contraire.

Exemple

Exemple 1: Sélection de données

L'exemple ci-dessous sélectionne des données en base de données.

(async function() { /* la base est supposée créer */ const select = await JSQL.selectFrom("DB-TEST", { from : "myTable", // Pour l'API IndexedDB, on parle normalement de magasin ("store") et non de table colum : ["id"], // On sélectionne uniquement la colonne "id" offset : 10, // Selection des résultats à partir de la ligne 10 limit : 20, // Jusqu'à la ligne 20, 10 lignes seront donc retournées where : { // where peut aussi être directement un tableau, qui sera traité comme un tableau de "AND" type : "AND", // Le type peut être "AND" ou "OR" condition : [ [["t1", "id"], "=", 10], [["t1", "id"], ">", 20] ] } }); if(select) { alert("Selection réussie !"); // select est un tableau contenant les résultats } else { alert("Erreur !"); } })();

Exemple 2: condition ET

where : [ [["t1", "id"], "=", 10], [["t1", "id"], ">", 20] ] // === where : { type : "AND", condition : [ [["t1", "id"], "=", 10], [["t1", "id"], ">", 20] ] }

Exemple 3: condition combiné

where : { type : "OR", condition : [ [["t1", "id"], "=", 10], { type : "AND", condition : [ [["t1", "id"], "=", ["t1", "id"]] // retournera toujours true ] } ] }

Compatibilité

La prise en charge des Promise est nécessaire ainsi que le support de l'API IndexedDB.

Méthodes liées