Hướng dẫn javascript insert sql - javascript chèn sql

Code ví dụ Node.js MySQL – Insert / save dữ liệu

Giả sử bạn đã có sẵn database demo với table customer (id, name, address)

(Xem lại: Code ví dụ node.js tạo database, tạo table)

CREATE DATABASE demo;
CREATE TABLE demo.customer (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255));

Để insert dữ liệu vào table customer ta dùng câu lệnh insert.

Ví dụ:

INSERT INTO customer (name, address) VALUES ('kai', 'viet nam');

Code ví dụ node.js insert:

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  port: "3306",
  user: "root",
  password: "admin1234",
  database: "demo"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
});

var sql = "INSERT INTO customer (name, address) VALUES ('kai', 'viet nam');";

con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("inserted!");
 });
  
con.end(function(err) {
  if (err) throw err;
  console.log("Closed!");
});

Lưu file trên với tên insert-one.js và chạy (nhớ phải cài module mysql trước nhé)

Hướng dẫn javascript insert sql - javascript chèn sql

kết quả:

Hướng dẫn javascript insert sql - javascript chèn sql

Trường hợp muốn insert nhiều bản ghi cùng lúc

Để insert nhiều hơn 1 bản ghi, ta cần tạo một mảng chứa các giá trị cần insert và chèn nó vào câu sql thông qua dấu '?'

Ví dụ:

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  port: "3306",
  user: "root",
  password: "admin1234",
  database: "demo"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
});

var sql = "INSERT INTO customer (name, address) VALUES ?;";
var values = [
  ['Super Man', 'DC'],
  ['Iron Man', 'Marven'],
  ['Donal Duck', 'Disney']
];

con.query(sql, [values], function (err, result) {
    if (err) throw err;
    console.log(result);
 });
  
con.end(function(err) {
  if (err) throw err;
  console.log("Closed!");
});

Code ví dụ node.js insert:

Hướng dẫn javascript insert sql - javascript chèn sql

Lưu file trên với tên insert-one.js và chạy (nhớ phải cài module mysql trước nhé)

Hướng dẫn javascript insert sql - javascript chèn sql

kết quả:

Trường hợp muốn insert nhiều bản ghi cùng lúc

Để insert nhiều hơn 1 bản ghi, ta cần tạo một mảng chứa các giá trị cần insert và chèn nó vào câu sql thông qua dấu '?'

Referneces:

https://www.npmjs.com/package/mysql



Để hiển thị các giá trị của các thuộc tính thì ta có thể làm như sau:
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;
  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_id.js" và chạy tệp:

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

Kết quả:

Các khóa học qua video:
1 record inserted

Lập trình C Java C# SQL Server PHP HTML5-CSS3-JavaScript

« Prev: Node.js: Tạo bảng (CREATE TABLE)

INSERT INTO customer (name, address) VALUES ('kai', 'viet nam');
1

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);
  });
});

» Next: Node.js: SELECT

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

Kết quả:

Connected!Number of records inserted: 3
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ả:

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ề.

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);
  });
});

Đố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:

Kết quả:

Hướng dẫn javascript insert sql - javascript chèn sql

Để hiển thị các giá trị của các thuộc tính thì ta có thể làm như sau:
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: Prev: Node.js: Tạo bảng (CREATE TABLE)
Lưu ý: Để có thể lấy được id đã chèn thì ta chỉ chèn một hàng (record) duy nhất. Next: Node.js: SELECT