nodejs使用MySQL

一、搭建环境
nodejs和MySQL的安装就不说了,安装好后,通过npm安装MySQL模块。
在自己nodejs项目的根目录,运行
npm install mysql --save
其中,--save是将mysql模块写入package.json文件的依赖模块配置中,也可以不添加此选项。

二、创建数据库
运行下面的sql语句,可创建一个简单的数据库和user表
创建数据库tsnode

?
1
CREATE DATABASE `tsnode`;

创建表user

?
1
2
3
4
5
6
7
8
9
10
CREATE TABLE ` user ` (
`userid` int (11) NOT NULL AUTO_INCREMENT,
`username` varchar (45) DEFAULT NULL COMMENT '账号' ,
` password ` varchar (45) DEFAULT NULL COMMENT '密码' ,
`userdesc` varchar (145) DEFAULT NULL COMMENT '备注' ,
`birthday` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '生日' ,
`logincount` int (11) DEFAULT '0' COMMENT '登录次数' ,
PRIMARY KEY (`userid`),
UNIQUE KEY `iduser_UNIQUE` (`userid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT= 'table for user manage' ;

三、项目js文件中引入mysql模块并操纵数据库
1、连接数据库并查询,将返回数据从控制台输出

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var mysql = require( 'mysql' );
var connection = mysql.createConnection({
     'host' : 'localhost' ,
     'user' : 'root' ,
     'password' : 'passoo' ,
     'port' : '3307' ,
     'database' : 'tsnode'
});
 
connection.connect();
connection.query( 'select * from user limit 0,10' , function (err, rows, fields){
     if (err) throw err;
     console.log(rows);  // 输出查询结果JSON
     var birthday = rows[0].birthday;
     console.log(birthday.getTime());  // 输出生日
     console.log(fields);  // 输出字段属性
});
connection.end();

2、使用连接池

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/**
  * 使用连接池
  */
var mysql = require( 'mysql' );
var pool = mysql.createPool({
     'host' : 'localhost' ,
     'user' : 'root' ,
     'password' : 'passoo' ,
     'port' : '3307' ,
     'database' : 'tsnode'
});
 
pool.getConnection( function (err, connection){
     console.log( '1 connected!' );
     // 执行SQL语句
     connection.query( "INSERT INTO `tsnode`.`user` (`username`, `password`, `userdesc`) VALUES ('realwall', 'passoo', 'This is user desc2')" , function (err, result){
         if (err){
             connection.rollback( function (){
                 throw err;
             });
         }
         console.log( 'connection 1 insert' );
         console.log(result);
         // 将连接释放到连接池
         connection.release();
         console.log( 'connection 1 released' );
     });
});
 
pool.getConnection( function (err, connection){
     if (err) throw err;
     console.log( '2 connected!' );
     // 执行SQL语句
     connection.query( 'select * from user limit 0,10' , function (err, rows){
         console.log( 'connection 2 query' );
         console.log(rows);
         // 将连接释放到连接池
         connection.release();
         console.log( 'connection 2 released' );
     });
});

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值