我使用的IDE是webstrom,在cmd中使用npm安装mysql:npm install mysql
在工程中创建js文件,连接本地数据库(本地数据库已经启动):
1 mysql的简单使用
//引入mysql模块
var mysql=require('mysql');
//c创建连接
var conn=mysql.createConnection({
host:'127.0.0.1',
username:'root',
password:'',
database:'test'
});
//进行连接
conn.connect();
var username='Miss zhang';
var course='Math';
//以insert写sql语句
var sql="select * from teacher where username='"+username+"',and'"+course+"');"
conn.query(sql,function(err,result){
if(err){
console.err(err)
}else{
console.log(result);
}
});
这样拼接sql语句太累,mysql模块还给我提供了一种方式:
[username,course]数组中的值对应问号后的参数。
var sql2='select * from teacher where username=? and course=?';
conn.query(sql2,[username,course],function(err,result){
if(err){
console.err(err)
}else{
if(result.length>0){
console.log('查询成功');
}else{
console.log('查询失败');
}
}
});
//使用完后要对数据库连接进行释放
conn.destroy();
2 mysql连接池
我们都知道建立和释放mysql数据库连接是十分消耗系统资源的,如果不设定连接上限数据库会崩溃。所以一般会使用连接池技术,好处是:减少连接时间、简化编程模型、控制资源。
在连接池中创建好一些连接供使用,连接数可以设定(一般默认是10),如果连接已经用完则排队等候释放连接。
<pre name="code" class="javascript">var mysql = require('mysql');
var pool = mysql.createPool({
host:'127.0.0.1',
user:'root',
database:'qiqidb',
connectionLimit:10
})
var sql3='select * from teacher';
pool.query(sql3,function(err,result){
if(err){
console.err(err)
}else{
console.log(result);
}
});