NTM Solutions

Thứ Năm, 9 tháng 7, 2020

NODEJS MYSQL-BÀI 05-CÂU LỆNH SELECT FROM

Xem mục lục lập trình NodeJS

01-Lấy dữ liệu từ 01 bảng

Để lấy dữ liệu từ 01 bảng trong MySQL, dùng câu truy vấn “SELECT”

Ví dụ: chọn tất cả dòng tin từ bảng “customers” và hiển thị đối tượng trả về.

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "",
  database: "nodejs"
});

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT * FROM customers", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});

Câu lệnh SELECT * sẽ trả về tất cả cột.

Lưu đoạn mã trên thành tập tin “demo_select_db.js” và chạy nó.

d:/NODE/node demo_select_db.js

Kết quả sẽ trả về màn hình CMD như vầy:

[
  { id: 1, name: 'John', address: 'Highway 71'},
  { id: 2, name: 'Peter', address: 'Lowstreet 4'},
  { id: 3, name: 'Amy', address: 'Apple st 652'},
  { id: 4, name: 'Hannah', address: 'Mountain 21'},
  { id: 5, name: 'Michael', address: 'Valley 345'},
  { id: 6, name: 'Sandy', address: 'Ocean blvd 2'},
  { id: 7, name: 'Betty', address: 'Green Grass 1'},
  { id: 8, name: 'Richard', address: 'Sky st 331'},
  { id: 9, name: 'Susan', address: 'One way 98'},
  { id: 10, name: 'Vicky', address: 'Yellow Garden 2'},
  { id: 11, name: 'Ben', address: 'Park Lane 38'},
  { id: 12, name: 'William', address: 'Central st 954'},
  { id: 13, name: 'Chuck', address: 'Main Road 989'},
  { id: 14, name: 'Viola', address: 'Sideway 1633'}
]

02-Chọn cột

Để lựa chọn các cột trong 01 bảng, sử dụng câu truy vấn “SELECT” theo sau là tên cột.

Ví dụ: chọn cột name và address từ bảng “customer” và hiển thị đối tượng trả về.

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "",
  database: "nodejs"
});

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 đoạn mã trên với tên tập tin “demo_db_select2.js” và nó.

d:/NODE/node demo_db_select2.js

Kết quả trả ra màn hình CMD sẽ như vầy:

[
  { name: 'John', address: 'Highway 71'},
  { name: 'Peter', address: 'Lowstreet 4'},
  { name: 'Amy', address: 'Apple st 652'},
  { name: 'Hannah', address: 'Mountain 21'},
  { name: 'Michael', address: 'Valley 345'},
  { name: 'Sandy', address: 'Ocean blvd 2'},
  { name: 'Betty', address: 'Green Grass 1'},
  { name: 'Richard', address: 'Sky st 331'},
  { name: 'Susan', address: 'One way 98'},
  { name: 'Vicky', address: 'Yellow Garden 2'},
  { name: 'Ben', address: 'Park Lane 38'},
  { name: 'William', address: 'Central st 954'},
  { name: 'Chuck', address: 'Main Road 989'},
  { name: 'Viola', address: 'Sideway 1633'}
]

03-Đối tượng trả về

Như bạn đã thấy trong ví dụ trên, kết quả trả về là 01 mảng chứa mỗi dòng 01 đối tượng.

Để trả về ví dụ như address của dòng tin thứ 03, ta chỉ cần lấy thuộc tính của phần tử thứ 03 trong mảng.

Ví dụ:

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

Kết quả trên CMD là:

Apple st 652

04-Đối tượng trường

Tham số thứ 03 của callback function là 01 mảng chứa các thông tin về mỗi field trong kết quả trả về.

Ví dụ: chọn tất cả dòng tin từ bảng “customers”, và hiển thị đối tượng fields

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

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 đoạn mã trên thành tập tin “demo_db_select_fields.js” và chạy nó.

d:/NODE/node demo_db_select_fields.js

Kết quả trả về CMD sẽ như vầy:

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

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

Để trả về ví dụ như tên của trường thứ 02, ta chỉ cần trỏ đến thuộc tính name của phần từ thứ 02 trong mảng.

Ví dụ:

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

Kết quả trên CMD là: address

Nếu vẫn chưa rõ các bạn xem thêm video clip sau:

Xem mục lục lập trình NodeJS

By #drM

Không có nhận xét nào:

Đăng nhận xét

Facebook Youtube RSS