Node.js có khả năng tương tác mạnh mẽ với các cơ sở dữ liệu, và MySQL là một trong những lựa chọn phổ biến. Để sử dụng MySQL với Node.js, bạn cần thực hiện một số bước cài đặt và cấu hình cơ bản.
Bước 1: Cài Đặt MySQL
- Tải và Cài Đặt MySQL:
- Truy cập trang web MySQL để tải xuống và cài đặt MySQL Server trên máy tính của bạn.
- Quá trình cài đặt bao gồm việc thiết lập mật khẩu cho người dùng ‘root’, lưu lại mật khẩu này vì bạn sẽ cần đến nó sau này để kết nối với cơ sở dữ liệu từ Node.js.
Bước 2: Cài Đặt Trình Điều Khiển MySQL trong Node.js
- Cài đặt Module MySQL từ NPM:
- Node.js sử dụng các module để tương tác với cơ sở dữ liệu MySQL. Module phổ biến nhất là
mysql
. - Mở Command Terminal hoặc Terminal và chạy câu lệnh sau để cài đặt module
mysql
: - Câu lệnh này sẽ tải xuống và cài đặt module
mysql
vào dự án Node.js của bạn.
- Node.js sử dụng các module để tương tác với cơ sở dữ liệu MySQL. Module phổ biến nhất là
npm install mysql
Tạo kết nối MYSQL sử dụng nodejs
Tạo một thư mục có tên “DBexample”. Trong thư mục đó, tạo một tệp js có tên “connect.js” có mã sau:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", //host user: "root", //user name password: "12345" // password }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); });
Bây giờ hãy mở cửa sổ lệnh và sử dụng lệnh sau:
Node connection.js
Bây giờ Node.js đã được kết nối với MySQL.
Tạo CSDL MySQL với nodejs
Câu lệnh CREATE DATABASE được sử dụng để tạo cơ sở dữ liệu trong MySQL.
Ví dụ
Để tạo cơ sở dữ liệu có tên “javatpoint”.
Tạo tệp js có tên createdatabase.js có dữ liệu sau trong thư mục DBexample.
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); con.query("CREATE DATABASE testdatabase", function (err, result) { if (err) throw err; console.log("Database created"); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node createdatabase.js
Bạn có thể thấy cơ sở dữ liệu được tạo.
Verification
Để xác minh xem cơ sở dữ liệu có được tạo hay không, hãy sử dụng lệnh SHOW DATABASES . Trước đó, hãy truy cập đường dẫn ban đầu bằng cách sử dụng lệnh mysql-p .
Tạo bảng MySQL sử dụng Nodejs
Lệnh CREATE TABLE dùng để tạo bảng trong MySQL. Bạn phải đảm bảo rằng bạn xác định tên của cơ sở dữ liệu khi tạo kết nối.
Ví dụ
Để tạo một bảng có tên “nhân viên”.
Tạo một tệp js có tên là worker.js có dữ liệu sau trong thư mục DBexample.
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "CREATE TABLE employees (id INT, name VARCHAR(255), age INT(3), city VARCHAR(255))"; con.query(sql, function (err, result) { if (err) throw err; console.log("Table created"); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node employees.js
Tạo khóa chính trong bảng mới:
Hãy tạo một bảng mới có tên “worker2” có id là khóa chính.
Tạo một tệp js có tên là worker2.js có dữ liệu sau trong thư mục DBexample.
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "CREATE TABLE employee2 (id INT PRIMARY KEY, name VARCHAR(255), age INT(3), city VARCHAR(255))"; con.query(sql, function (err, result) { if (err) throw err; console.log("Table created"); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node employee2.js
Verification
Để xác minh xem bảng có được tạo hay không, hãy sử dụng lệnh SHOW TABLES .
Bạn cũng có thể kiểm tra cấu trúc của bảng bằng lệnh DESC để xem id có phải là khóa chính:
Thêm các cột trong Bảng hiện có:
Câu lệnh ALTER TABLE được sử dụng để thêm một cột trong bảng hiện có. Lấy bảng “worker2” đã được tạo và sử dụng một cột lương mới.
Thay thế dữ liệu của bảng “worker2” bằng dữ liệu sau:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "ALTER TABLE employee2 ADD COLUMN salary INT(10)"; con.query(sql, function (err, result) { if (err) throw err; console.log("Table altered"); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node employee2.js
Insert record trong bảng MySQL sử dụng Nodejs
Câu lệnh INSERT INTO được sử dụng để chèn các bản ghi trong MySQL.
Ví dụ
Chèn một bản ghi:
Chèn hồ sơ trong bảng “worker”.
Tạo tệp js có tên là “insert” trong thư mục DBexample và đưa dữ liệu sau vào đó:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "INSERT INTO employees (id, name, age, city) VALUES ('1', 'Ajeet Kumar', '27', 'Allahabad')"; con.query(sql, function (err, result) { if (err) throw err; console.log("1 record inserted"); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node insert.js
Kiểm tra bản ghi đã chèn bằng cách sử dụng truy vấn SELECT:
SELECT * FROM employees;
Chèn nhiều bản ghi
Tạo tệp js có tên “insertall” trong thư mục DBexample và đưa dữ liệu sau vào đó:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); var sql = "INSERT INTO employees (id, name, age, city) VALUES ?"; var values = [ ['2', 'Bharat Kumar', '25', 'Mumbai'], ['3', 'John Cena', '35', ?Las Vegas'], ['4', 'Ryan Cook', '15', ?CA'] ]; con.query(sql, [values], function (err, result) { if (err) throw err; console.log("Number of records inserted: " + result.affectedRows); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node insertall.js
Output:
Kiểm tra bản ghi đã chèn bằng cách sử dụng truy vấn SELECT:
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
SELECT * FROM employees
Kết quả
Khi thực thi phương thức insert (), một đối tượng kết quả được trả về, đối tượng kết quả chứa thông tin về việc chèn.
Nó trông như thế này:
Update table trong MySQL sử dụng Nodejs
Lệnh UPDATE được sử dụng để cập nhật các bản ghi trong bảng.
Ví dụ
Cập nhật city trong bảng “worker” với id là 1.
Tạo file js có tên “update” trong thư mục DBexample và đưa dữ liệu sau vào đó:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; var sql = "UPDATE employees SET city = 'Delhi' WHERE city = 'Allahabad'"; con.query(sql, function (err, result) { if (err) throw err; console.log(result.affectedRows + " record(s) updated"); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node update.js
Nó sẽ thay đổi thành phố của id 1 là Delhi, là Allahabad trước đây.
Delete Record trong MySQL sử dụng Node.js
Lệnh DELETE FROM được sử dụng để xóa các bản ghi khỏi bảng.
Ví dụ
Xóa nhân viên khỏi bảng worker có thành phố là Delhi.
Tạo File js có tên “xóa” trong thư mục DBexample và đưa dữ liệu sau vào đó:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; var sql = "DELETE FROM employees WHERE city = 'Delhi'"; con.query(sql, function (err, result) { if (err) throw err; console.log("Number of records deleted: " + result.affectedRows); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node delete.js
Bạn có thể xác minh bản ghi đã xóa bằng cách sử dụng câu lệnh SELECT.
Select table sử dụng Node.js
Ví dụ:
Lấy tất cả dữ liệu từ bảng “employees”.
Tạo tệp js có tên select.js có dữ liệu sau trong thư mục DBexample.
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; con.query("SELECT * FROM employees", function (err, result) { if (err) throw err; console.log(result); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node select.js
Bạn cũng có thể sử dụng câu lệnh:
SELECT * FROM employees;
MySQL chọn Unique record
Lấy một dữ liệu duy nhất từ bảng “nhân viên”.
Tạo tệp js có tên selectwhere.js có dữ liệu sau trong thư mục DBexample.
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; con.query("SELECT * FROM employees WHERE id = '1'", function (err, result) { if (err) throw err; console.log(result); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau
Node selectwhere.js
Node.js chọn Wildcard MySQL
Truy xuất dữ liệu duy nhất bằng cách sử dụng ký tự đại diện từ bảng “Employees”.
Tạo tệp js có tên selectwildcard.js có dữ liệu sau trong thư mục DBexample.
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; con.query("SELECT * FROM employees WHERE city LIKE 'A%'", function (err, result) { if (err) throw err; console.log(result); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node selectwildcard.js
Nó sẽ truy xuất bản ghi nơi thành phố bắt đầu bằng A.
Node.js Drop table trong MySQL
Lệnh DROP TABLE được sử dụng để xóa hoặc xóa một bảng.
Hãy thả một bảng có tên là worker2.
Tạo tệp js có tên “drop” trong thư mục DBexample và đưa dữ liệu sau vào đó:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "12345", database: "testdatabase" }); con.connect(function(err) { if (err) throw err; var sql = "DROP TABLE employee2"; con.query(sql, function (err, result) { if (err) throw err; console.log("Table deleted"); }); });
Bây giờ hãy mở cửa sổ lệnh và chạy lệnh sau:
Node drop.js
Xác minh rằng bảng employee2 không còn trong cơ sở dữ liệu.