Maison >interface Web >js tutoriel >Utilisez Nodejs pour vous connecter à MySQL afin d'implémenter les opérations de base

Utilisez Nodejs pour vous connecter à MySQL afin d'implémenter les opérations de base

亚连
亚连original
2018-06-13 16:18:302892parcourir

Cet article présente principalement la méthode de connexion de Nodejs à mysql et réalisant les opérations d'ajout, de suppression, de modification et d'interrogation. Il combine le formulaire d'exemple avec une analyse détaillée de la connexion de nodejs à la base de données mysql, la création de la base de données mysql et de nodejs. ajout, suppression, modification et interrogation pour MySQL. Pour obtenir des conseils d'implémentation spécifiques pour les opérations associées, les amis dans le besoin peuvent se référer à

Cet article décrit comment Nodejs se connecte à MySQL et implémente les opérations d'ajout, de suppression, de modification et de vérification. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1 Préparation

Les didacticiels Nodejs utilisent principalement le fonctionnement de MongoDB comme exemple. . Cependant, mongodb présente certaines limitations, qui sont indiquées sur le site officiel. J'ai l'intention d'utiliser MySQL car j'ai encore une certaine expérience de son utilisation. Concentrez-vous d’abord sur la recherche. node-mysql est actuellement le pilote mysql le plus populaire sous node. Je l'ai utilisé au départ, car la méthode de rappel asynchrone comporte vraiment de nombreux pièges.

Le nom du package du projet suivant est mysql, et la version est mysql@ 2.5.4

Expliquez d'abord le code ci-dessous. Ils commencent tous par le code suivant et ne seront pas expliqués. plus tard

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

La signification du code est très simple. Si vous souhaitez approfondir, vous pouvez vous rendre sur le site officiel ci-dessus pour vérifier. Les configurations telles que l'hôte et l'utilisateur doivent être claires pour ceux qui ont écrit des applications de base de données MySQL. Veuillez modifier vous-même les paramètres correspondants. Le code suivant suppose qu'il existe une table appelée node_use dans la base de données "my_news_test". La table a 3 attributs

id : clé primaire auto-incrémentée
name : Le nom a des restrictions uniques
âge : âge

Test MySQL version MySQL : 5.5

2. Créez la base de données et insérez 5 éléments Enregistrez

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');

3. Testez d'abord l'environnement

1. le package mysql de nodejs

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)

2. Écrivez le code pour l'interaction entre nodejs et mysql

//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();
 }
);

3. Exécution des résultats

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

<.>

4. Node.js combiné avec les opérations d'ajout, de suppression, de modification et de requête de MySQL

1. > fonctionne comme suit

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();

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 }
#######################
2. Changement

et le résultat en cours est le suivant

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();
. 3. Vérifiez l'opération

D:\User\myappejs4>node mysqltest_up.js
----------UPDATE-------------
UPDATE affectedRows 1
******************************
Les résultats de l'opération sont les suivants

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();

D:\User\myappejs4>node mysqltest_query.js
---------------SELECT----------------
[ { id: 1, name: &#39;admin&#39;, age: 32 },
 { id: 2, name: &#39;dans88&#39;, age: 45 },
 { id: 3, name: &#39;张三&#39;, age: 35 },
 { id: 4, name: &#39;ABCDEF&#39;, age: 88 },
 { id: 5, name: &#39;李小二&#39;, age: 65 },
 { id: 6, name: &#39;Wilson&#39;, age: 55 } ]
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
4.

Ce qui précède est ce que j'ai compilé pour tout le monde, j'espère que cela sera utile à tout le monde à l'avenir.

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 userDelSql = 'DELETE FROM node_user WHERE id = 7';
//ɾ
connection.query(userDelSql,function (err, result) {
    if(err){
     console.log('[DELETE ERROR] - ',err.message);
     return;
    }
    console.log('-------------DELETE--------------');
    console.log('DELETE affectedRows',result.affectedRows);
    console.log('&&&&&&&&&&&&&&&&&');
});
connection.end();
运行的结果如下
D:\User\myappejs4>node mysqltest_del.js
-------------DELETE--------------
DELETE affectedRows 1
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Articles associés :

Comment empaqueter des ressources statiques dans vue

Quelles sont les utilisations de async&await dans Koa2 ?

Comment implémenter le chargement par clic de régions à cinq niveaux à travers le pays dans le plug-in d'arborescence zTree

Comment implémenter Node+ exprimer un salon de discussion personnalisé ?

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