CĂN BẢN
SERVER
MYSQL
MONGODB
MODULE
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Insert / Update / Delete / Select MySQL trong NodeJS

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.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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

freetuts 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: "freetuts"  
});
//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: "freetuts"  
});
//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 = 'freetuts' 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: "freetuts"  
});
//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: "freetuts"  
});
//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.

Cùng chuyên mục:

Crawl dữ liệu website bằng NodeJS cơ bản

Crawl dữ liệu website bằng NodeJS cơ bản

CORS là gì ? Xử lý CORS trong NodeJS

CORS là gì ? Xử lý CORS trong NodeJS

Chắc hẳn trong quá trình xử lý các request tới server thì một vài trường…

Xử lý form trong Express

Xử lý form trong Express

Xây dựng URL trong Express

Xây dựng URL trong Express

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về cách xây…

Populate trong Mongoose

Populate trong Mongoose

Error Handling & Debugging trong Socket.io

Error Handling & Debugging trong Socket.io

Namespaces & Rooms trong Socket.io

Namespaces & Rooms trong Socket.io

Middleware trong Mongoose

Middleware trong Mongoose

Create / Read / Update / Delete trong Mongoose

Create / Read / Update / Delete trong Mongoose

Validation trong Mongoose

Validation trong Mongoose

Subdocuments trong Mongooose

Subdocuments trong Mongooose

Documents trong Mongoose

Documents trong Mongoose

Trong bài viết này chúng ta sẽ tìm hiểu về documents trong Mongoose

Models trong Mongoose

Models trong Mongoose

SchemaTypes trong Mongoose

SchemaTypes trong Mongoose

Schemas trong Mongoose

Schemas trong Mongoose

Mongoose trong NodeJS

Mongoose trong NodeJS

Làm việc với Table MySQL sử dụng Nodejs

Làm việc với Table MySQL sử dụng Nodejs

Kết nối với MongoDB trong NodeJS

Kết nối với MongoDB trong NodeJS

Giới thiệu MongoDB trong NodeJS

Giới thiệu MongoDB trong NodeJS

Broadcasting trong Socket.io

Broadcasting trong Socket.io

Top