Heim > Web-Frontend > js-Tutorial > Verwenden Sie Nodejs, um eine Verbindung zu MySQL herzustellen und grundlegende Vorgänge zu implementieren

Verwenden Sie Nodejs, um eine Verbindung zu MySQL herzustellen und grundlegende Vorgänge zu implementieren

亚连
Freigeben: 2018-06-13 16:18:30
Original
2890 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Methode vor, mit der NodeJS eine Verbindung zu MySQL herstellt und die Vorgänge zum Hinzufügen, Löschen, Ändern und Abfragen realisiert. Er kombiniert das Beispielformular mit einer detaillierten Analyse der Verbindung von NodeJS zur MySQL-Datenbank und der Erstellung einer MySQL-Datenbank und die Nodejs zum Hinzufügen, Löschen, Ändern und Abfragen von MySQL. Spezifische Implementierungstipps für verwandte Vorgänge finden Freunde in Not unter

In diesem Artikel wird beschrieben, wie Nodejs eine Verbindung zu MySQL herstellt und das Hinzufügen, Löschen, Ändern und Implementieren durchführt Kontrollvorgänge. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

1. Vorbereitung

Nodejs-Tutorials verwenden meist den Betrieb von Mongodb als Beispiel . Mongodb weist jedoch einige Einschränkungen auf, die auf der offiziellen Website angegeben sind. Ich habe vor, MySQL zu verwenden, da ich noch etwas Erfahrung damit habe. Konzentrieren Sie sich zunächst auf die Forschung. node-mysql ist derzeit der beliebteste MySQL-Treiber unter node. Ich habe es ursprünglich verwendet, weil die asynchrone Rückrufmethode wirklich viele Fallstricke hat.

Der Paketname des folgenden Projekts ist mysql und die Version ist mysql@ 2.5.4

Erklären Sie zunächst den unten gezeigten Code und werden nicht erklärt später

rrree

Die Bedeutung des Codes ist sehr einfach. Wenn Sie tiefer gehen möchten, können Sie ihn auf der offiziellen Website oben überprüfen. Konfigurationen wie Host und Benutzer sollten denjenigen klar sein, die MySQL-Datenbankanwendungen geschrieben haben. Bitte ändern Sie die entsprechenden Parameter selbst. Der folgende Code geht davon aus, dass es in der Datenbank „my_news_test“ eine Tabelle mit dem Namen „node_use“ gibt. Die Tabelle hat drei Attribute:

id: automatisch inkrementierter Primärschlüssel
name: Der Name hat eindeutige Einschränkungen
Alter: Alter

MySQL testen MySQL-Version: 5.5

2. Erstellen Sie die Datenbank und 5 Elemente einfügen

var connection = mysql.createConnection({
 host   : '127.0.0.1',
 user   : 'root',
 password : 'root123',
 port: '3306',
 database: 'my_news_test',
});
Nach dem Login kopieren

3. Zuerst die Umgebung testen

1 Paket von nodejs

Source Database    : my_news_test
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for node_user
-- ----------------------------
DROP TABLE IF EXISTS `node_user`;
CREATE TABLE `node_user` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(30) DEFAULT NULL,
 `age` int(8) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of node_user
-- ----------------------------
INSERT INTO `node_user` VALUES ('1', 'admin', '32');
INSERT INTO `node_user` VALUES ('2', 'dans88', '45');
INSERT INTO `node_user` VALUES ('3', '张三', '35');
INSERT INTO `node_user` VALUES ('4', 'ABCDEF', '88');
INSERT INTO `node_user` VALUES ('5', '李小二', '65');
Nach dem Login kopieren

2. Schreiben Sie Code für die Interaktion zwischen nodejs und mysql

D:\User\myappejs4>npm install mysql
mysql@2.5.4 node_modules\mysql
├── require-all@0.0.8
├── bignumber.js@1.4.1
└── readable-stream@1.1.13 (inherits@2.0.1, string_decoder@0.10.31, isarray@0
.0.1, core-util-is@1.0.1)
Nach dem Login kopieren

3. Ausführen von Ergebnissen

4. Node.js kombiniert mit den Add-, Lösch-, Änderungs- und Abfragevorgängen

1. Fügen Sie

