NTM Solutions

Thứ Sáu, 3 tháng 7, 2020

NODEJS MYSQL-BÀI 04-CHÈN DỮ LIỆU

Xem mục lục lập trình NodeJS

01-Chèn dữ liệu vào bảng

Để điền dữ liệu vào bảng trong MySQL ta dùng câu truy vấn “INSERT INTO”.

Ví dụ: chèn 01 dòng tin vào bảng “customers”

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 đoạn mã trên với tên tập tin “demo_db_insert.js” và chạy nó.

d:/NODE/node demo_db_insert.js

Trên màn hình CMD sẽ trả ra kết quả:

Connected!
1 record inserted


02-Chèn nhiều records

Để chèn nhiều dòng tin 01 lúc, ta tạo 01 mảng chứa dữ liệu, và chèn 01 dấu chấm hỏi trong sql dùng để thay thế mảng giá trị.

INSERT INTO customers (name, address) VALUES ?

Ví dụ: chèn dữ liệu vào bảng “customers”

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 đoạn mã trên thành tập tin “demo_db_insert_multiple.js” và chạy nó.

D:/NODE/node demo_db_insert_multiple.js

Kết quả trả về trên màn hình CMD là:

Connected!
Number of records inserted: 14

03-Đối tượng trả về

Khi thi hành 01 câu truy vấn, 01 đối tượng sẽ được trả về.

Đối tượng trả về chứa thông tin về cách câu truy vấn tác động lên bảng.

Đối tượng trả về từ ví dụ trên trông giống như vầy:

{
  fieldCount: 0,
  affectedRows: 14,
  insertId: 0,
  serverStatus: 2,
  warningCount: 0,
  message: '\'Records:14  Duplicated: 0  Warnings: 0',
  protocol41: true,
  changedRows: 0
}

Ta có thể hiển thị các giá trị theo cách này:

Ví dụ: trả về số dòng tin đã bị tác động.

Console.log(result.affectedRows)

Kết quả hiện lên màn hình CMD sẽ là : 14


04-Lấy ID đã chèn

Đối với các bảng có trường id là số tăng tự động, bạn có thể lấy số id của dòng tin vừa chèn bằng cách dùng đối tượng trả về.

Ghi chú: chỉ có thể lấy ID đã chèn của 01 dòng tin.

Ví dụ: chèn dòng tin vào bảng “customer” và trả về số 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 đoạn mã với tên là “demo_db_insert_id.js” và chạy nó.

D:/NODE/node demo_db_insert_id.js

Kết quả trả ra màn hình CMD là: 1 record inserted, ID: 15

Nếu vẫn chưa rõ các bạn xem thêm video clip sau:

Xem mục lục lập trình NodeJS

By #drM

Không có nhận xét nào:

Đăng nhận xét

Facebook Youtube RSS