下のインストールのMySQLに基づき、我々は、Node.jsのMySQLは、MySQLのモジュールを使用し接続する必要があります。NPMは、MySQLモジュールをインストールするために使用する前に必要とされています。
NPMのMySQLをインストールします
CreateConnectionのMySQLモジュール(MySQLの接続を作成する)方法は、すなわちコードとローカルMySQLデータベース次の接続を確立します。
CONSTのMySQL =(必要' MySQLを' ); CONST接続= mysql.createConnection({ ホスト:' ローカルホスト' 、 ユーザ:' ルート' 、 パスワード:' ルート' })。 connection.connect(関数(ERR){ 場合(ERR){ console.error(' エラーコネクション:' + err.stack); リターン; } はconsole.log(' IDとして接続' + connection.threadId)。 });
上記のコードでは:CreatConnection()メソッドは、接続を作成するために、connection.connect()メソッドは、接続が成功したか否かを判定する。CreatConnection()メソッドは、JSONオブジェクトパラメータを受け取ります。使用されている主なフィールドJSONオブジェクトは、次のとおりです。
- ホスト:アドレスがデータベースに接続する必要があり、デフォルトはlocalhostです。
- ポート:デフォルトのポート接続アドレス、デフォルトは3306です。
- ユーザー:MySQLへの接続に使用するユーザー名
- パスワード:ユーザー名のパスワード
- 接続したいデータベース名:データベース
あなたは、通常、接続端()メソッドを終了することがあります。
connection.end(関数(ERR){
にconsole.log(ERR);
})
もちろん、使用Destoryは()メソッドは、またすぐに、根底にあるソケットを終了させるより多くのイベントとコールバックをトリガしません接続を終了することができます。
connection.destory()
Node.jsのMySQLの操作
接続は、MySQL成功すると、我々はNode.js.を介してデータベースを操作する必要があります MySQLのモジュールは、SQL文、操作に対応し、それによってMySQLデータベースを実行するために使用することができる方法と呼ばれるクエリを()を提供します。
Ssh_forum我々は、回答データテーブルでデータベース接続と仮定し、
チェックアウトデータテーブルのレコードにこのデータについては、以下のコードを使用することができます
const mysql=require('mysql'); const connection=mysql.createConnection({ host:'localhost', user:'root', password:'root' }); //连接MySQL connection.connect(function(err){ //连接出错的处理 if(err){ console.error('error connection:'+err.stack); return; } console.log('connect as id'+connection.threadId); }); //查询数据 connection.query('select * from ssh_forum.answer',function(err,rows){ if(err){ console.log(err); }else{ console.log(rows); } });
最终显示的结果:
上述图片将所有的记录查询出来并打印出来了
上述代码中connection.query()方法的第一个参数是一条SQL语句,第二个参数是一个回调函数,回调函数中的第一个参数是err,第二个参数是执行SQL语句后返回的记录。
connection.query()方法还有一个paramInfo参数可选,当SQL语句中含有一些变量的时候,可以将“?”作为占位符放置在SQL语句中,通过paramInfo参数传递给SQL语句。
const table="mytable"; //查询数据 connection.query('select * from ?',[table],function(err,rows){ if(err){ console.log(err); }else{ console.log(rows); } });
mysql模块提供了一个escape()方法,用来防止SQL注入攻击。SQL注入攻击的本质是黑客在提交给服务器的数据中带有SQL语句,试图欺骗服务器,让服务器运行自己的恶意SQL语句,因此在使用escape方法处理用户提交的数据可以防止SQL注入攻击。