본문으로 바로가기

Node.js(MySQL) - Chapter 03. Insert

category Front-End/- Node.js 2019. 10. 8. 11:24

1. Insert Into Table

MySQL의 테이블을 채우기 위해 "INSERT INTO" 구문을 사용한다.

var mysql = require('mysql');

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

con.connect(function(err) {
	if(err) throw err;
	console.log("Connected!");
	var sql = "INSERT INTO customers (name, address) VALUES ('Company Inc', 'Highway 37')";
    con.query(sql, function(err,result) {
    	if(err) throw err;
		console.log("1 recored inserted");
	});
});

저장하고, 실행하면 "Connected! 1 recored inserted" 출력한다.

 

2. Insert Multiple Records

1개의 레코드 이상 입력하기 위해서 값을 포함하는 배열을 만들고, 배열값을 대체할 수 있는 sql의 ? 을 사용한다.

var mysql = require('mysql');

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

con.connect(function(err) {
	if(err) throw err;
	console.log("Connected!");
	var sql = "INSERT INTO customers (name, address) VALUES ?";
	var values = [
    	['John', 'Highway 71'],
        ['Peter'm 'Lowstreet 4'],
        ['Amy', 'Apple st 652'],
        ['Hannah', 'Mountain 21']
	];
    con.query(sql, [values], function(err, result) {
		if(err) throw err;
		console.log("Number of records inserted: " + result.affectedRows);
	});
});

저장하고, 실행하면 "Connected! Number of records inserted: 4"를 출력한다.

 

3. The Result Object

쿼리를 실행하고 나면, 결과 객체를 반환한다.

결과 객체는 다양한 정보를 포함하고 있는데, 다음과 같은 속성들을 가지고 있다.

{
	fieldCount : 0,
	affectedRows : 14,
	insertId : 0,
	saverStatus : 2,
	warningCount : 0,
	message : '\'Records:14 Duplicated: 0 Warnings: 0',
	protocol41: true,
	changeRows: 0
}