1. 程式人生 > >使用Node.js進行對資料庫的CRUD操作

使用Node.js進行對資料庫的CRUD操作

1.什麼是Node.js?

簡單的說 Node.js 就是執行在服務端的 JavaScript。
Node.js 是一個基於Chrome JavaScript 執行時建立的一個平臺。
Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,效能非常好。

2.什麼是資料庫?

資料庫(Database)是按照資料結構來組織、儲存和管理資料的倉庫,
資料管理不再僅僅是儲存和管理資料,而轉變成使用者所需要的各種資料管理的方式。資料庫有很多種型別,從最簡單的儲存有各種資料的表格到能夠進行海量資料儲存的大型資料庫系統都在各個方面得到了廣泛的應用。

3.再次之前預設是都基本瞭解過Node.js以及資料庫的相關知識。進入正題!!—–》》

資料庫連線
安裝驅動
var mysql = require(‘mysql’);
var connection = mysql.createConnection({
host : ‘localhost’,
user : ‘root’,
password : ‘123456’,
database : ‘test’
});
connection.connect();
connection.query(‘SELECT 1 + 1 AS solution’, function (error, results, fields) {
if (error) throw error;
console.log(‘The solution is: ‘, results[0].solution);
});
測試執行:結果如下:
The solution is: 2

  1. 查詢資料

    var mysql = require(‘mysql’);
    var connection = mysql.createConnection({
    host : ‘localhost’,
    user : ‘root’,
    password : ‘123456’,
    port: ‘3306’,
    database: ‘test’,
    });
    connection.connect();
    var sql = ‘SELECT * FROM student’;
    //查詢
    connection.query(sql,function (err, result) {
    if(err){
    console.log(‘[SELECT ERROR] - ‘,err.message);
    return;
    }
    console.log(result);
    });
    connection.end();
    測試執行:結果如下:
    [ RowDataPacket { s_id: 1, s_name: ‘張三’, s_number: ‘111111’, s_password: ‘1234’ },
    RowDataPacket { s_id: 2, s_name: ‘李四’, s_number: ‘222222’, s_password: ‘123’ },
    RowDataPacket { s_id: 3, s_name: ‘王五’, s_number: ‘333333’, s_password: ‘12345’ } ]

2.插入資料

var mysql = require(‘mysql’);
var connection = mysql.createConnection({
host : ‘localhost’,
user : ‘root’,
password : ‘123456’,
port: ‘3306’,
database: ‘test’,
});
connection.connect();
var insertSql = ‘INSERT INTO student(s_id,s_name,s_number,s_password) VALUES(?,?,?,?)’;
var insertSqlParams = [‘4’, ‘某某’,’444444’, ‘110’];
//增加
connection.query(insertSql,insertSqlParams,function (err, result) {
if(err){
console.log(‘[INSERT ERROR] - ‘,err.message);
return;
}
console.log(‘INSERT ID:’,result);
});
connection.end();
測試執行:結果如下:
INSERT ID: OkPacket {
fieldCount: 0,
affectedRows: 1,
insertId: 4,
serverStatus: 2,
warningCount: 0,
message: ”,
protocol41: true,
changedRows: 0 }

3.更新資料

var mysql = require(‘mysql’);
var connection = mysql.createConnection({
host : ‘localhost’,
user : ‘root’,
password : ‘123456’,
port: ‘3306’,
database: ‘test’,
});
connection.connect();
var sql = ‘UPDATE student SET s_name = ? WHERE s_id = ?’;
var sqlparams = [‘某某某’,4];
//修改
connection.query(sql,sqlparams,function (err, result) {
if(err){
console.log(‘[UPDATE ERROR] - ‘,err.message);
return;
}
console.log(‘UPDATE affectedRows’,result.affectedRows);
});
connection.end();
測試執行:結果如下:
UPDATE affectedRows 1

4.刪除資料

var mysql = require(‘mysql’);
var connection = mysql.createConnection({
host : ‘localhost’,
user : ‘root’,
password : ‘123456’,
port: ‘3306’,
database: ‘test’,
});
connection.connect();
var deleteSql = ‘DELETE FROM student where s_id=4’;
//刪除
connection.query(deleteSql,function (err, result) {
if(err){
console.log(‘[DELETE ERROR] - ‘,err.message);
return;
}
console.log(‘DELETE affectedRows’,result.affectedRows);
});
connection.end();
測試執行:結果如下:
DELETE affectedRows 1