06/04/2021, 14:50

Insert / Update / Delete / Select MySQL trong NodeJS - NodeJS căn bản

Trong bài viết này chúng mình sẽ đi tìm hiểu về cách thao tác với các bản ghi trong MySQL bằng module mysql trong NodeJS, các thao tác mình giới thiệu bên dưới bao gồm như : Insert(Thêm ), Update(cập nhật ), Delete (Xóa ). 1. Thao tác với các bản ghi Trong các dự án cần dữ liệu có mối quan hệ ...

Trong bài viết này chúng mình sẽ đi tìm hiểu về cách thao tác với các bản ghi trong MySQL bằng module mysql trong NodeJS, các thao tác mình giới thiệu bên dưới bao gồm như : Insert(Thêm ), Update(cập nhật ), Delete (Xóa ).

1. Thao tác với các bản ghi

Trong các dự án cần dữ liệu có mối quan hệ chặt chẽ với nhau, người ta thường sử dụng MySQL làm hệ quản trị cơ sở dữ liệu chính bởi tính quan hệ chặt chẽ giữa các bản ghi, các mối quan hệ liên kết với nhau qua các "khuân mẫu" nhất định. Khi làm việc với MySQL các lập trình viên cần thao tác như thêm, sửa, xóa rất nhiều. Dưới đây mình sẽ giới thiệu về các thao tác như Insert, Update, Delete, Select với MySQL trong NodeJS.

Trước tiên, mình sẽ đi tạo một bảng ghi mới, nếu bạn chưa biết cách thao tác với các bảng trong MySQL trong NodeJS, bạn nên tham khảo bài viết trước : Thao tác với các bảng MySQL trong NodeJS.

Ở đây mình có một bảng có tên users , chúng ta sẽ có 4 cột :

  • userID
  • username
  • password
  • createDate

Zaidap.com create table mysql nodejs png

CREATE TABLE `users` ( `userID` INT NOT NULL AUTO_INCREMENT , `username` VARCHAR(50) NOT NULL , 
        `password` VARCHAR(50) NOT NULL , 
        `createDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , 
        PRIMARY KEY (`userID`))

2. Insert bản ghi

Để thêm các bảng ghi trong MySQL chúng ta sử dụng câu lệnh SQL:

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

Vậy khi thao tác với MySQL trong NodeJS chúng ta sẽ có câu lệnh như sau:

var sql    = 'INSERT INTO table_name (column1, column2, column3, ...) 
    VALUES (value1, value2, value3, ...);';
connection.query(sql, function (error, results, fields) {
  if (error) throw error;
  // ...
});

Giả sử khi mình muốn thêm một user vào trong bảng sử dụng MySQL trong NodeJS, chúng ta sẽ khởi tạo file app.js có nội dung như sau :

var mysql = require('mysql');
//Khởi tao kết nối với MySQL Server
var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "1234",
  database: "Zaidap.com"  
});
//Tiến hàng kết nối
con.connect(function(err) {
  if (err) throw err;
  //Kết nôi thành công
  console.log("Connected!");
  //Tiến hành khởi tạo databse
  con.query("INSERT INTO users(username,password) VALUES('admin', '1234')", function (err, result) {
    if (err) throw err;
    console.log("Thêm bản ghi thành công !!!");
  });
});

3. Update bản ghi

Chúng ta có thể cập nhật một bản ghi mới trong MySQL bằng câu lệnh SQL:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

Vậy khi thao tác với MySQL trong NodeJS chúng ta sẽ có câu lệnh như sau:

var sql    = 'UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition';
connection.query(sql, function (error, results, fields) {
  if (error) throw error;
  // ...
});

Bây giờ, mình sẽ tiến hành sửa nội dung của bản ghi vừa mới thêm ở phần trên, chúng ta sẽ làm việc trong NodeJS, Tiến hành khởi tạo file app.js có nội dung như sau :

var mysql = require('mysql');
//Khởi tao kết nối với MySQL Server
var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "1234",
  database: "Zaidap.com"  
});
//Tiến hàng kết nối
con.connect(function(err) {
  if (err) throw err;
  //Kết nôi thành công
  console.log("Connected!");
  //Tiến hành khởi tạo databse
  con.query("UPDATE users SET PASSWORD = 'Zaidap.com' WHERE userID = 1", function (err, result) {
    if (err) throw err;
    console.log("Cập nhật bản ghi thành công !!!");
  });
});

4. Xóa một bản ghi

Để xóa một bản ghi trong NodeJS cũng tương tự như cách thêm và sửa, chỉ khác câu lệnh SQL truyền vào. Khi muốn xóa một bản ghi trong MySQL bằng SQL chúng ta sẽ có câu lệnh :

DELETE FROM table_name WHERE condition;

Trong Nodejs cũng tương tự, file app.js sẽ có nội dung như sau:

var mysql = require('mysql');
//Khởi tao kết nối với MySQL Server
var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "1234",
  database: "Zaidap.com"  
});
//Tiến hàng kết nối
con.connect(function(err) {
  if (err) throw err;
  //Kết nôi thành công
  console.log("Connected!");
  //Tiến hành khởi tạo databse
  con.query("DELETE FROM users WHERE userID = 1", function (err, result) {
    if (err) throw err;
    console.log("Xóa bản ghi thành công !!!");
  });
});

5. Select các bản ghi

Ngoài việc thêm, sửa, xóa bạn cũng có thể thao tác để select các bàn ghi trong MySQL bằng NodeJS. chúng ta có thể thực hiện lệnh truy vấn select bằng cách dùng SQL :

SELECT column_name(s) FROM table_name WHERE condition

Khi sử dụng NodeJS, chúng ta sẽ truy vấn như sau :

var mysql = require('mysql');
//Khởi tao kết nối với MySQL Server
var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "1234",
  database: "Zaidap.com"  
});
//Tiến hàng kết nối
con.connect(function(err) {
  if (err) throw err;
  //Kết nôi thành công
  console.log("Connected!");
  //Tiến hành khởi tạo databse
  con.query("SELECT * FROM users WHERE userID = 1", function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Chúng ta sẽ nhận được kết quả như hình:

thao tac voi mysql trong nodejs png

Trong bài này chúng ta đã đi tìm hiểu về các câu lệnh truy vấn trong MySQL khi viết bằng NodeJS, nói chung thì việc thao tác với MySQL trong NodeJS không hề phức tạp, chủ yếu dựa trên các câu truy vấn như các ngôn ngữ khác. Bài sau chúng mình sẽ cùng nhau đi xây dựng một ứng dụng nhỏ sử dụng MySQL. Cảm ơn bạn đã đọc bài viết.

Hoàng Hải Đăng

24 chủ đề

7226 bài viết

Cùng chủ đề
0