Node.js Chèn MySQL vào


Chèn vào bảng

Để điền vào một bảng trong MySQL, hãy sử dụng câu lệnh "INSERT INTO".

Thí dụ

Chèn bản ghi vào bảng "khách hàng":

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "INSERT INTO customers (name, address) VALUES ('Company Inc', 'Highway 37')";
  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:

Chạy "demo_db_insert.js"

C:\Users\Your Name>node demo_db_insert.js

Điều này sẽ cung cấp cho bạn kết quả này:

Connected!
1 record inserted


Chèn 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 này sẽ được thay thế bằng mảng giá trị:
INSERT INTO customers (name, address) VALUES ?

Thí dụ

Điền vào bảng "khách hàng" với dữ liệu:

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "INSERT INTO customers (name, address) VALUES ?";
  var values = [
    ['John', 'Highway 71'],
    ['Peter', 'Lowstreet 4'],
    ['Amy', 'Apple st 652'],
    ['Hannah', 'Mountain 21'],
    ['Michael', 'Valley 345'],
    ['Sandy', 'Ocean blvd 2'],
    ['Betty', 'Green Grass 1'],
    ['Richard', 'Sky st 331'],
    ['Susan', 'One way 98'],
    ['Vicky', 'Yellow Garden 2'],
    ['Ben', 'Park Lane 38'],
    ['William', 'Central st 954'],
    ['Chuck', 'Main Road 989'],
    ['Viola', 'Sideway 1633']
  ];
  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:

Chạy "demo_db_insert_multiple.js"

C:\Users\Your Name>node demo_db_insert_multiple.js

Điều này sẽ cung cấp cho bạn kết quả này:

Connected!
Number of records inserted: 14

Đối tượng kết quả

Khi thực hiện một truy vấn, một đối tượng kết quả được trả về.

Đối tượng kết quả chứa thông tin về cách truy vấn ảnh hưởng đến bảng.

Đối tượng kết quả 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
}

Giá trị của các thuộc tính có thể được hiển thị như sau:

Thí dụ

Trả lại số hàng bị ảnh hưởng:

console.log(result.affectedRows)

Điều nào sẽ tạo ra kết quả này:

14

Nhận 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 hỏi đối tượng kết quả.

Lưu ý: Để có thể lấy được id đã chèn, chỉ có thể chèn một hàng.

Thí dụ

Chèn bản ghi vào bảng "khách hàng" và trả lại ID:

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

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:

Chạy "demo_db_insert_id.js"

C:\Users\Your Name>node demo_db_insert_id.js

Đổi lại sẽ cho bạn một cái gì đó như thế này:

1 record inserted, ID: 15