Dans le dernier article, je vous ai présenté Express implémente la communication front-end et back-end pour télécharger des images sur la base de données de stockage (mysql) tutoriel idiot (1)
La base de données est comme le titre, basée sur le mysql open source. J'ai téléchargé la version décompressée (je l'ai depuis Baidu, il suffit de la télécharger depuis Baidu), le processus de configuration http://www.jb51. net/article/ 76206.htm, pendant le processus d'installation, je cherchais depuis longtemps un tutoriel sur la configuration du fichier my.ini, j'ai donc posté mon fichier my.ini
[mysqld] basedir="D:/MySql" datadir="D:/MySql/data" port = 3306 socket = "/tmp/mysql.sock" [client] password = port = 3306 socket = "/tmp/mysql.sock" default-character-set = utf8
Vous pouvez voir que mon mysql est installé dans le dossier Mysql. Vous pouvez le modifier selon votre propre chemin.
Ensuite, exécutez-le dans le dossier bin
mysqld -install
Installez le service mysql puis démarrez le service.
net start mysql
Le lien du didacticiel ci-dessus pour configurer MySQL comprend l'adresse de téléchargement de Navicat pour MySQL (un outil visuel pour MySQL), ainsi que les informations d'inscription. Les étudiants qui ne souhaitent pas saisir la ligne de commande peuvent le télécharger et l'utiliser. est plus pratique.
Connectez-vous à la base de données pour la première fois
mysql -uroot -p
Appuyez simplement sur Entrée sans mot de passe.
(ps : lorsque je remplis manuellement la base de données pendant l'utilisation, il y aura des caractères tronqués lors de la saisie du chinois. La solution est la suivante : faites un clic droit sur une base de données, puis sélectionnez Propriétés de la base de données, modifiez le jeu de caractères au format utf8, et sélectionnez le premier Comme indiqué sur l'image :
)
Ensuite, nous utiliserons node pour nous connecter à la base de données. Chers lecteurs, vous pouvez préparer une tasse de thé et continuer~.
Felixge/node-mysql est un programme client MySQL implémenté en nodejs pur en utilisant javascript. felixge/node-mysql encapsule les opérations de base de Nodejs sur MySQL, licence publique 100% MIT.
Adresse du projet : https://github.com/felixge/node-mysql
Installez node-mysql dans le projet, entrez dans le dossier myapp créé hier et exécutez :
npm install mysql
Ensuite, testez, modifiez l'exemple sur le site officiel, mettez-le dans notre projet, modifiez routes/index.js et redémarrez express
var express = require('express'); var router = express.Router();var mysql = require('mysql'); //调用MySQL模块 router.get('/', function(req, res) { res.render('index', { title: '孟星魂' }); //创建一个connection var connection = mysql.createConnection({ host: '127.0.0.1', //主机 user: 'root', //MySQL认证用户名 password: '111', //MySQL认证用户密码,没有测试没有密码时为空是否能登陆,不能的话设置下登陆密码 port: '3306', //端口号 database: 'nodesample' }); //创建一个connection connection.connect(function(err) { if (err) { console.log('[query] - :' + err); return; } console.log('[connection connect] succeed!'); }); //执行SQL语句 connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { if (err) { console.log('[query] - :' + err); return; } console.log('The solution is: ', rows[0].solution); }); //关闭connection connection.end(function(err) { if (err) { return; } console.log('[connection end] succeed!'); }); }); module.exports = router;
Après ouverture de la page, l'effet d'affichage de la commande est le suivant :
Test réussi ! ! , créez une base de données de test ci-dessous
CREATE DATABASE IF NOT EXISTS nodesample CHARACTER SET UTF8; USE nodesample; SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS `userinfo`; CREATE TABLE `userinfo` ( `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `UserName` varchar(64) NOT NULL COMMENT '用户名', `UserPass` varchar(64) NOT NULL COMMENT '用户密码', PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息表';
Ce code peut être exécuté directement dans Navicat, cliquez simplement sur Outils, console, collez et appuyez sur Entrée.
Ensuite, ajoutez une donnée à la base de données et modifiez routes/index.js, comme suit
var express = require('express'); var router = express.Router(); var mysql = require('mysql'); //调用MySQL模块 router.get('/', function(req, res) { res.render('index', { title: '孟星魂' }); //创建一个connection var connection = mysql.createConnection({ host: '127.0.0.1', //主机 user: 'root', //MySQL认证用户名 password: '111', //MySQL认证用户密码 port: '3306', //端口号 database: 'nodesample' }); //创建一个connection connection.connect(function(err) { if (err) { console.log('[query] - :' + err); return; } console.log('[connection connect] succeed!'); }); //执行SQL语句 var userAddSql = 'INSERT INTO userinfo(Id,UserName,UserPass) VALUES(0,?,?)'; var userAddSql_Params = ['Wilson', 'abcd']; //增 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('-----------------------------------------------------------------\n\n'); }); //关闭connection connection.end(function(err) { if (err) { return; } console.log('[connection end] succeed!'); }); });
module.exports = routeur;
Redémarrez express, actualisez la page, l'invite de commande affiche :
Affichage de la base de données :
D'accord, tout le monde peut désormais utiliser la base de données. Pour certaines opérations de base, veuillez vous référer à http://www.cnblogs.com/zhongweiv/p/nodejs_mysql.html#mysql_mod et vérifier les ajouts. , suppressions et modifications. Tous sont introduits.
Ce qui suit devrait présenter la base de données de stockage d'images que tout le monde a téléchargée, mais nous avons rencontré quelques pièges avant de les résoudre. La partie la plus excitante sera laissée pour demain ~,
.
Le principal problème est le routage. La page d'accueil a demandé un modèle pour le moment, il est impossible d'envoyer des données au front-end, donc un middleware express sera utilisé.