ホームページ >ウェブフロントエンド >jsチュートリアル >Nodejs を使用して mysql に接続し、基本的な操作を実装します
この記事では、Nodejs が mysql に接続し、追加、削除、変更、クエリの操作を実現する方法を主に紹介し、nodejs の mysql データベースへの接続、mysql データベースの作成、nodejs の mysql の追加、削除、変更、クエリも分析します。特定の実装スキルが必要な友人は参照してください
この記事では、Nodejs が mysql に接続し、追加、削除、変更、クエリ操作を実装する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
1.
nodejs チュートリアルを準備します。そのほとんどは例として mongodb を使用します。ただし、mongodb にはいくつかの制限があり、公式 Web サイトに記載されています。 MySQL の使用経験はまだあるので、MySQL を使用する予定です。まずは研究に集中してください。 node-mysql は、現在、node で最も人気のある mysql ドライバーです。非同期コールバック メソッドには実際には多くの落とし穴があるため、最初はこれを使用しました。
次のプロジェクトのパッケージ名はmysql、バージョンはmysql@ 2.5.4です
まず、以下に示すコードを説明します。すべて以下のコードで始まり、後では説明しません
var connection = mysql.createConnection({ host : '127.0.0.1', user : 'root', password : 'root123', port: '3306', database: 'my_news_test', });
の意味コードは非常に簡単です。さらに詳しく知りたい場合は、上記の公式 Web サイトで確認できます。ホストやユーザーなどの設定は、MySQL データベース アプリケーションを作成したことがある方には明らかなはずです。対応するパラメータはご自身で変更してください。次のコードは、データベース「my_news_test」に node_use というテーブルがあることを前提としています。このテーブルには 3 つの属性
id: 自動インクリメントされた主キー
name: 固有の制限付き
age: 年齢 があります。
MySQL のテスト MySQL バージョン: 5.5
2. データベースを構築し、5 つのレコードを挿入します
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. まず環境をテストします
1 まず、nodejs の mysql パッケージをインストールする必要があります。
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. Nodejs と 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. 実行結果
D:\User\myappejs4>node mysqltest.js 1 admin 32 2 dans88 45 3 张三 35 4 ABCDEF 88 5 李小二 65
4. Node.js と MySQL の追加、削除、変更、およびチェック操作を組み合わせます1
var mysql = require('mysql'); var connection = mysql.createConnection({ host : '127.0.0.1', user : 'root', password : 'root123', port: '3306', database: 'my_news_test', }); 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: '', protocol41: true, changedRows: 0 } #######################
2.
var mysql = require('mysql'); var connection = mysql.createConnection({ host : '127.0.0.1', user : 'root', password : 'root123', port: '3306', database: 'my_news_test', }); 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();を変更すると、実行結果は次のようになります
D:\User\myappejs4>node mysqltest_up.js ----------UPDATE------------- UPDATE affectedRows 1 ******************************実行結果は次のようになります
var mysql = require('mysql'); var connection = mysql.createConnection({ host : '127.0.0.1', user : 'root', password : 'root123', port: '3306', database: 'my_news_test', }); 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();
4 . 削除操作
D:\User\myappejs4>node mysqltest_query.js ---------------SELECT---------------- [ { id: 1, name: 'admin', age: 32 }, { id: 2, name: 'dans88', age: 45 }, { id: 3, name: '张三', age: 35 }, { id: 4, name: 'ABCDEF', age: 88 }, { id: 5, name: '李小二', age: 65 }, { id: 6, name: 'Wilson', age: 55 } ] $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
をあなたのために整理しました 皆さん、今後皆さんのお役に立てれば幸いです。
関連記事:
vue で静的リソースをパッケージ化する方法
Koa2 での async&await の使用法は何ですか?
zTreeツリープラグインで全国の5レベル地域のクリックロードを実装する方法
node+expressのパーソナライズされたチャットルームを実装するにはどうすればよいですか?
以上がNodejs を使用して mysql に接続し、基本的な操作を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。