In diesem Artikel wird erläutert, wie Sie mit Node.js einen Datenbankserver erstellen. Node.js ist ein serverseitiges JavaScript-Entwicklungstool, das auf der Chrome-JavaScript-Engine basiert und problemlos asynchrone ereignisgesteuerte Programmierung implementieren kann. Wenn wir Node.js für die Serverentwicklung verwenden, können wir für die Entwicklung verschiedene Frameworks und Bibliotheken verwenden. Das beliebteste davon ist Express.js, aber auch andere Frameworks können die gleiche Funktionalität erreichen. Um unseren Server skalierbarer und zuverlässiger zu machen, müssen wir eine Datenbank auswählen, die zum Speichern von Daten für uns geeignet ist. In diesem Artikel wird gezeigt, wie Sie eine MySQL-Datenbank zum Speichern von Daten verwenden.
Bevor wir beginnen, müssen wir Node.js und MySQL im System installieren. Node.js kann von der offiziellen Website (https://nodejs.org) heruntergeladen werden, und MySQL kann auch von der offiziellen Website (https://www.mysql.com/) heruntergeladen werden.
Zuerst müssen wir eine Datenbank und eine Datentabelle in MySQL erstellen, um unsere Daten zu speichern. Verwenden Sie den folgenden Befehl, um eine Datenbank mit dem Namen test zu erstellen:
CREATE DATABASE test;
Als nächstes erstellen Sie eine Datentabelle mit dem Namen „users“:
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) );
Diese Tabelle enthält drei Spalten: ID, Name und E-Mail. Die ID-Spalte ist eine automatisch inkrementierende Spalte, die sicherstellt, dass jeder Eintrag eine eindeutige ID hat. Die Spalten „Name“ und „E-Mail“ sind Pflichtfelder, daher definieren wir NOT NULL-Einschränkungen in der Tabellendefinition. Die E-Mail-Spalte verfügt außerdem über einen eindeutigen Schlüsselindex, um sicherzustellen, dass jede E-Mail-Adresse nur einmal vorkommt.
Als nächstes müssen wir das MySQL-Modul in Node.js installieren. Wir können den Befehl npm verwenden, um das MySQL-Modul zu installieren:
npm install mysql
Die Verbindung zu MySQL in einer Anwendung erfordert die Verwendung von das MySQL-Modul. Wir müssen die Verbindungsinformationen verwenden, um das Verbindungsobjekt zu instanziieren:
const mysql = require('mysql'); const connection = mysql.createConnection({ host : 'localhost', user : 'user', password : 'password', database : 'test' });
In diesem Beispiel definieren wir die Datenbankverbindungsinformationen. Wenn Ihr MySQL-Server lokal ist, sollte der Hostname localhost lauten. Beachten Sie, dass in diesem Beispiel Passwörter verwendet werden, was eine unsichere Vorgehensweise darstellt. Im tatsächlichen Einsatz müssen sicherere Maßnahmen eingesetzt werden, beispielsweise das Auslesen von Passwörtern aus Umgebungsvariablen.
Jetzt können wir eine API schreiben, um neue Benutzer zu erstellen, Benutzerinformationen abzurufen und Benutzer zu löschen. Wir müssen die Routing-Funktionalität über Express.js implementieren. In diesem Beispiel haben wir Express.js verwendet.
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'); });
Im obigen Code verwenden wir die Body-Parser-Middleware, um die eingehenden JSON-Daten zu analysieren. Es unterstützt auch das Parsen von .urlencoded-Daten. Wir definieren den Router als POST-, GET- und DELETE-Operationen, die neue Benutzer erstellen, Benutzerinformationen abrufen und Benutzer löschen. In jeder Anfrage verwenden wir die Funktion „connection.query()“, um die SQL-Abfrage auszuführen und die Ergebnisse an den Client zurückzugeben. Wenn die Abfrage fehlschlägt, wird ein 500-Fehler zurückgegeben.
Jetzt können wir unsere API mit dem Curl-Befehl testen. Hier sind einige Beispielbefehle:
Neuen Benutzer erstellen:
curl -X POST -H 'Content-Type: application/json' -d '{"name": "Alice", "email": "alice@example.com"}' http://localhost:3000/users
Benutzerinformationen abrufen:
curl http://localhost:3000/users/1
Benutzer löschen:
curl -X DELETE http://localhost:3000/users/1
Das obige ist der detaillierte Inhalt vonEinrichtung des Nodejs-Datenbankservers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!