Node.js: INSERT
Insert một bản ghi
Để chèn dữ liệu vào một bảng trong MySQL, hãy sử dụng câu lệnh "INSERT" hoặc "INSERT INTO".
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "yourusername", password: "yourpassword", database: "nodejs_db" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "INSERT INTO customers (name, address) VALUES ('V1Study', 'Hà Nội')"; con.query(sql, function (err, result) { if (err) throw err; console.log("1 record inserted"); }); });
Lưu mã ở trên vào tệp có tên "demo_db_insert.js" và chạy tệp:
C:\Users\Your Name>node demo_db_insert.js
Kết quả:
1 record inserted
Insert nhiều bản ghi
Để chèn nhiều bản ghi, hãy tạo một mảng chứa các giá trị và chèn một dấu chấm hỏi vào sql, dấu chấm hỏi này sẽ được thay thế bằng mảng giá trị:
INSERT INTO customers (name, address) VALUES ?
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "yourusername", password: "yourpassword", database: "nodejs_db" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "INSERT INTO customers (name, address) VALUES ?"; var values = [ ['Long', 'Hà Nội'], ['Phương', 'Hà Nam'], ['Vịnh', 'Hà Tĩnh'], ]; con.query(sql, [values], function (err, result) { if (err) throw err; console.log("Number of records inserted: " + result.affectedRows); }); });
Lưu mã ở trên vào tệp có tên "demo_db_insert_multple.js" và chạy tệp:
C:\Users\Your Name>node demo_db_insert_multiple.js
Kết quả:
Number of records inserted: 3
Đối tượng result
Khi thực hiện một truy vấn thì một đối tượng result sẽ được trả về.
Đối tượng result chứa thông tin về cách truy vấn ảnh hưởng đến bảng.
Đối tượng result trả về từ ví dụ trên trông giống như sau:
{ fieldCount: 0, affectedRows: 14, insertId: 0, serverStatus: 2, warningCount: 0, message: '\'Records:14 Duplicated: 0 Warnings: 0', protocol41: true, changedRows: 0 }
Để hiển thị các giá trị của các thuộc tính thì ta có thể làm như sau:
console.log(result.affectedRows)
Kết quả:
Lấy ID đã chèn
Đối với các bảng có trường id tăng dần tự động, bạn có thể lấy id của hàng bạn vừa chèn bằng cách yêu cầu đối tượng result như sau:
Lưu ý: Để có thể lấy được id đã chèn thì ta chỉ chèn một hàng (record) duy nhất.
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "yourusername", password: "yourpassword", database: "nodejs_db" }); con.connect(function(err) { if (err) throw err; var sql = "INSERT INTO customers (name, address) VALUES ('Michelle', 'Blue Village 1')"; con.query(sql, function (err, result) { if (err) throw err; console.log("1 record inserted, ID: " + result.insertId); }); });
Lưu mã ở trên vào tệp có tên "demo_db_insert_id.js" và chạy tệp:
C:\Users\Your Name>node demo_db_insert_id.js
Kết quả: