Node.js: INSERT


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

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ả:

Connected!
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ả:

Connected!
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ả:

3

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ả:

1 record inserted, ID: 5
» Tiếp: SELECT
« Trước: Tạo bảng (CREATE TABLE)
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!