1.首先下載mysql
npm install mysql --save
2.下載express(這裏基於express框架介紹)
npm install express --save
3.創建連接,設置連接字段和參數
4.連接測試
5.調用connection的 query方法
第一個參數是查詢的語句,第二個參數是一個數組包含查詢的結果,
第三個參數也是一個數組,裏面包含着對每個數據的解釋,比如當前數據屬於哪個庫,那張表等等
6.關閉連接
附源碼
var express=require('express')
var mysql=require('mysql')
var app=express()
var connection=mysql.createConnection({
"host": 'localhost',
"user": 'root',
"password": '123456',
"database": 'sermatec',
})
connection.connect(function (err) {
if(err){
throw err;
console.log('connect failed')
return ;
}
})
// 訪問首頁 查詢所有數據
app.get('/',function (req,res) {
var sql ='select * from test'
connection.query(sql,function (err,result,felid) {
if(err){
throw err;
return ;
}
res.send(result)
})
connection.end(function (err) {
if(err){
throw err;
console.log('close failed')
return ;
}
console.log('close succeed')
})
})
app.listen(9090,function () {
console.log('9090')
})
注意,注意,注意!!!!
這種方式雖然可以連接成功,但是當服務啓動時,每次只能查詢一次,就是說刷新頁面就會報錯,只有重啓服務才能再次查詢。因爲我們每次查詢結束後就將連接關閉了,如果將後面 connection.end關閉連接去掉就可以連續訪問,但是總不能不關閉連接吧,所以要將創建連接的代碼放在路由裏面 ,這樣每次訪問的時候就會新建一個連接然後在關閉
var express=require('express')
var mysql=require('mysql')
var app=express()
// 訪問首頁 查詢所有數據
app.get('/',function (req,res) {
var connection=mysql.createConnection({
"host": 'localhost',
"user": 'root',
"password": '123456',
"database": 'sermatec',
})
connection.connect(function (err) {
if(err){
throw err;
console.log('connect failed')
return ;
}
})
var sql ='select * from test'
connection.query(sql,function (err,result,felid) {
if(err){
throw err;
return ;
}
res.send(result)
})
connection.end(function (err) {
if(err){
throw err;
console.log('close failed')
return ;
}
console.log('close succeed')
})
})
app.listen(9090,function () {
console.log('9090')
})
第二種方式:使用連接池
var express=require('express')
var mysql=require('mysql')
var app=express()
// 創建連接池
var pool=mysql.createPool({
"host": 'localhost',
"user": 'root',
"password": '123456',
"database": 'sermatec',
})
app.get('/',function (req,res) {
// 從連接池中取連接
pool.getConnection(function (err,connection) {
if(err){
throw err;
console.log('connect failed')
return ;
}
var sql ='select * from test'
connection.query(sql,function (err,result,felid) {
if(err){
throw err;
return ;
}
res.send(result)
})
connection.end(function (err) {
if(err){
throw err;
console.log('close failed')
return ;
}
console.log('close succeed')
})
})
})
app.listen(9090,function () {
console.log('9090')
})
模塊化