• Q&A
  • 회원가입
  • 로그인

[mysql] Node.js - MySQL Create Table (테이블 생성) ※ Primary key 설정.

20  
※ 앞 강의와 내용 연결되니, 이해 안 되는 분은 앞 강 먼저 공부 !!


Table 생성

1. C:\User\사용자명\hz.js 생성. (Table명 : hz_member)

 

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 = "CREATE TABLE hz_member(mb_name VARCHAR(255), mb_level VARCHAR(255))";

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

    if (err) throw err;

    console.log("Table created");

  });

});

 


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

 

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

 

 

※ Table 생성 성공하면 아래 메세지 뜸.

Connected!

Table created

※ 위 예제는 Primary Key 없이 생성한 거라, 맨 아래 참고해 추가 필요.

 

Primary Key 설정.

 

※ 테이블 생성 시, 각 레코드에 대한 고유키 컬럼 생성해야 함.

※ 검색이 빨라짐.

※ 컬럼을 "INT AUTO_INCREMENT PRIMARY KEY"로 정의 시,

    각 레코드의 고유번호가 1부터 시작해 ,레코드마다 1씩 증가. 

※ 레코드를 삭제하더라도, 기존 번호에 연이어서 증가함.

※ 1부터 다시 시작하려면, TRUNCATE 명령어로 테이블 비워야 함. 

(예) 

TRUNCATE TABLE table_name;  (예) TRUNCATE TABLE hz;

또는, 

TRUNCATE table_name; (예) TRANCATE hz;

 


1. C:\User\사용자명\hz.js 생성. (Primary Key : mb_id) 

 

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 = "CREATE TABLE hz_member (mb_id INT AUTO_INCREMENT PRIMARY KEY, mb_name VARCHAR(255), mb_level VARCHAR(255))";

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

    if (err) throw err;

    console.log("Table created");

  });

});

 


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

 

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

 

 

※ Table 생성 성공하면 아래 메세지 뜸.

Connected!

Table created

 

 

PS.

테이블이 이미 존재 시, ALTER TABLE 키워드로 Primary key만 생성.

 

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 = "ALTER TABLE hz_member ADD COLUMN mb_id INT AUTO_INCREMENT PRIMARY KEY AFTER mb_name";

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

    if (err) throw err;

    console.log("Table altered");

  });

});

 

주의: 컬럼 이동은 BEFORE 키워드 대신  AFTERFIRST 키워드 사용.

 

PS.

mb_id 컬럼을 맨 앞으로 이동.


ALTER TABLE `hz_member` CHANGE `mb_id` `mb_id` INT(11) NOT NULL AUTO_INCREMENT FIRST;

 

PS.

특정 컬럼 앞/뒤에 컬럼 추가 + 순서 변경.

https://homzzang.com/b/sql-47

 

Primary Key 초기화  - 1부터 시작 후 1씩 자동 증가.

 

ALTER TABLE `hz_member` AUTO_INCREMENT=1;

SET @COUNT = 0;

UPDATE `hz_member` SET `mb_id` = @COUNT:=@COUNT+1;

 


주의: 

아래 쿼리문 1줄만 사용할 경우, 

테이블에 새로 시작할 값보다 큰 값 있으면 안 됨.

ALTER TABLE `hz_member` AUTO_INCREMENT=1;

 

 

컬럼명 변경

 

ALTER TABLE 테이블명 CHANGE 옛컬럼명 새컬럼명 데이터타입;

ALTER TABLE hz_member CHANGE mb_level mb_point INT;

 

자세한 건 https://juyoung-1008.tistory.com/17 참고.

 


방문자 수

오늘 1,363
어제 1,290
최대 2,397
이달 37,960
전체 985,706
Since 2012