실행 환경 

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를 다뤄본다. 

 

 

참고 포스팅 

https://m.blog.naver.com/PostView.nhn?blogId=imf4&logNo=220760337928&proxyReferer=https:%2F%2Fwww.google.com%2F

 

MySQL : 테이블 만들기 (데이터타입, 데이터엔진, 문자셋 지정)

MySQL : 테이블 만들기 (데이터타입, 데이터엔진, 문자셋 지정) 참고링크데이터 타입 : http://ra2ksta...

blog.naver.com

 

728x90

'프로그래밍 > 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

+ Recent posts