note.js连接MySQL_node.js连接MySQL实例

本文介绍了如何使用Node.js连接并操作MySQL数据库,包括创建数据库和用户、安装MySQL模块、建立连接、插入数据、查询数据、更新数据以及删除数据的详细步骤。通过实例代码展示,帮助读者掌握Node.js与MySQL的交互技巧。
摘要由CSDN通过智能技术生成

Node.js是一种流行的编程语言如PHP和JAVA的Web应用程序。同时MySQL是用于存储值最流行的数据库。对于Node.js的MySQL数据库驱动程序已在NPM仓库中。在本教程中,您将学习如何使用Node.js对MySQL数据库表连接MySQL数据库,并做INSERT,UDATE,SELECT和DELETE操作。

1. 创建MySQL数据库和表

首先在MySQL中创建一个数据库和用户的应用程序。出于测试目的,我们正在创造mydb的数据库,并使用它。

mysql> CREATE DATABASE mydb;

mysql> USE mydb;

现在创建做插入,更新一个例子表和删除操作。

mysql> CREATE TABLE users (

id int(11) NOT NULL AUTO_INCREMENT,

firstname varchar(30),

lastname varchar(30),

email VARCHAR(50),

creation_date TIMESTAMP,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

也创造了从应用程序访问数据库的MySQL用户。

mysql> GRANT ALL on mydb.* to 'myusr'@'localhost' identified by '123456';

mysql> FLUSH PRIVILEGES;

2. 安装Node.js的MySQL模块

MySQL的驱动程序node.js正在节点程序包管理器(NPM)可用。使用下面的命令来安装它。

$ sudo npm install mysql

3. 简单的应用程序来连接mysql

下面是示例node.js的程序,将Node.js应用与MySQL服务器连接。它会根据连接的结果显示成功和错误消息,并收于程序端的连接。创建JavaScript文件app.js。

$ cd myApp

$ vim app.js

并添加以下内容,以上面的文件。

var mysql = require('mysql');

var dbconn = mysql.createConnection({

host : 'localhost',

user : 'myusr',

password : '123456',

database : 'mydb'

});

dbconn.connect(function(err){

if(err){

console.log('Database connection error');

}else{

console.log('Database connection successful');

}

});

dbconn.end(function(err) {

// Function to close database connection

});

现在,使用执行的NodeJS上面的脚本,并确保数据库正常与否连接。

$ node app.js

Database connection successful

4. 插入数据到MySQL表

现在,在上面的脚本中添加代码中mydb数据库中插入的用户表中的数据。

var mysql = require('mysql');

var dbconn = mysql.createConnection({

host : 'localhost',

user : '',

password : '

database : ''

});

dbconn.connect(function(err){

if(err){

console.log('Database connection error');

}else{

console.log('Database connection successful');

}

});

var record= { firstname: 'Rahul', lastname: 'Kumar', email: 'abc@domain.com' };

dbconn.query('INSERT INTO users SET ?', record, function(err,res){

if(err) throw err;

console.log('Last record insert id:', res.insertId);

});

dbconn.end(function(err) {

// Function to close database connection

}

现在,使用命令行执行脚本app.js,并确保数据在数据库中正确插入。重复此步骤几次在上面的脚本更新的值。

$ node app.js

Database connection successful

Last record insert id: 5

还要检查使用mysql命令行下mydb的数据库中的用户表中添加记录。

mysql> select * from users;

+----+-----------+----------+----------------+---------------------+

| id | firstname | lastname | email | creation_date |

+----+-----------+----------+----------------+---------------------+

| 5 | Rahul | Kumar | abc@domain.com | 2016-01-22 17:16:19 |

| 6 | John | Smith | xyz@domain.com | 2016-01-22 17:16:55 |

+----+-----------+----------+----------------+---------------------+

2 row in set (0.01 sec)

5. 从MySQL表选择数据

现在编辑app.js脚本,并添加以下代码。这将获取从users表中的所有记录mydb的数据库。

dbconn.query('SELECT * FROM users',function(err, records){

if(err) throw err;

console.log('Data received from Db:n');

console.log(records);

});

或者你可以自定义的具体条件选择值基础上的搜索。

dbconn.query('SELECT * FROM users WHERE id = ?' [5] ,function(err, records){

if(err) throw err;

console.log('Data received from Db:n');

console.log(records);

});

6. 从MySQL表更新数据

现在,如果你需要更新下面的代码在mysql表的现有数据,使用。

dbconn.query('SELECT users SET email = ? WHERE id = ?', ['new@domain.com', 6], function(err, result){

if(err) throw err;

console.log('Record Updated ' + result.changedRows + ' rows');

});

现在检查数据库表中的值。

mysql> select * from users;

+----+-----------+----------+----------------+---------------------+

| id | firstname | lastname | email | creation_date |

+----+-----------+----------+----------------+---------------------+

| 5 | Rahul | Kumar | abc@domain.com | 2016-01-22 17:16:19 |

| 6 | John | Smith | new@domain.com | 2016-01-22 17:16:55 |

+----+-----------+----------+----------------+---------------------+

2 row in set (0.01 sec)

7. 从MySQL表删除数据

现在,如果你删除表中的一些记录,在您的Node.js应用程序代码中添加以下代码。

dbconn.query('DELETE FROM users WHERE id = ?', [6], function(err, result){

if(err) throw err;

console.log('Record Updated ' + result.affectedRows + ' rows');

});

现在检查数据库表中的值。

mysql> select * from users;

+----+-----------+----------+----------------+---------------------+

| id | firstname | lastname | email | creation_date |

+----+-----------+----------+----------------+---------------------+

| 5 | Rahul | Kumar | abc@domain.com | 2016-01-22 17:16:19 |

+----+-----------+----------+----------------+---------------------+

2 row in set (0.01 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值