この記事では、Node.js で MySQL データベースを操作するための基本的なチュートリアルを紹介します。必要な方は参考にしていただければ幸いです。
この記事は、npm モジュール mysql を使用して MySQL データベースを操作するための基本的なチュートリアルです。 MySQL がコンピュータにインストールされていない場合は、MySQL のインストールと構成は必要ありません。 WAMPやXAMPPなどの統合環境をインストールすることをお勧めします。この記事では、フロントエンド ブラウザーのリクエストを通じてプロジェクト シナリオをシミュレートするために、軽量の Node.js フレームワーク Koa を使用して Web プログラムを構築します。この記事は、Koa フレームワークの構文を習得していなくても簡単に読むことができます。
プロジェクト ディレクトリを作成し、npm init を使用します。
プロジェクトを初期化した後、次の操作を実行します。
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);
シェルでノードindex.jsを実行します。シェルに「mysql Connected Success!」と表示されたら、MySQLデータベース接続が成功したことを示します。
ブラウザを開いて、localhost:3000 にアクセスし、画面に「訪問インデックス」が表示されたら、テーブル名 プロジェクトの初期化に成功しました。
/createdb にアクセスするときに、mysqlkoa データベースを作成します。次のようにコードを記述します。 :
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(); }); }) })
nodeindex.jsを再実行し、ブラウザを使用してlocalhost:3000/createdbにアクセスします
<img src="https://img.php.cn//upload/image/332/781/973/1540792367149822.png" title="1540792367149822.png" alt="Node.js で MySQL データベースを操作するための基本的なチュートリアル">
便宜上、接続時に作成したばかりのデータベースを直接使用します。mysql.createConnection に database:mysqlkoa 構成項目を追加する必要があります。
const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '123456', database: 'mysqlkoa' // 添加该列 })
/createtable にアクセスすると、フロントエンド フレームのデータを保存するために使用されるデータ テーブル fe_frame を作成します。
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(); }) }) })
ノードindex.jsを再実行し、ブラウザで localhost :3000/createtable にアクセスします
<img src="https://img.php.cn//upload/image/332/781/973/1540792367149822.png" title="1540792367149822.png" alt="Node.js で MySQL データベースを操作するための基本的なチュートリアル">
いつaccessing/insert
は、単一のデータを挿入するために使用されます:
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(); }) }) })
nodeindex.js を再実行し、ブラウザを使用して localhost:3000/insert
## にアクセスします。#複数のデータの挿入
/insertmulti にアクセスする場合、複数のデータを挿入するために使用されます:
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(); }) }) })
phpMyAdminを使用してアクセスすると、確認できます。 mysqlkoa テーブルが次のとおりであることを確認します。
データの削除/delete にアクセスすると、該当する行を削除します。リクエストパラメータ名を使用して削除するフレームを指定し、ctx.query.nameを使用してサーバー側でそれを取得します。コードは次のとおりです。
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(); }) }) })
データを変更する/にアクセスする場合update の場合、更新された vue フレームワークの作成者は Evan You という名前です。コードは次のとおりです。
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(); }) }) })
http://localhost にアクセスします。 3000/update
Find data/select にアクセスすると、リクエスト内のフレーム名の条件を満たすアイテムを取得しますコードは次のとおりです。
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(); }) }) })
#
以上がNode.js で MySQL データベースを操作するための基本的なチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。