Web Programming

cmd를 활용한 mySql 실행과 사용

 

 

안녕하세요. 씨앤텍 시스템즈 입니다.

 

 

 

이번 글은 cmd를 활용하여 mySql을 실행하보고 어떻게 사용하는지에 대해서 정리해 보았습니다.

 

 

 

 


 

1. cmd 창으로 mySql 실행하기

 

 

1) mySql Monitor로 이동하기

 

mySql Monitor는 mySql 프로그램을 설치할 때 자동적으로 설치가 되는데,

 

mySql Monitor로 mySql을 실행해 보겠습니다.

 

만약 mySql 설치 시 디폴트 값으로 설치했다면 프로그램 위치는 아래와 같습니다.

 

C:\Program Files\MySQL\MySQL Server 8.0\bin

 

그렇다면 cmd의 디렉토리로 이동하라는 명령어인 cd를 사용하여 아래와 같이 입력해 줍니다.

 

cd C:\Program Files\MySQL\MySQL Server 8.0\bin

 

 

위와 같이 mySql Monitor가 있는 폴더로 이동이 되었음을 알 수 있습니다.  

 

 

2) 비밀번호 입력 후 접속

 

① 접속하기 위해 먼저 아래와 같이 입력해 줍니다.

 

mySql -hlocalhost -uroot -p

 

의미는 순서대로 

 

   a. 실행할 프로그램 (mySql)을 

   b. mySql의 주소(localhost)에서 

   c. 서버의 비밀번호를(uroot)

   d. 입력 받아라(p)

 

입니다.

 

맥 또는 우분투의 경우에는 다음과 같이 입력해줍니다 ->  ./mySql -hlocalhost -uroot -p

 

위 명령문 입력 시 아래와 같이 비밀번호 입력창이 뜹니다. 

 

 

② mySql을 설치할 때 설정한 비밀번호를 입력

 

비밀번호 입력시 아래와 같이 Welcome 이라는 문구를 보실 수 있습니다.

 

 

 

 

 

2. Database 생성하기

 

 

mySql을 실행했으니 이제 Database를 생성해 보도록 하겠습니다.

 

1번 내용이 실행이었다면 2번부터는 활용편입니다!

 

 

위 그림과 같이 mySql에서의 Database는 파일의 디렉토리와 같다고 보시면 되겠습니다.

 

즉 같은 table a는 각각 다른 데이터베이스에 저장되어 있으므로 테이블 명이 중복되어도 사용이 가능합니다.

 

사용목적에 맞추어 데이터베이스 이름을 정하고 정리하여 사용하면 편리할 것 같습니다.

 

 

 

 

1) Database 생성하기

 

CREATE DATABASE opentutorials CHARACTER SET utf8 COLLATE utf8_general_ci;

 

저는 opentutorials라는 database를 생성하였습니다.

 

그리고 bold 부분은 기본적으로 들어가는 설정이니 꼭 입력해 주세요!

 

 

 

2) Database 사용하기

 

USE opentutorials;

 

'use + 데이터베이스 명' 을 입력하여 내가 사용하고자 하는 테이블이 있는 데이터베이스에 접속해 줍니다.

 

 

 

3) Database 확인

 

데이터베이스가 생성되었는지 확인하고 싶다면 아래와 같이 명령합니다.

 

SHOW opentutorials;

 

그럼 아래와 같이 opentutorials 라는 데이터베이스가 목록에 뜨는 것을 확인할 수 있습니다.

 

 

 

 

 

 

3. 테이블 생성하기

 

그렇다면 이제 SQL 문을 사용할 준비가 완료되었습니다!

 

지금부터 mySql에 테이블을 만들고 select나 insert문을 활용해보도록 하겠습니다.

 

물론 mySql 워크벤치가 아닌 cmd 창을 활용해서 입니다.

 

저는 회원관리를 한다 가정하고 TB_MEMBER라는 테이블을 만들어 보겠습니다.

 

 

