미운 오리 새끼의 우아한 개발자되기

[MySQL]MySQL 데이터베이스 생성, 사용자 추가, 테이블 생성하기 본문

SQL/MySQL

[MySQL]MySQL 데이터베이스 생성, 사용자 추가, 테이블 생성하기

Serina_Heo 2020. 8. 31. 23:08

저는 h2와 oracle DB를 사용해본 경험이 있는데 주로 oracle db를 사용했습니다.

이번엔 MySQL로 DB생성부터 사용자 추가, 테이블 생성까지 해보도록 하겠습니다.

윈도우 10을 이용하여 진행했습니다.

윈도우 작업 표시줄 검색창에 'mysql'을 검색해서 'MYSQL 8.0 Command Line Client'를 엽니다.

password를 입력하시고

 

1. DB 생성하기

1
CREATE DATABASE 생성할DB이름 DEFAULT CHARACTER SET UTF8;
cs

utf8을 기반으로하는 db가 생성됩니다.

1-2. 생성된 DB보기

1
SHOW DATABASES;
cs

위의 쿼리를 입력하면 현재까지 생성된 모든 db의 목록을 볼 수 있습니다.

2. 사용자 추가하기

1
CREATE USER 사용할계정이름@'%' IDENTIFIED BY '사용할비밀번호';
cs

MySQL은 사용자 추가할 때 기호가 많이 붙는 편이네요...ㅎ

2-1. 사용자에게 권한부여

1
2
3
GRANT ALL PRIVILEGES ON DB이름.* TO 사용자이름@'외부접속 권한';
#'외부접속권한'을 '%'로 하면 원격 접속 가능
#'외부접속권한'을 'localhost'로 하면 로컬에서만 접속 
cs

 

2-2 사용자 조회

사용자 추가가 잘 되었는지 조회해봅시다.

1
2
3
4
USE mysql; 
#'Database changed'라는 문구가 뜸
SELECT USER FROM USER;
#user 목록 전체 조회가능
cs

꼭 2문장 모두 입력해야합니다.

 

2-3 사용자 권한 조회

사용자 권한이 잘 부여되었는지도 조회해봅니다.

1
SHOW GRANTS FOR 사용자이름@'localhost(또는%)';
cs

로컬에서 all privileges가 부여되었습니다
원격에서도 all privileges가 부여되었습니다

 

3. 테이블 생성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE 테이블이름(
 
id INT PRIMARY KEY AUTO_INCREMENT,
 
name VARCHAR(32NOT NULL,
 
position VARCHAR(64DEFAULT ‘intern’,
 
phone VARCHAR(12)
 
ENGINE=INNODB;
 
 
#AUTO_INCREMENT를 통해 자동으로 인덱스를 증가
#ENGINE = INNODB는 MySQL의 저장구조를 설정.(생략가능)
cs

오라클에서 가변문자열은 varchar2였는데 MySQL에서는 varchar이군요..

스프링 부트를 이용해보니 테이블을 일일이 만들어주지 않아도 되서 정말 편합니다.

 

3-2. 테이블 조회

db내의 모든 테이블을 조회해봅시다.

1
2
SHOW TABLES;
#DB내의 모든 테이블 조회
cs

 

3-2 컬럼 조회

테이블 내의 컬럼들을 조회해봅시다.

1
SHOW COLUMNS FROM 테이블이름 IN 데이터베이스이름
cs

 

4. db삭제, 사용자 삭제, 테이블 삭제

1
2
3
4
5
6
7
8
#테이블 삭제 
DROP TABLE 테이블이름;
 
#사용자 삭제
DROP USER 사용자이름;
 
#DB 삭제
DROP DATABASE 데이터베이스이름;
cs

무언갈 삭제할 때는 꼭 조회부터 해보고 삭제해야합니다.

db는 조심 또 조심....

 

그럼 MySQL시작하기 포스팅은 여기서 끝!

 

참고 포스팅

'SQL > MySQL' 카테고리의 다른 글

[MySQL] 주문번호생성을 위한 시퀀스 생성  (0) 2022.03.07