Node.js MySQL 제한


결과 제한

"LIMIT" 문을 사용하여 쿼리에서 반환되는 레코드 수를 제한할 수 있습니다.

예시

"customers" 테이블에서 5개의 첫 번째 레코드를 선택합니다.

var mysql = require('mysql');

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

con.connect(function(err) {
  if (err) throw err;
  var sql = "SELECT * FROM customers LIMIT 5";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

위의 코드를 "demo_db_limit.js"라는 파일에 저장하고 파일을 실행합니다.

"demo_db_limit.js" 실행

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

다음과 같은 결과를 얻을 수 있습니다.

[
  { 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'}
]


다른 위치에서 시작

세 번째 레코드부터 5개의 레코드를 반환하려면 "OFFSET" 키워드를 사용할 수 있습니다.

예시

위치 3에서 시작하여 다음 5개 레코드를 반환합니다.

var mysql = require('mysql');

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

con.connect(function(err) {
  if (err) throw err;
  var sql = "SELECT * FROM customers LIMIT 5 OFFSET 2";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

참고: "오프셋 2"는 두 번째 위치가 아닌 세 번째 위치에서 시작하는 것을 의미합니다!

위의 코드를 "demo_db_offset.js"라는 파일에 저장하고 파일을 실행합니다.

"demo_db_offset.js" 실행

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

다음과 같은 결과를 얻을 수 있습니다.

[
  { 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'}
]

더 짧은 구문

위의 오프셋 예제와 동일한 결과를 반환하는 "LIMIT 2, 5"와 같은 SQL 문을 작성할 수도 있습니다.

예시

위치 3에서 시작하여 다음 5개 레코드를 반환합니다.

var mysql = require('mysql');

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

con.connect(function(err) {
  if (err) throw err;
  var sql = "SELECT * FROM customers LIMIT 2, 5";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

참고: 숫자는 반대입니다. "LIMIT 2, 5"는 "LIMIT 5 OFFSET 2"와 동일합니다.