Node.js: SELECT

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Select *

Để chọn dữ liệu trên tất cả các cột từ một bảng trong MySQL, hãy sử dụng câu lệnh "SELECT" như ví dụ sau:

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;
  con.query("SELECT * FROM customers", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});

SELECT * sẽ trả về tất cả các cột.

Lưu mã ở trên vào tệp có tên "demo_db_select.js" và chạy tệp:

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

Kết quả:

[
  RowDataPacket { name: 'V1Study', address: 'Hà Nội', id: 1 },
  RowDataPacket { name: 'Long', address: 'Hà Nội', id: 2 },
  RowDataPacket { name: 'Phương', address: 'Hà Nam', id: 3 },
  RowDataPacket { name: 'Vịnh', address: 'Hà Tĩnh', id: 4 },
  RowDataPacket { name: 'Minh', address: 'Hà Nội', id: 5 }
]

 

Select các cột

Để chỉ chọn một số cột trong bảng, hãy sử dụng câu lệnh "SELECT" theo sau là tên các cột như ví dụ sau:

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;
  con.query("SELECT name, address FROM customers", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});

Lưu mã ở trên vào một tệp có tên "demo_db_select2.js" và chạy tệp:

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

Kết quả:

[
  RowDataPacket { name: 'V1Study', address: 'Hà Nội' },
  RowDataPacket { name: 'Long', address: 'Hà Nội' },
  RowDataPacket { name: 'Phương', address: 'Hà Nam' },
  RowDataPacket { name: 'Vịnh', address: 'Hà Tĩnh' },
  RowDataPacket { name: 'Minh', address: 'Hà Nội' }
]

Đối tượng result

Như bạn có thể thấy từ kết quả của ví dụ trên, đối tượng result là một mảng chứa mỗi hàng là một đối tượng.

Ví dụ để trả về địa chỉ của bản ghi thứ ba thì ta chỉ cần tham chiếu đến thuộc tính address của đối tượng mảng thứ ba như sau:

console.log(result[2].address);

Kết quả:

Hà Nam

Đối tượng fields

Tham số thứ ba của hàm callback là một mảng chứa thông tin về mỗi trường trong kết quả như ví dụ sau:

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;
  con.query("SELECT name, address FROM customers", function (err, result, fields) {
    if (err) throw err;
    console.log(fields);
  });
});

Lưu mã ở trên vào tệp có tên "demo_db_select_fields.js" và chạy tệp:

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

Kết quả:

[
  FieldPacket {
    catalog: 'def',
    db: 'nodejs_db',
    table: 'customers',
    orgTable: 'customers',
    name: 'name',
    orgName: 'name',
    charsetNr: 33,
    length: 75,
    type: 253,
    flags: 0,
    decimals: 0,
    default: undefined,
    zeroFill: false,
    protocol41: true
  },
  FieldPacket {
    catalog: 'def',
    db: 'nodejs_db',
    table: 'customers',
    orgTable: 'customers',
    name: 'address',
    orgName: 'address',
    charsetNr: 33,
    length: 600,
    type: 253,
    flags: 0,
    decimals: 0,
    default: undefined,
    zeroFill: false,
    protocol41: true
  }
]

Như bạn có thể thấy từ kết quả của ví dụ trên, đối tượng fields là một mảng chứa thông tin về mỗi trường như một đối tượng.

Ví dụ để trả về tên của trường thứ hai thì ta chỉ cần tham chiếu đến thuộc tính name của mục mảng thứ hai:

console.log(fields[1].name);

Kết quả:

address
» Tiếp: WHERE
« Trước: INSERT
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!