CREATE TABLE `TB_MEMBER` (

    `mem_num` int(11) NOT NULL AUTO_INCREMENT,

    `mem_name` varchar(20) NOT NULL,

    `gender` varchar(5),

    `age` varchar(5),

    `mem_ph` varchar(20),

    `addr` varchar(100),

    `join_date` datetime,

    `mem_birth` datetime,

    PRIMARY KEY(mem_num)

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

 

회원 번호와 회원 이름에 not null을 주었고, 회원번호는 자동으로 증가하도록 만들었습니다.

 

여기서 Tip으로 오라클과의 차이점을 알아보도록 하겠습니다. 

 

 


Oracle VS mySql

 

먼저 오라클의 숫자 데이터 타입은 Number인 반면, mySql에서는 int(11)로 사용합니다.

 

두번째로 mySql에서 AUTO_INCREMENT는 숫자 1부터 시작해 1씩 증가하며,

만약 오라클에서 이와 같은 기능을 사용하고 싶다면 아래와 같이 Sequence를 만들어 주어야 합니다.

 

create sequence 시퀀스명 

              start with 1

              increment BY 1 

              maxvalue 10000 ;

 

 

위 시퀀스는 1부터 시작해 1씩 증가하며 10000번까지 사용가능하다는 뜻입니다.

 

여기서 끝난 것이 아니라, 시퀀스 생성 후 insert 시 '시퀀스명.nextval'라고 넣어주어야만 자동 증가가 가능합니다. 

 

예를 들어 오라클에서 test라는 시퀀스를 만들었다면 테이블 CREATE에 적용되는 것이 아니라 INSERT문에 적용됩니다.

 

INSERT INTO TABLE (column1, column2 ...) VALUES (test.nextval, value2 ...) 이런 식으로 말입니다.

 

두단계를 거쳐야 하니, mySql이 좀 더 간편한것 같습니다.

 

 

 

마지막으로 mySql은 CREATE 문 말미에 ENGINE=InnoDB DEFAULT CHARSET=utf8를 적어주어야 한다는 점입니다.

 

디폴트 설정으로서 잊지말고 꼭 적어주세요.!

 

 


 

 

 

show database;와 마찬가지로 테이블이 생성되었는지 보고싶다면?

 

넵. show tables;를 입력하면 아래와 같이 TB_MEMBER라는 테이블이 생성되었다는 것을 알 수 있습니다.

 

 

 

 

4. 테이블에 INSERT하기

 

그럼 테이블에 레코드를 INSERT 해보도록 하겠습니다.

 

이것은 오라클과도 차이가 없습니다.

 

INSERT INTO `TB_MEMBER` (mem_name, gender, age, mem_ph, addr, join_date, mem_birth)

VALUES ('JIHYO', 'F', '22', '010-1234-1234', 'GangNam, Seoul', '2019-9-19 9:58', '1996-12-12 0:0');

 

 

이때 몇 가지 주의점을 알려드리자면, 

 

1) datetime이 타입인 컬럼에 시간을 적어주지 않으면 자동으로 00:00:00으로 저장됩니다.

 

2) TB_MEMBER에 앞뒤로 보이는 것은 따옴표가 아니라 그레이브입니다. ` (키보드 숫자1 왼쪽에 있는 키 입니다.)

 

3) values에 들어가는 값에는 따옴표가 맞습니다.

 

 헷갈리지 마세요!

 

 

 

 

 INSERT 후 SELECT 하여 확인하면 아래와 같습니다.

 

SELECT 역시 오라클과 같습니다 !

 

 

 

 

 

5. 다른 서버에 있는 mySql에 접속하기

 

만약 다른 서버에 있는 mySql에 접속하고 싶다면 어떻게 할까요?

 

 

1) 먼저 워크벤치에 들어가서 + 버튼을 클릭합니다.

 

 

2) 1)번 후 뜨는 창에서 Connect Method를 Standard TCP/IP over SSH로 설정해줍니다.

 

 

 

3) 그 외 설정들을 아래와 같이 해줍니다.

 

     ① Connection Name -> 임의의 사용자 이름

     ② SSH Hostname -> 접속하고자 하는 서버의 ip 주소

     ③ SSH Username -> 접속하고자 하는 서버의 사용자 이름

     ④ Username -> 접속하고자 하는 서버의 사용자 이름

     ⑤ Test Connection 클릭

 

 

 

4) 접속하고자 하는 서버 사용자의 패스워드를 입력해주면

 

 

5) Ok 클릭하고 아래와 같은 메시지가 뜨면 끝!

 

 

6) 아래와 같이 workbench 메인화면에 새로운 Connection이 생성되었음을 알 수 있습니다.

 

 

 


 

 

 

지금까지 cmd를 활용하여 mySql 실행 및 사용법을 알아보았습니다.

 

 

 

감사합니다.

 

 

 

 

 

 

 

 

 

728x90