실행 환경
Ubuntu 16.04 LTS
접속 방법
로컬 컴퓨터의 mysql 에 접속
mysql -uroot -p
치고 password 입력하면 접속된다.
로컬이 아니라 다른 컴퓨터로 접속하고 싶다면,
mysql -brocolia -P3306 -uroot -p
컴퓨터 이름과 포트를 지정할 수 있다.
(mysql 은 기본포트로 3306을 쓴다)
Database 만들기
CREATE DATABASE o2 CHARACTER SET utf8 COLLATE utf8_general_ci;
o2 라는 이름으로 데이터베이스를 만든다.
인코딩 정보를 함께 입력한다.
show database;
명령으로 데이터베이스가 정상 생성되었는지 확인한다.
데이터베이스를 사용하겠다고 명령한다.
USE o2;
데이터베이스를 사용하겠다고 해야 테이블을 만들고 지우고 등의 조작이 가능하다.
접속과 비슷하게 이해하면 된다.
들어가서 테이블을 조회해보면 아무것도 없다.
show tables;
topic 테이블을 만들어보자.
CREATE TABLE `topic`
( `id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`description` text NOT NULL,
`author` varchar(30) NOT NULL, PRIMARY KEY (id))
ENGINE=InnoDB DEFAULT CHARSET=utf8;
쿼리를 칠 때, 작은 따옴표가 아니라, 그레이브 엑센트 ( ` )를 써야하는 것이 유의점이다!
CREATE 명령 뒤에 붙는 ENGINE 과 CHARSET은 데이터 엔진명과 문자셋 인코딩이다.
show tables 명령으로 정상적으로 생성됬음을 확인한다.
데이터를 삽입하고 조회해보자. (INSERT와 SELECT)
INSERT INTO topic (title, description, author) VALUES('JavaScript', 'Computer Language for Web', 'brocolia');
더 삽입 해보자.
node.js로 mysql 조작하기
프로젝트 디렉토리에서 npm install 로 node-mysql 모듈을 설치한다.
npm install --save node-mysql
npm 홈에서 node mysql 을 검색한다. github도 있다. 스크롤 내려서 mysql을 연동하는 샘플코드를 보고 따라한다.
database.js 를 만든다.
require()로 객체를 생성한다.
DB연결 정보를 이력하여 createConnection()로 연결 객체를 만든다.
connect() 함수로 연결한다.
sql 문자열을 따로 만든 후에, 쿼리를 실행하는 query()로 쿼리를 실행한다.
콜백함수가 에러 여부, 행, 열 정보를 리턴해준다.
var mysql = require('mysql');
var conn = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '111111',
database : 'o2'
});
conn.connect();
var sql = 'select * from topic';
conn.query(sql, function(err, rows, fields){
if(err){
console.log(err);
}else{
console.log('rows', rows);
console.log('fields', fields)
}
});
conn.end();
프로젝트 디렉토리에서 node database.js 로 실행하면,
다음과같은 출력 결과가 나온다.
다음 포스팅에서 select, insert, delete, update를 다뤄본다.
참고 포스팅
'프로그래밍 > Node.js' 카테고리의 다른 글
MySQL 웹앱 - 글목록 (0) | 2020.03.21 |
---|---|
MySQL select insert delete update (0) | 2020.03.21 |
MySQL 설치 (0) | 2020.03.16 |
코드 개선 (0) | 2020.03.16 |
본문 읽기 - 전체 코드 포함 (0) | 2020.03.16 |