//mysql.js
//首先需要安装nodejs 的mysql包
//npm install mysql
//编写nodejs与mysql交互的代码
var mysql = require('mysql');
var TEST_DATABASE = 'my_news_test';
var TEST_TABLE = 'node_user';
//创建连接
var client = mysql.createConnection({
 user: 'root',
 password: 'root123',
});
client.connect();
client.query("use " + TEST_DATABASE);
client.query(
 'SELECT * FROM '+TEST_TABLE,
 function selectCb(err, results, fields) {
  if (err) {
   throw err;
  }
    if(results)
   {
     for(var i = 0; i < results.length; i++)
     {
       console.log("%d\t%s\t%s", results[i].id, results[i].name, results[i].age);
     }
   }
  client.end();
 }
);
Nach dem Login kopieren

hinzu und führen Sie es wie folgt aus

D:\User\myappejs4>node mysqltest.js
1    admin  32
2    dans88 45
3    张三  35
4    ABCDEF  88
5    李小二 65
Nach dem Login kopieren

2. Ändern Sie

var mysql = require('mysql');
var connection = mysql.createConnection({
 host   : &#39;127.0.0.1&#39;,
 user   : &#39;root&#39;,
 password : &#39;root123&#39;,
 port: &#39;3306&#39;,
 database: &#39;my_news_test&#39;,
});
connection.connect();
var userAddSql = 'INSERT INTO node_user(id,name,age) VALUES(0,?,?)';
var userAddSql_Params = ['Wilson', 55];
//增 add
connection.query(userAddSql,userAddSql_Params,function (err, result) {
    if(err){
     console.log('[INSERT ERROR] - ',err.message);
     return;
    }
    console.log('-------INSERT----------');
    //console.log('INSERT ID:',result.insertId);
    console.log('INSERT ID:',result);
    console.log('#######################');
});
connection.end();
Nach dem Login kopieren

und das Ergebnis ist wie folgt

D:\User\myappejs4>node mysqltestadd.js
-------INSERT----------
INSERT ID: { fieldCount: 0,
 affectedRows: 1,
 insertId: 6,
 serverStatus: 2,
 warningCount: 0,
 message: &#39;&#39;,
 protocol41: true,
 changedRows: 0 }
#######################
Nach dem Login kopieren

3. Überprüfen Sie die Operation

var mysql = require('mysql');
var connection = mysql.createConnection({
 host   : &#39;127.0.0.1&#39;,
 user   : &#39;root&#39;,
 password : &#39;root123&#39;,
 port: &#39;3306&#39;,
 database: &#39;my_news_test&#39;,
});
connection.connect();
var userModSql = 'UPDATE node_user SET name = ?,age = ? WHERE id = ?';
var userModSql_Params = ['Hello World',99,7];
//改 up
connection.query(userModSql,userModSql_Params,function (err, result) {
  if(err){
     console.log('[UPDATE ERROR] - ',err.message);
     return;
  }
 console.log('----------UPDATE-------------');
 console.log('UPDATE affectedRows',result.affectedRows);
 console.log('******************************');
});
connection.end();
Nach dem Login kopieren

Das Ergebnis ist wie folgt:

D:\User\myappejs4>node mysqltest_up.js
----------UPDATE-------------
UPDATE affectedRows 1
******************************
Nach dem Login kopieren

4. Löschvorgang

var mysql = require('mysql');
var connection = mysql.createConnection({
 host   : &#39;127.0.0.1&#39;,
 user   : &#39;root&#39;,
 password : &#39;root123&#39;,
 port: &#39;3306&#39;,
 database: &#39;my_news_test&#39;,
});
connection.connect();
var userGetSql = 'SELECT * FROM node_user';
//查 query
connection.query(userGetSql,function (err, result) {
    if(err){
     console.log('[SELECT ERROR] - ',err.message);
     return;
    }
    console.log('---------------SELECT----------------');
    console.log(result);
    console.log('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$');
});
connection.end();
Nach dem Login kopieren

Das Obige habe ich für alle zusammengestellt Ich hoffe, dass es in Zukunft für alle hilfreich sein wird.

Verwandte Artikel:

Wie packe ich statische Ressourcen in Vue

Was sind die Verwendungszwecke von async&await in Koa2?

So implementieren Sie das Klickladen von fünfstufigen Regionen im ganzen Land im zTree-Baum-Plug-in

So implementieren Sie Node+ Express personalisierter Chatroom?

Das obige ist der detaillierte Inhalt vonVerwenden Sie Nodejs, um eine Verbindung zu MySQL herzustellen und grundlegende Vorgänge zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage