Server Side JavaScript

MySQL 소개 및 기본 사용법

MySQL 소개

MySQL 설치 - 맥 (OSX)

MySQL 설치 - 리눅스 (ubuntu)

MySQL 설치 - 윈도우

MySQL 구조

MySQL 사용하기

MySQL - UPDATE & DELETE

node-mysql 1 : 접속

node-mysql 2 : SELECT & INSERT

node-mysql 3 : UPDATE & DELETE

예제

MySQL JavaScript로 제어하기 수업의 예제 

데이터베이스 보기

show databases;

데이터베이스 생성

CREATE DATABASE o2 CHARACTER SET utf8 COLLATE utf8_general_ci;

데이터베이스 선택

use o2;

테이블 생성

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;

생성된 테이블 확인

show tables;

데이터 삽입

INSERT INTO topic (title, description, author) VALUES('JavaScript','Computer language for web.', 'egoing');
INSERT INTO topic (title, description, author) VALUES('NPM','Package manager', 'leezche');

 

댓글

댓글 본문
작성자
비밀번호
  1. 준맹
    창피하네요 해결했습니다ㅜㅜ
    대화보기
    • 준맹
      안녕하세요
      강의 보고 따라하고 있는데,

      저는 console.log(rows);
      rows is not defined 라고 에러가 납니다ㅜㅜ

      console.log(fields)는 잘 되고요.
      rows가 정의되지 않았다고 나오니까
      그 밑에 영상에서 나오는 rows.length 역시 사용할 수가 없네요 ㅠㅠ저는 왜이러는거죠
    • openarms
      수업이 깔끔하네요!
    • ㅇㅇ
      대화보기
      • ㅇㅇ
        sudo 넣어보세용
        대화보기
        • 코발트블루
          $ npm install mysql --save 하는데.

          C:\Users\xx\dev\js\server_side_javascript\node_modules\orientjs-native>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
          gyp ERR! configure error
          gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
          gyp ERR! stack at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:449:14)
          gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:404:11
          gyp ERR! stack at FSReqWrap.oncomplete (fs.js:123:15)
          gyp ERR! System Windows_NT 10.0.14393
          gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
          gyp ERR! cwd C:\Users\xx\dev\js\server_side_javascript\node_modules\orientjs-native
          gyp ERR! node -v v6.9.1
          gyp ERR! node-gyp -v v3.4.0
          gyp ERR! not ok
          server_side_javascript@1.0.0 C:\Users\xx\dev\js\server_side_javascript
          `-- mysql@2.12.0 (git://github.com/mysqljs/mysql.git#7aa6da6f5928ebedb5a75c9c6c2ddd4ded2d00cd)

          npm WARN server_side_javascript@1.0.0 No repository field.
          npm WARN optional SKIPPING OPTIONAL DEPENDENCY: orientjs-native@2.2.2 (node_modules\orientjs-native):
          npm WARN optional SKIPPING OPTIONAL DEPENDENCY: orientjs-native@2.2.2 install: `node-gyp rebuild`
          npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1



          이런에러가나용
        • 코딩천사
          mysql 설치-윈도우에서
          제대로 따라했는데 mysql.exe 파일이 없습니다...
        • 바지락
          node-mysql 1 : 접속 하실때

          예제에 나와 있는 fields를 columns 로 바꾸셔야 에러가 나지 않습니다.

          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, columns){
          if(err){
          console.log(err);
          } else {
          console.log('rows', rows);
          console.log('columns', columns);
          }
          }
          });
        • excelsior0828
          안녕하세요!
          opentutorials에서 php수업을 완주하고 nodejs 수업을 듣고 있습니다.
          이전에 다운로드한 mampstack을 사용해서 mysql을 실행하기 위해 manager-osx로 들어갔습니다.
          apache web server는 running을 하지만 mysql database는 아무리 start를 눌러도 running이 되질 않습니다.
          mac사용하고 있구요.

          도와주시면 감사하겠습니다!
        • jwyoungs
          제가 한 가지 방법을 찾았습니다. 이게 안전한지 많이 쓰이는 방법인지는 잘 모르겠습니다.
          https://github.com......env
          이것을 활용하였습니다.
          대화보기
          • jwyoungs
            안녕하세요.
            mysql의 비번을 파일안에다가 적어두는 것이 위험하다고 말씀하셨는데, 다른방법을 취할 수 는 없나요? 감사합니다.
          • 호동
            아래 댓글들을 보고 npm install --save mysql을 설치하니 전과 같은 오류메시지는 안 뜨는데 아래와 같은 오류가 뜨네요. 어떻게 해야 오류가 안 뜨는 건가요? 방법 좀 알려주세요.

            { [Error: connect ECONNREFUSED 172.0.0.1:3306]
            code: 'ECONNREFUSED',
            errno: 'ECONNREFUSED',
            syscall: 'connect',
            address: '172.0.0.1',
            port: 3306,
            fatal: true }
          • 호동
            안녕하세요.
            Cloud9에서 MySQL을 실행하려고 하는데 계속 애러가 떠서요. MySQL과 node-mysql을 모두 설치했는데 뭐가 문제인 건지 모르겠어서요. 아래는 오류 내용입니다.

            Important: use process.env.PORT as the port and process.env.IP as the host in your scripts!

            Debugger listening on port 15454
            module.js:327
            throw err;
            ^

            Error: Cannot find module 'mysql'
            at Function.Module._resolveFilename (module.js:325:15)
            at Function.Module._load (module.js:276:25)
            at Module.require (module.js:353:17)
            at require (internal/module.js:12:17)
            at Object.<anonymous> (/home/ubuntu/workspace/database_mysql.js:1:75)
            at Module._compile (module.js:409:26)
            at Object.Module._extensions..js (module.js:416:10)
            at Module.load (module.js:343:32)
            at Function.Module._load (module.js:300:12)
            at Module.runMain [as _onTimeout] (module.js:441:10)

            Process exited with code: 1
          • Peater Han
            @jj 님

            답변 감사합니다. connection 연결과 끊는 것은 여러 시도 끝에 연관이 없다는 것을 알게 되었었습니다. 결국 비동기 방식으로 인해 발생되었기 때문에, 콜백함수 내부 마지막에 최종 처리하도록 하거나 해당 모듈의 동기방식을 고려해야 겠네요.
          • @Peater Han 님

            그건 Node.js 가 비순차적으로 작동되어서 그래요
            mysql 관련 함우와 관계없이 비동기식이라 그렇습니다 또한 connetion 을 연결하고 끊는 거랑도 관계가 없습니다.
            콜백 함수 이기 때문에 늦게 실행되는 것입니다~

            https://opentutorials.org......884
            영상 보시면 좋을 것 같습니다
          • soarhigh7
            저도 node-mysql 로 설치했다가,

            cannot find module 'mysql' 에러 나서 계속 검색했네요 ㅜㅜ


            npm install --save mysql 요렇게 하니까 되네용~!
          • Peater Han
            다른 방식으로 응용을 하려 했는데, 디버그하려고 conn.query 문 내의 함수가 외부에 있는 함수보다 늦게 실행이 되는 현상이 보이더라구요. 가령 예를 들면

            var numRows;
            var sql = 'SELECT * FROM person'; //person 테이블에 3개가 있다고 할 경우
            conn.query(sql, function(err, rows, field){
            if(err)
            console.log(err);
            else{
            numRows = rows.length;
            console.log('총개수', numRows);
            }
            });
            conn.end();
            console.log('numRows: ', numRows);

            이렇게 할 경우
            numRows: undefine
            총개수: 3
            이런식의 결과가 나오더라구요.
            즉, 함수 mysql관련 함수가 늦게 실행되더라구요.
          • uncommonine
            node-mysql 1 : 접속 영상에서 문제있으신분은 npm install node-mysql --save대신 npm install mysql --save으로 해주시면 됩니다. 참고: https://github.com......sql
          • sujin_suay
            npm으로 mysql을 별도로 설치해주셔야합니다. 이미 문제 해결하셨겠지만요^^
            대화보기
            • 안녕하세요 동영상 강의를 보면서 문제가 생겼는데 해결을 하지 못해서 글 남깁니다.
              현재 node-mysql1 접속 동영상을 공부하고 있고, npm node-mysql 설치와 알려주신 코드를 작성 후에 데이타베이스를 실행하기 위해 cmd에 node database_mysql.js 를 실행했는데

              module.js:327
              throw err;

              Error : Cannot find module 'mysql'
              at Function.Module._resolveFilename(module.js:325:15)
              at Function.Module.load(module.js:276:25)
              at Module.require(module.js:353:17)
              at require (internal/module.js:12:17)
              at Object.<anonymous> (C:\User\dev\js\server_side_javascript\database_mysql.js:1:80)

              at Module._compile(module.js:409:26)
              at Object.Module._extensions..js(module.js:416:10)
              at Module.load(module.js:343:32)
              at Function.Module._load(module.js:300:12)
              at Function.Module.runMain(module.js:441:10)

              이러한 에러가 발생했습니다. 분명히 똑같이 코드를 작성하고 모듈을 설치하였는데 안되니깐 답답하고 속상하네요 ㅠㅠ 혹시 이 문제가 왜 발생하는지 알 수 있을까요? 항상 감사합니다!!
            • 지류진
              감사합니다
            • 초보자
              채팅도 한번 넣는게 어떨까요?
            버전 관리
            egoing
            현재 버전
            선택 버전
            graphittie 자세히 보기