Maison > interface Web > Questions et réponses frontales > Configuration du serveur de base de données Nodejs

Configuration du serveur de base de données Nodejs

WBOY
Libérer: 2023-05-23 16:59:40
original
695 Les gens l'ont consulté

Cet article explique comment utiliser Node.js pour créer un serveur de base de données. Node.js est un outil de développement JavaScript côté serveur basé sur le moteur JavaScript Chrome, qui peut facilement implémenter une programmation asynchrone basée sur les événements. Lorsque nous utilisons Node.js pour le développement de serveurs, nous pouvons utiliser différents frameworks et bibliothèques pour développer, dont le plus populaire est Express.js, mais d'autres frameworks peuvent également atteindre les mêmes fonctionnalités. Afin de rendre notre serveur plus évolutif et fiable, nous devons choisir une base de données qui nous convient pour stocker les données. Cet article montre comment utiliser une base de données MySQL pour stocker des données.

  1. Installer Node.js et MySQL

Avant de commencer, nous devons installer Node.js et MySQL dans le système. Node.js peut être téléchargé depuis le site officiel (https://nodejs.org), et MySQL peut également être téléchargé depuis le site officiel (https://www.mysql.com/).

  1. Créer une base de données et une table de données

Tout d'abord, nous devons créer une base de données et une table de données dans MySQL pour stocker nos données. Utilisez la commande suivante pour créer une base de données nommée test :

CREATE DATABASE test;
Copier après la connexion

Ensuite, créez une table de données nommée utilisateurs :

USE test;

CREATE TABLE users (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  email VARCHAR(100) NOT NULL,
  PRIMARY KEY (id),
  UNIQUE KEY email (email)
);
Copier après la connexion

Cette table contient trois colonnes : identifiant, nom et email. La colonne id est une colonne à incrémentation automatique qui garantit que chaque entrée possède un identifiant unique. Les colonnes nom et email sont des champs obligatoires, nous définissons donc des contraintes NOT NULL dans la définition de la table. La colonne e-mail dispose également d'un index clé unique pour garantir que chaque adresse e-mail n'apparaît qu'une seule fois.

  1. Installer le module MySQL

Ensuite, nous devons installer le module MySQL dans Node.js. On peut utiliser la commande npm pour installer le module mysql :

npm install mysql
Copier après la connexion
  1. Connexion à MySQL

La connexion à MySQL dans une application nécessite l'utilisation de le module mysql. Nous devons utiliser les informations de connexion pour instancier l'objet de connexion :

const mysql = require('mysql');

const connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'user',
  password : 'password',
  database : 'test'
});
Copier après la connexion

Dans cet exemple, nous définissons les informations de connexion à la base de données. Si votre serveur MySQL est local, le nom d'hôte doit être localhost. Notez que des mots de passe sont utilisés dans cet exemple, ce qui constitue une pratique non sécurisée. En utilisation réelle, des mesures plus sécurisées doivent être utilisées, telles que la lecture des mots de passe à partir des variables d'environnement.

  1. Ecriture d'API

Maintenant, nous pouvons écrire une API pour créer de nouveaux utilisateurs, obtenir des informations sur les utilisateurs et supprimer des utilisateurs. Nous devons implémenter la fonctionnalité de routage via Express.js. Dans cet exemple, nous avons utilisé Express.js.

const express = require('express');
const bodyParser = require('body-parser');

const app = express();
app.use(bodyParser.json());

// 创建新用户
app.post('/users', (req, res) => {
  const user = req.body;
  connection.query('INSERT INTO users SET ?', user, (err, results) => {
    if (err) {
      res.status(500).send(err);
    } else {
      res.status(200).send(results);
    }
  });
});

// 获取用户信息
app.get('/users/:id', (req, res) => {
  const id = req.params.id;
  connection.query('SELECT * FROM users WHERE id = ?', id, (err, results) => {
    if (err) {
      res.status(500).send(err);
    } else {
      res.status(200).send(results[0]);
    }
  });
});

// 删除用户
app.delete('/users/:id', (req, res) => {
  const id = req.params.id;
  connection.query('DELETE FROM users WHERE id = ?', id, (err, results) => {
    if (err) {
      res.status(500).send(err);
    } else {
      res.status(200).send(results);
    }
  });
});

// 启动服务器
app.listen(3000, () => {
  console.log('Server started on port 3000');
});
Copier après la connexion

Dans le code ci-dessus, nous utilisons le middleware body-parser pour analyser les données JSON entrantes. Il prend également en charge l'analyse des données .urlencoded. Nous définissons le routeur comme des opérations POST, GET et DELETE qui créeront de nouveaux utilisateurs, obtiendront des informations sur les utilisateurs et supprimeront des utilisateurs. Dans chaque requête, nous utilisons la fonction connection.query() pour exécuter la requête SQL et renvoyer les résultats au client. Si la requête échoue, une erreur 500 est renvoyée.

  1. Test de l'API

Maintenant, nous pouvons tester notre API à l'aide de la commande curl. Voici quelques exemples de commandes :

Créer un nouvel utilisateur :

curl -X POST -H 'Content-Type: application/json' -d '{"name": "Alice", "email": "alice@example.com"}' http://localhost:3000/users
Copier après la connexion

Obtenir des informations sur l'utilisateur :

curl http://localhost:3000/users/1
Copier après la connexion

Supprimer l'utilisateur :

curl -X DELETE http://localhost:3000/users/1
Copier après la connexion
#🎜 🎜#Maintenant, nous avons créé avec succès un serveur de base de données simple en utilisant Node.js et MySQL. Il peut être étendu pour prendre en charge davantage d'opérations API ou utiliser d'autres systèmes de base de données tels que MongoDB ou PostgreSQL.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal