Maison  >  Article  >  interface Web  >  La base de données de requêtes nodejs renvoie

La base de données de requêtes nodejs renvoie

王林
王林original
2023-05-25 09:40:08724parcourir

Node.js est un environnement d'exécution JavaScript léger qui peut utiliser JavaScript pour écrire du code côté serveur, prend en charge les E/S asynchrones et les modèles pilotés par événements, et est très approprié pour créer des applications réseau hautement évolutives. Lors du développement d'applications Web, il est souvent nécessaire d'interagir avec la base de données, comme interroger les informations des utilisateurs, récupérer l'historique des commandes, etc. Cet article explique comment interroger la base de données et renvoyer des données dans Node.js.

Sélectionner la base de données

Avant de commencer à interroger la base de données, nous devons sélectionner la base de données que nous souhaitons utiliser. Node.js prend en charge de nombreuses bases de données populaires telles que MongoDB, MySQL et PostgreSQL. Chaque base de données a ses avantages et ses inconvénients, et la base de données appropriée doit être sélectionnée en fonction des besoins du projet. Dans cet article, nous utiliserons la base de données MySQL.

Installer MySQL

Avant d'utiliser la base de données MySQL, nous devons d'abord installer MySQL. Sur Ubuntu, vous pouvez utiliser la commande suivante :

sudo apt-get update
sudo apt-get install mysql-server

Sous Windows, vous pouvez télécharger le programme d'installation depuis le site officiel de MySQL et suivre les instructions pour l'installer.

Connectez-vous à la base de données MySQL

Dans Node.js, nous pouvons utiliser le package npm mysql pour interagir avec la base de données MySQL. Pour utiliser cette bibliothèque, nous devons d'abord l'installer. Vous pouvez utiliser la commande suivante :

npm install mysql

La connexion à une base de données MySQL nécessite la création d'un pool de connexions, qui se chargera de gérer toutes les connexions à la base de données. Voici un exemple de code pour se connecter à une base de données MySQL :

const mysql = require('mysql');

const pool = mysql.createPool({
  connectionLimit: 10,
  host: 'localhost',
  user: 'username',
  password: 'password',
  database: 'database_name'
});

pool.getConnection((err, connection) => {
  if (err) throw err;
  console.log('Connected to MySQL');
})

Dans l'exemple, nous créons un pool de connexions en utilisant la méthode mysql.createPool et transmettons certaines options telles que le nombre maximum de connexions, le nom d'hôte, le nom d'utilisateur, le mot de passe et le nom de la base de données à laquelle se connecter. Ensuite, nous utilisons la méthode pool.getConnection pour obtenir une connexion à partir du pool de connexions. En cas de succès, un message "Connecté à MySQL" sera imprimé.

Interroger la base de données

Après la connexion à la base de données MySQL, nous pouvons utiliser l'objet de connexion pour interroger la base de données. Voici un exemple de code pour interroger tous les utilisateurs de la base de données MySQL :

const mysql = require('mysql');

const pool = mysql.createPool({
  connectionLimit: 10,
  host: 'localhost',
  user: 'username',
  password: 'password',
  database: 'database_name'
});

pool.getConnection((err, connection) => {
  if (err) throw err;

  connection.query('SELECT * FROM users', (err, rows) => {
    if (err) throw err;

    console.log(rows);
    connection.release();
  });
});

Dans cet exemple, nous utilisons la méthode connection.query pour interroger tous les utilisateurs de la base de données MySQL. Cette méthode accepte deux paramètres : une chaîne contenant la requête SQL et une fonction de rappel. Si la requête réussit, le deuxième paramètre de la fonction de rappel sera un tableau contenant tous les résultats de la requête. Dans cet exemple, nous imprimons les résultats sur la console et libérons la connexion à la base de données à l'aide de la méthode connection.release.

Les résultats de la requête peuvent être traités ultérieurement. Par exemple, nous pouvons utiliser la méthode Array.map pour convertir le résultat en un tableau d'objets :

rows = rows.map(row => {
  return {
    id: row.id,
    name: row.name,
    email: row.email
  };
});

Dans cet exemple, nous utilisons la méthode Array.map pour convertir chaque objet ligne du résultat en un objet avec ID, nom et les propriétés de messagerie .

Limiter les résultats

Dans certains cas, il peut être nécessaire de limiter les résultats de la requête, par exemple en ne renvoyant que les dix premiers résultats. Dans MySQL, vous pouvez utiliser la clause LIMIT pour limiter les résultats. Voici un exemple de code qui montre comment limiter les résultats :

connection.query('SELECT * FROM users LIMIT 10', (err, rows) => {
  if (err) throw err;

  console.log(rows);
  connection.release();
});

Dans cet exemple, nous utilisons la clause LIMIT pour limiter les résultats aux dix premières lignes uniquement.

Filtrer les résultats

Dans certains cas, il peut être nécessaire de filtrer les résultats de la requête en fonction de critères spécifiques. Dans MySQL, vous pouvez utiliser la clause WHERE pour filtrer les résultats. Voici un exemple de code qui montre comment utiliser la clause WHERE pour filtrer les résultats :

connection.query('SELECT * FROM users WHERE age > 18', (err, rows) => {
  if (err) throw err;

  console.log(rows);
  connection.release();
});

Dans cet exemple, nous utilisons la clause WHERE pour filtrer les résultats afin d'inclure uniquement les utilisateurs de plus de 18 ans.

Résumé

Dans cet article, nous avons présenté comment interroger une base de données MySQL dans Node.js et renvoyer les résultats. Tout d'abord, nous nous connectons à la base de données MySQL, puis exécutons la requête et traitons les résultats à l'aide d'une fonction de rappel. Nous avons également discuté de la manière de limiter et de filtrer les résultats et de traiter davantage les résultats. J'espère que cet article pourra vous aider à interroger la base de données dans Node.js.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn