ホームページ > ウェブフロントエンド > jsチュートリアル > Node.js で MySQL データベースを操作するための基本的なチュートリアル

Node.js で MySQL データベースを操作するための基本的なチュートリアル

不言
リリース: 2018-10-29 13:57:39
転載
3010 人が閲覧しました

この記事では、Node.js で MySQL データベースを操作するための基本的なチュートリアルを紹介します。必要な方は参考にしていただければ幸いです。

この記事は、npm モジュール mysql を使用して MySQL データベースを操作するための基本的なチュートリアルです。 MySQL がコンピュータにインストールされていない場合は、MySQL のインストールと構成は必要ありません。 WAMPやXAMPPなどの統合環境をインストールすることをお勧めします。この記事では、フロントエンド ブラウザーのリクエストを通じてプロジェクト シナリオをシミュレートするために、軽量の Node.js フレームワーク Koa を使用して Web プログラムを構築します。この記事は、Koa フレームワークの構文を習得していなくても簡単に読むことができます。

プロジェクトを初期化する

プロジェクト ディレクトリを作成し、npm init を使用します。プロジェクトを初期化した後、次の操作を実行します。

依存関係をインストールする

npm install mysql koa koa-router
ログイン後にコピー

Createindex.js

// 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データベース接続が成功したことを示します。

Node.js で MySQL データベースを操作するための基本的なチュートリアル

ブラウザを開いて、localhost:3000 にアクセスし、画面に「訪問インデックス」が表示されたら、テーブル名 プロジェクトの初期化に成功しました。

Node.js で MySQL データベースを操作するための基本的なチュートリアル

データベース操作

データベースの作成

/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 データベースを操作するための基本的なチュートリアル">

ノードindex.jsを作成します。データ テーブル

便宜上、接続時に作成したばかりのデータベースを直接使用します。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

## にアクセスします。

Node.js で MySQL データベースを操作するための基本的なチュートリアル

#複数のデータの挿入

/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();
    })
  })
})
ログイン後にコピー
nodeindex.jsを再実行し、ブラウザでアクセスしてください。 localhost:3000/insertmulti

Node.js で MySQL データベースを操作するための基本的なチュートリアル

phpMyAdminを使用してアクセスすると、確認できます。 mysqlkoa テーブルが次のとおりであることを確認します。

Node.js で MySQL データベースを操作するための基本的なチュートリアル

データの削除

/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();
    })
  })
})
ログイン後にコピー
ノードindex.jsを再実行します。ブラウザを使用して http://localhost: 3000/delete?name=jQueryにアクセスします

Node.js で MySQL データベースを操作するための基本的なチュートリアル

データを変更する

/にアクセスする場合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();
    })
  })
})
ログイン後にコピー
nodeindex.js を再実行し、ブラウザを使用して

http://localhost にアクセスします。 3000/update

Node.js で MySQL データベースを操作するための基本的なチュートリアル

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();
    })
  })
})
ログイン後にコピー
nodeindex.js を再実行し、ブラウザを使用して http://localhost:3000/select?name=vue

# にアクセスします。

Node.js で MySQL データベースを操作するための基本的なチュートリアル#

以上がNode.js で MySQL データベースを操作するための基本的なチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート