Điện thoại/ Zalo
0389934723
Bài 2: Thực thi query MySQL với Node.js
Ở bài trước mình đã giới thiệu với mọi người về cách kết nối Node.js đến MySQL rồi. Bài này chúng ta sẽ tiếp tục đi vào thực hiện các câu truy vấn trong MySQL với Node.js bằng phương thức query.
1, Cú Pháp.
-Để thực hiện truy vấn MySQL bằng Node.js thì mọi người sử dụng cú pháp:
conn.query(sql,function (err, result, fields) {
//code
});
Trong đó:
sql
– là câu truy vấn SQL mà các bạn muốn thực hiện.err
– là biến chứa thông tin lỗi nếu có.result
– là biến chứa mảng object data trả về của câu truy vấn nếu có.fields
– là biến chứa mảng object chứa thông tin về từng trường củaresults
trả về (nếu có).
2, Ví Dụ.
VD1: Tạo mới 1 table trong MySQL bằng Node.js.
var mysql = require('mysql');
var conn = mysql.createConnection({
host : 'localhost',
user : 'root',
password: '',
database: 'mysql_node',
});
//kết nối.
conn.connect(function (err){
//nếu có nỗi thì in ra
if (err) throw err.stack;
//nếu thành công
var sql = "CREATE TABLE city (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT ,name varchar(30) not null, zipcode varchar(6))";
conn.query(sql, function (err) {
if (err) throw err;
console.log('Tao thanh cong');
});
});
Lúc này nếu thành công thì chương trình sẽ báo:
Tao thanh cong
Để kiểm tra các bạn có thể truy cập vào database để xem.
VD2: Thêm mới dữ liệu vào bảng bằng Node.js.
var mysql = require('mysql');
var conn = mysql.createConnection({
host : 'localhost',
user : 'root',
password: '',
database: 'mysql_node',
});
//kết nối.
conn.connect(function (err){
//nếu có nỗi thì in ra
if (err) throw err.stack;
//nếu thành công
var sql = "INSERT INTO city(name,zipcode) values ('Ha Noi', '100000'),('T.P HCM','80000'), ('Da Nang', '50000'), ('Nam Dinh', '40000')";
conn.query(sql, function (err) {
if (err) throw err;
console.log('Tao thanh cong');
});
});
Nếu thành công thì kết quả trả về sẽ là: Tao thanh cong
Để chắc chắn các bạn vào phpmyadmin xem
VD3: Select dữ liệu trong bảng.
var mysql = require('mysql');
var conn = mysql.createConnection({
host : 'localhost',
user : 'root',
password: '',
database: 'mysql_node',
});
//kết nối.
conn.connect(function (err){
//nếu có nỗi thì in ra
if (err) throw err.stack;
//nếu thành công
var sql = "SELECT * FROM city";
conn.query(sql, function (err,results, fields) {
if (err) throw err;
console.log(results);
});
});
Nếu đúng thì kết quả trả về sẽ có dạng.
[
{ id: 1, name: 'Ha Noi', zipcode: '100000' },
{ id: 2, name: 'T.P HCM', zipcode: '80000' },
{ id: 3, name: 'Da Nang', zipcode: '50000' },
{ id: 4, name: 'Nam Dinh', zipcode: '40000' }
]
VD4: Cũng như VD3 nhưng là lấy thông tin của các trường của dữ liệu.
var mysql = require('mysql');
var conn = mysql.createConnection({
host : 'localhost',
user : 'root',
password: '',
database: 'mysql_node',
});
//kết nối.
conn.connect(function (err){
//nếu có nỗi thì in ra
if (err) throw err.stack;
//nếu thành công
var sql = "SELECT * FROM city";
conn.query(sql, function (err,results, fields) {
if (err) throw err;
console.log(fields);
});
});
Kết Quả trả về sẽ có dạng:
[
{
catalog: 'def',
db: 'mysql_node',
table: 'city',
orgTable: 'city',
name: 'id',
orgName: 'id',
charsetNr: 63,
length: 11,
type: 3,
flags: 16899,
decimals: 0,
default: undefined,
zeroFill: false,
protocol41: true
},
{
catalog: 'def',
db: 'mysql_node',
table: 'city',
orgTable: 'city',
name: 'name',
orgName: 'name',
charsetNr: 33,
length: 90,
type: 253,
flags: 4097,
decimals: 0,
default: undefined,
zeroFill: false,
protocol41: true
},
{
catalog: 'def',
db: 'mysql_node',
table: 'city',
orgTable: 'city',
name: 'zipcode',
orgName: 'zipcode',
charsetNr: 33,
length: 18,
type: 253,
flags: 0,
decimals: 0,
default: undefined,
zeroFill: false,
protocol41: true
}
]
3, Lời kết.
-Như vậy, qua bài này mình đã giới thiệu xong đến mọi người cách thực thi truy vấn MySQL bằng Node.js rồi. Bài sau chúng ta sẽ tìm hiểu về kỹ thuật escaping trong mysql module.