• 회원가입
  • 로그인
  • 구글아이디로 로그인

[mysql] Node.js - MySQL Insert Into (데이터 삽입)

12,646  
목차
  1. Table에 레코드 1개 넣기
  2. Table에 레코드 다수 넣기
  3. result 객체
  4. 삽입된 ID 가져오기

 

Table에 레코드 1개 넣기

1. C:\User\사용자명\hz.js 생성.

 

var mysql = require('mysql');


var con = mysql.createConnection({

  host: "localhost",

  user: "root",

  password: "autoset",

  database: "hz"

});


con.connect(function(err) {

  if (err) throw err;

  console.log("Connected!");

  var sql = "INSERT INTO hz_member (mb_name, mb_level) VALUES ('homzzang', '10')";

  con.query(sql, function (err, result) {

    if (err) throw err;

    console.log("1 record inserted");

  });

});

 


2. CMD 모드에서 아래 명령어 입력해 시작 설정.

 

C:\User\사용자명>node hz.js

 

※ 아래 메세지 뜨면 레코드 입력 성공.

1 record inserted

 

Table에 레코드 다수 넣기

 

둘 이상의 레코드를 삽입하려면 값을 포함하는 배열을 만든 후,

SQL 구문의 값 자리에 물음표 (?) 삽입하면 값 배열로 대체됨.

INSERT INTO hz_member (mb_name, mb_level) VALUES ?

 


1. C:\User\사용자명\hz.js 생성.

 

var mysql = require('mysql');


var con = mysql.createConnection({

  host: "localhost",

  user: "root",

  password: "autoset",

  database: "hz"

});


con.connect(function(err) {

  if (err) throw err;

  console.log("Connected!");

  var sql = "INSERT INTO hz_member (mb_name, mb_level) VALUES ?";

  var values = [

    ['AAA', '1'],

    ['BBB', '2'],

    ['CCC', '2'],

    ['DDD', '3'],

    ['EEE', '3'],

    ['FFF', '3'],

    ['GGG', '4'],

    ['HHH', '4'],

    ['III', '4'],

    ['JJJ', '4'],

    ['KKK', '5'],

    ['LLL', '5'],

    ['MMM', '5'],

    ['NNN', '5']

  ];

  con.query(sql, [values], function (err, result) {

    if (err) throw err;

    console.log("Number of records inserted: " + result.affectedRows);

  });

});

 


2. CMD 모드에서 아래 명령어 입력해 시작 설정.

 

C:\User\사용자명>node hz.js

 

※ 아래 메세지 뜨면 레코드 입력 성공.

Connected!

Number of records inserted: 14

 

result 객체

 

1.

쿼리를 실행하면 result 객체가 반환됨.

result 객체 : 쿼리가 테이블에 미치는 영향 정보 내장.

 

2. 

result 객체 안의 각 속성의 속성값 접근 방법

result.property 

(예) result.affectedRows (반영 개수)

 

3.

콘솔에 출력하려면 JS함수 반환문 안에 아래 명령어 입력.

console.log(result.property)

(예) console.log(result.affectedRows)

주의: console.log()는 JS 명령어라, CMD 모드에 바로 입력 불가. 

 


※ 위의 예 경우, result 객체에 아래 정보 내장.

 

{

  fieldCount: 0,

  affectedRows: 14,

  insertId: 0,

  serverStatus: 2,

  warningCount: 0,

  message: ''Records:14  Duplicated: 0  Warnings: 0',

  protocol41: true,

  changedRows: 0

}

 

 

삽입된 ID 가져오기

 

자동 증가 ID 필드 있는 테이블 경우 result 객체에 요청해, 

방금 삽입한 행의 ID (= result.insertId) 가져오기 가능함.

참고 : 삽입된 ID 얻으려면, 오직 하나의 행만 삽입해야 함.

※ 위 예제처럼, 레코드 행이 여럿이면 insertId 값이 0 찍힘.

 


1. C:\User\사용자명\hz.js 생성.

 

var mysql = require('mysql');


var con = mysql.createConnection({

  host: "localhost",

  user: "root",

  password: "autoset",

  database: "hz"

});


con.connect(function(err) {

  if (err) throw err;

  var sql = "INSERT INTO hz_member (mb_name, mb_level) VALUES ('OOO', '5')";

  con.query(sql, function (err, result) {

    if (err) throw err;

    console.log("1 record inserted, ID: " + result.insertId);

  });

});

 


2. CMD 모드에서 아래 명령어 입력해 시작 설정.

 

C:\User\사용자명>node hz.js

 

※ 아래 메세지 뜨면 ID 가져오기 성공. 

1 record inserted, ID: 16

※ 16 = (맨 처음 1개 + 중간에 14개 + 방금 1개)

 


분류 제목
basic Node.js - Home
basic Node.js - Intro (소개)
basic Node.js - Start (시작) - 사용 환경 구축
basic Node.js - Modules (모듈)
basic Node.js - HTTP Module (데이터 전송 모듈)
basic Node.js - File System Module (파일 시스템 모듈)
basic Node.js - URL Module (주소 처리 모듈)
basic Node.js - NPM (노드 패키지 관리자)
basic Node.js - Events (이벤트)
basic Node.js - Upload Files (파일 업로드) 2
basic Node.js - Email (이메일 보내기)
mysql Node.js - MySQL 설치・연결 + 쿼리 보내기
mysql Node.js - MySQL Create Database (DB 생성)
mysql Node.js - MySQL Create Table (테이블 생성) ※ Primary key 설정.
mysql Node.js - MySQL Insert Into (데이터 삽입)
mysql Node.js - MySQL Select From (데이터 선택)
mysql Node.js - MySQL Where (조건절)
mysql Node.js - MySQL Order By (정렬 순서)
mysql Node.js - MySQL Delete From (데이터 삭제)
mysql Node.js - MySQL Drop Table (테이블 삭제)
1/4
목록
찾아주셔서 감사합니다. Since 2012