Ví dụ tạo table MySQL trong Nodejs

Ví dụ tạo table MySQL trong Nodejs là vấn đề được nhiều lập trình viên quan tâm, bởi những kiến thức trên trường lớp là không đủ, vì vậy bài Ví dụ tạo table MySQL trong Nodejs sẽ chia sẻ tới bạn nhiều thông tin hữu ích

Mọi người vẫn hỏi tôi về việc học lập trình nói chung và NodeJS nói riêng có cần năng khiếu hay quá khó để tiếp cận hay không. Thì tôi có thể trả lời rằng, học lập trình cũng như việc bạn học tiếng Anh hay bất kỳ một ngôn ngữ khác, bởi lập trình...là ngôn ngữ của máy tính, để máy tính đọc và máy tính thực hiện theo yêu cầu của mình, bạn thích là học được.

Trong bài viết này chúng mình sẽ cùng nhau làm việc với Table trong MySQL sử dụng Nodejs, như các bạn đã viết MySQL tổ chức database theo dạng các bảng, mỗi bảng đều có khuân mẫu riêng của nó, các bảng có thể được liên kết với nhau.

1. Tạo một bảng mới bằng NodeJS

Mình sẽ khởi tạo một bảng mới có tên customers trong đó có 2 trường đó là name, và andress , chúng ta có file index.js

const mysql = require('mysql');
 
const con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});
 
con.connect(function(err) {
  if (err) throw err;
  console.log("Đã kết nối!");
  var sql = "CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Tạo bảng thành công");
  });
}); 

Các bạn chú ý thay thông tin database cho đúng với database của bạn nha. Chúng ta sẽ khởi chạy file index.js bằng cách mở terminal và chạy dòng lệnh :

  node index 

Lúc này bạn sẽ thấy table được khởi tạo thành công

2. Tạo bảng kèm khóa chính bằng NodeJS

Trong một bảng bạn cần phải chỉ định khóa chính, khóa chính là một cột trong bảng mà giá trị của nó là duy nhất trong bảng. Ví dụ, mỗi sinh viên có mã sinh viên và mỗi sinh viên đều có mã khác nhau và không trùng lặp, bằng mã sinh viên này, nhà trường có thể lấy thông tin sinh viên môt cách nhanh chóng.

Để khởi tạo quá chính khi tạo một bảng, bạn có thể định nghĩa một cột có các thuộc tính như INT AUTO_INCREMENT PRIMARY KEY, điều này có nghĩa là sẽ chèn một số duy nhất vào mỗi bảng ghi được tạo. Bắt đầu từ 1.

Trong ví dụ này mình sẽ tạo một bảng có tên students gồm các cột như id, name, gender và định nghĩa id là khóa chính, sẽ tự động tăng khi có bản ghi mới :

Để tạo bảng như hình, chúng ta tạo file index.js có nội dung :

 const mysql = require('mysql');
 
const con = mysql.createConnection({
  host: "localhost",
  user: "admin",
  password: "yourpassword",
  database: "hoidapcode"
});
 
con.connect(function(err) {
  if (err) throw err;
  console.log("Đã kết nối!");
  var sql = "CREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), gender BIT(1))";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Đã tạo bảng thành công !!");
  });
 });


Tiến hành khởi chạy file bằng cách mở terminal :

  node index 

3. Tạo bảng kèm Foreign Key (khóa ngoại)

Foreign key(khóa ngoại) là mối quan hệ giữa hai bảng và mối quan hệ này ta hay gọi là cha - con, nghĩa là nếu bảng A có một thuộc tính liên kết tới bảng B thì lúc này bảng B đóng vai trò là cha và bảng A đóng vai trò là con. Mục đích của khóa ngoại là đảm bảo tính toàn vẹn tham chiếu của dữ liệu. Nói cách khác, chỉ những giá trị được cho là xuất hiện trong cơ sở dữ liệu mới được phép.

Ví dụ: Giả sử chúng mình có hai bảng, bảng Users bao gồm tất cả dữ liệu khách hàng và bảng Groups bao gồm tất cả các đơn đặt hàng của khách hàng. Logic ở đây yêu cầu tất cả các thành viên phải được liên kết với một groups. Để thực thi logic này, chúng mình sẽ đặt một khóa ngoại trên bảng Users, và để nó tham chiếu khóa chính của bảng Groups. Bằng cách này, chúng mình có thể đảm bảo rằng tất cả các thành viên trong bảng Users có mối liên hệ với Groups.

Chúng ta sẽ đi vào ví dụ thưc tế bên dưới, mình sẽ tạo ra 2 bảng Users và Groups. Trong bảng Groups chúng ta sẽ có thông tin của Groups, có trường groupID là khóa chính, Users sẽ có thông tin của thành viên, bảng này bao gồm 1 khóa chính là userID và một khóa ngoại là groupID liên kết với bảng Groups.

Trong Node.js, chúng ta sẽ tạo ví dụ bằng cách sử dụng phương thức query trong module mysql đã cài đặt. Trong file app.js chúng ta sẽ có nội dung như sau:

const mysql = require("mysql");
 
const con = mysql.createConnection({
  host: "localhost",
  user: "admin",
  password: "yourpassword",
  database: "mydb"
});
 
con.connect(function(err) {
  if (err) throw err;
  var sql = `CREATE TABLE Groups (
    groupid INT(11) NOT NULL PRIMARY KEY,
    title INT(11) NOT NULL,
    LEVEL TINYINT(1) DEFAULT 1 NOT NULL
); CREATE TABLE Users(
    userid INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL ,
    email VARCHAR (50) NOT NULL ,
    groupid INT(11),
    CONSTRAINT fk_group FOREIGN KEY (groupid) REFERENCES Groups(groupid)
)`;
  con.query(sql, function(err, result) {
    if (err) throw err;
    console.log("Đã tạo bảng thành công ");
  });
});   

Trên đây là những kiến thức cơ bản về làm việc với Table trong MySQL sử dụng Nodejs . Mong bài viết này có thể giúp ích cho bạn cho việc lập trình với Nodejs, cảm ơn bạn đã quan tâm bài viết này.

Hy vọng với bài viết về Ví dụ tạo table MySQL trong Nodejs đã giải đáp giúp bạn phần nào về kiến thức lập trình NodeJS. Như tôi đã nói, ngôn ngữ lập trình không quan trọng bằng tư duy giải thuật, tư duy logic để giải quyết vấn đề.

Với những năm trước đây, lập trình viên là một cái nghề khó và kén chọn người học, đồng nghĩa với việc thu nhập hàng tháng của các lập trình viên luôn cao. Còn những năm gần đây, thì lập trình là môn học phổ thông, và ai cũng nên học một ngôn ngữ lập trình nào đó.

Nếu bạn còn bất kỳ câu hỏi nào trong việc học lập trình online, hãy gửi yêu cầu cho tôi qua email hoidapcode.com@gmail.com hoặc để lại comment bên dưới, tôi sẽ giải đáp trong vòng 24 giờ!

Blog hoidapcode.com là blog được tổng hợp tự động các bài học, thông tin về lập trình trên mạng internet. Nếu bạn có ý kiến hoặc đóng góp về bài viết này, hãy liên hệ với tôi!