Cet article vous propose un tutoriel de base sur le fonctionnement de la base de données MySQL dans Node.js. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Cet article est un tutoriel de base sur l'utilisation du module mysql npm pour faire fonctionner la base de données MySQL. Cela n'implique pas l'installation et la configuration de MySQL. Si MySQL n'est pas installé sur l'ordinateur, Il est recommandé d'installer des environnements intégrés tels que WAMP et XAMPP. Cet article utilise également le framework léger Node.js Koa pour créer un programme Web afin de simuler des scénarios de projet via des requêtes de navigateur frontal. Vous pouvez facilement lire cet article sans maîtriser la syntaxe du framework Koa.
Créer le répertoire du projet et utiliser npm init
pour initialiser le projet, effectuer les opérations suivantes :
npm install mysql koa koa-router
// index.js const Koa = require('koa'); const Router = require('koa-router'); const mysql = require('mysql'); const app = new Koa(); const router = new Router(); const connection = mysql.createConnection({ host: 'localhost', // 填写你的mysql host user: 'root', // 填写你的mysql用户名 password: '123456' // 填写你的mysql密码 }) connection.connect(err => { if(err) throw err; console.log('mysql connncted success!'); }) router.get('/', ctx => { ctx.body = 'Visit index'; }) app.use(router.routes()); app.listen(3000);
Exécutez le nœud index.js dans le shell Lorsque vous voyez le succès de la connexion mysql imprimé dans le shell, cela indique que la connexion à la base de données MySQL est réussie !
Ouvrez le navigateur et visitez localhost:3000 Lorsque vous voyez l'index de visite affiché à l'écran, le nom de la table L'initialisation du projet a réussi.
Lors de l'accès à /createdb, créez une base de données mysqlkoa, codez comme suit :
router.get('/createdb', ctx => { return new Promise(resolve => { const sql = `CREATE DATABASE mysqlkoa`; connection.query(sql, (err) => { if (err) throw err; ctx.body = { code: 200, msg: `create database mysqlkoa success!` } resolve(); }); }) })
Réexécutez le nœud index.js et utilisez le navigateur pour accéder à localhost:3000/createdb
<img src="https://img.php.cn//upload/image/332/781/973/1540792367149822.png" title="1540792367149822.png" alt="Tutoriel de base sur lexploitation de la base de données MySQL dans Node.js">
Pour plus de commodité, nous utilisons directement la base de données que nous venons de créer lors de la connexion. Nous devons ajouter l'élément de configuration database:mysqlkoa dans mysql.createConnection.
const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '123456', database: 'mysqlkoa' // 添加该列 })
Lors de l'accès à /createtable, nous créons une table de données fe_frame, qui est utilisée pour enregistrer les données du frame front-end :
router.get('/createtable', ctx => { return new Promise(resolve => { const sql = `CREATE TABLE fe_frame( id INT(11) AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), author VARCHAR(255) )`; connection.query(sql, (err ,results, filelds) => { if (err) throw err; ctx.body = { code: 200, msg: `create table of fe_frame success!` } resolve(); }) }) })
Réexécutez l'index du nœud. js et use Le navigateur accède à localhost:3000/createtable
<img src="https://img.php.cn//upload/image/332/781/973/1540792367149822.png" title="1540792367149822.png" alt="Tutoriel de base sur lexploitation de la base de données MySQL dans Node.js">
Lors de l'accès/insert
, utilisé pour insérer une seule donnée :
router.get('/insert', ctx => { return new Promise(resolve => { const sql = `INSERT INTO fe_frame(name, author) VALUES('vue', 'Evan')`; connection.query(sql, (err) => { if (err) throw err; ctx.body = { cde: 200, msg: `insert data to fe_frame success!` } resolve(); }) }) })
Réexécutez le nœud index.js et utilisez le navigateur pour accéder à localhost:3000/insert
Lors de l'accès à /insertmulti
, utilisez-le pour insérer plusieurs éléments de données :
router.get('/insertmulti', ctx => { return new Promise(resolve => { const sql = `INSERT INTO fe_frame(name, author) VALUES ?`; const values = [ ['React', 'Facebook'], ['Angular', 'Google'], ['jQuery', 'John Resig'] ]; connection.query(sql, [values], (err, result) => { if (err) throw err; ctx.body = { code: 200, msg: `insert ${result.affectedRows} data to fe_frame success!` } resolve(); }) }) })
Réexécutez le nœud index.js et utilisez le navigateur. Visitez localhost:3000/insertmulti
Utilisez phpMyAdmin pour y accéder, vous pouvez voir que mysqlkoa Le tableau est le suivant
Lors de l'accès à /delete, supprimez la ligne correspondante. Nous utilisons le nom du paramètre de requête pour spécifier quelle trame supprimer, et utilisons ctx.query.name pour l'obtenir côté serveur. Le code est le suivant :
router.get('/delete', ctx => { return new Promise(resolve => { const name = ctx.query.name; const sql = `DELETE FROM fe_frame WHERE name = '${name}'`; connection.query(sql, (err, result) => { if (err) throw err; ctx.body = { code: 200, msg: `delete ${result.affectedRows} data from fe_frame success!` }; resolve(); }) }) })
Réexécutez le nœud index.js. , et utilisez le navigateur pour accéder à http:// localhost:3000/delete?name=jQuery
Mettre à jour le nom de l'auteur du framework vue lors de l'accès à /update Pour Evan You, le code est le suivant :
router.get('/update', ctx => { return new Promise(resolve => { const sql = `UPDATE fe_frame SET author = 'Evan You' WHERE NAME = 'vue'`; connection.query(sql, (err, result) => { if (err) throw err; ctx.body = { code: 200, msg: `update ${result.affectedRows} data from fe_frame success!` }; resolve(); }) }) })
Réexécutez le nœud index.js et utilisez le navigateur pour accéder à http:// localhost:3000/update
Lors de l'accès à /select, obtenez les éléments qui répondent aux conditions du nom du cadre dans le paramètre de requête. Le code est le suivant :
router.get('/select', ctx => { return new Promise(resolve => { let name = ctx.query.name; const sql = `SELECT * FROM fe_frame WHERE name = '${name}'`; connection.query(sql, (err, result) => { if (err) throw err; ctx.body = { code: 200, data: result } resolve(); }) }) })
Réexécutez le nœud index.js et utilisez le navigateur pour accéder à http://localhost:3000/select?name=vue
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!