Bài trước mình đã giới thiệu với mọi người về cách lấy ra ID của bản ghi mà chúng ta vừa mới insert vào trong MySQL. Bài này tiếp tục mình sẽ giới thiệu với mọi người cách lấy ra sỗ lượng bản ghi đã xóa, sửa trong SQL khi chạy câu truy vấn.
1, Database.
-Để cho dễ hiểu thì mình sẽ giả sử database của mình có table city và trong đó có các bản ghi như sau:
Code insert database:
CREATE TABLE `city` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
`zipcode` varchar(6) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `city`
--
INSERT INTO `city` (`id`, `name`, `zipcode`) VALUES
(1, 'Ha Noi', '100000'),
(2, 'Nam Dinh', '40000'),
(3, 'TP HCM', '120000'),
(4, 'Ninh Binh', '80000'),
(5, 'Binh Dinh', '70000'),
(6, 'Hoa Binh', '110000');
2, Lấy ra số lượng bản ghi vừa được xóa.
-Để lấy ra được số lượng bản ghi vừa được xóa trong SQL (khi chạy lệnh delete) thì các bạn sử dụng thuộc tính affectedRows
theo cú pháp:
conn.query(sql, function (err, results, fields) {
//số lượng bản ghi đã được xóa khi chạy lệnh sql
results.affectedRows;
})
Trong đó:
sql
- là câu truy vấn delete dữ liệu của các bạn.results.affectedRows
- trả về số lượng bản ghi vừa được xóa khi thực thi câu lệnhsql
.
VD1: Thực hiện xóa bản ghi số 1 trong MySQL và đồng thời trả về số bản ghi đã được xóa.
var mysql = require('mysql');
var conn = mysql.createConnection({
host : 'localhost',
user : 'root',
password: '',
database: 'mysql_node',
});
//kết nối.
conn.connect(function (err){
if (err) throw err.stack;
var sql = "DELETE FROM city WHERE id = 1";
conn.query(sql, function (err, results, fields) {
if (err) throw err.stack;
console.log('Xoa thanh cong ' + results.affectedRows + ' ban ghi');
});
});
Với database như ở phần 1 thì kết quả trả về sẽ là:
Xoa thanh cong 1 ban ghi
VD2: Cũng với database ở phần 1, lần này mình sẽ xóa các bản ghi có id bằng 1,2,3.
var mysql = require('mysql');
var conn = mysql.createConnection({
host : 'localhost',
user : 'root',
password: '',
database: 'mysql_node',
});
//kết nối.
conn.connect(function (err){
if (err) throw err.stack;
var sql = "DELETE FROM city WHERE id IN (1,2,3)";
conn.query(sql, function (err, results, fields) {
if (err) throw err.stack;
console.log('Xoa thanh cong ' + results.affectedRows + ' ban ghi');
});
});
Kết quả trả về:
Xoa thanh cong 2 ban ghi
-Số lượng bản ghi xóa được trả về là 2 (không phải 3) là do bản ghi có ID bằng 1 mình đã xóa ở ví dụ 1 rồi.
3, Lấy ra số lượng bản ghi vừa được sửa.
-Để lấy ra số lượng bản ghi vừa mới được sử trong MySQL thì các bạn sử dụng thuộc tính changedRows
theo cú pháp:
conn.query(sql, function (err, results, fields) {
//số lượng bản ghi đã được sửa khi chạy lệnh sql
results.changedRows;
})
Trong đó:
sql
- là câu truy vấn update dữ liệu của các bạn.results.changedRows
- trả về số lượng bản ghi vừa được sửa khi thực thi câu lệnhsql
.
VD3: Sửa bản ghi có id = 4 nếu sửa thành công thì in ra số lượng bản ghi đã được sửa.
var mysql = require('mysql');
var conn = mysql.createConnection({
host : 'localhost',
user : 'root',
password: '',
database: 'mysql_node',
});
//kết nối.
conn.connect(function (err){
if (err) throw err.stack;
var sql = "UPDATE city SET name = 'Thai Binh' WHERE id = 4";
conn.query(sql, function (err, results, fields) {
if (err) throw err.stack;
console.log('Sua thanh cong ' + results.changedRows + ' ban ghi');
});
});
Kết quả thu được:
Sua thanh cong 1 ban ghi
VD4: Thực hiện sửa zipcode của các bản ghi có id = 2, 4, 6 thành '8888' và in ra số lượng bản ghi đã được sửa.
conn.connect(function (err){
if (err) throw err.stack;
var sql = "UPDATE city SET zipcode = '8888' WHERE id IN (2,4,6)";
conn.query(sql, function (err, results, fields) {
if (err) throw err.stack;
console.log('Sua thanh cong ' + results.changedRows + ' ban ghi');
});
});
Kết quả:
Sua thanh cong 2 ban ghi
Vì bản ghi có id = 2
đã được xóa trong ví dụ 2 lên câu truy vấn trên chỉ sửa được 2 bản ghi có id là 4 và 6.
4, Lời kết.
-Như vậy bài này mình đã giới thiệu với mọi người cách lấy ra số lượng bản ghi đã được sửa,xóa khi thực hiện câu truy vấn SQL bằng Node.js. Bài tiếp theo chúng ta sẽ tìm hiểu về cách thực thi nhiều câu truy vấn trên một lần query.
Đăng ký nhận tin.
Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!
0 Comments