MySQL을 처음 실행하면 Database를 만드는게 모든 일의 시작이다.
모든 RDBMS는 먼저 데이터베이스를 만들고, 그 데이터베이스를 테이블(릴레이션)으로 채워나간다.
그러면 MySQL에서 데이터베이스를 만드려면 어떻게 해야할까?
create database <db명>;
일반적으로 db들은 대소문자를 가리지 않으므로 create를 CREATE나 Create등으로 써도 무방하다.
위 명령어를 사용하면 database를 선택할 수 있다.
그리고 현재 내가 무슨 db를 선택했는지 확인하고 싶다면 아래의 명령어를 사용하면 된다.
select database();
이 명령어는 현재 내가 어떤 database를 선택해서 작업을 하고 있는지를 확인할 수 있다.
만약 선택한 db가 없다면 null이 반환된다.
만약 db를 선택했다면 해당 db가 반환된다.
db를 사용하려면 아래 명령어를 사용한다.
use <db명>;
보면 use db를 선택하고 select database()를 했더니 이제 내가 사용중인 db가 목록에 뜨는걸 확인할 수 있다.
db를 만들고나서 가장 먼저 확인할 것은 현재 db의 인코딩 셋이다. 특히 한글유저들은 꼭꼭 확인해야한다.
select default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = "<db명>";
위 명령어는 조금 길다. 사실 쿼리문이기 때문에 이해를 하면 어려운건 아니다.
해석을 하자면 information_schema데이터베이스의 schemata테이블 에서 schema_name컬럼(열)이 <db명>인
default_charager_set_name컬럼(열)을 보여줘라는 뜻이다.
이해는 어렵지 않으니 그냥 복사해서 사용해주면 된다. 아니면 외우던가.
보면 utf-8로 되어있다. 가끔가다가 utf-8로 까먹고 안했거나 예전에 했던거를 수정해야할 때가 있다.
인코딩 문제는 매우매우 중요한 문제이므로 이것을 수정하도록 하자.
보면 아시다시피 현재 mydb는 euckr로 되어있다.
이 db를 utf8로 변경하려면 아래와 같이 하면 된다.
ALTER DATABASE <db명> DEFAULT CHARACTER SET utf8;
만약 euckr로 바꾸려면 마지막 utf8을 euckr로 바꿔주면된다.
물론 쓸일은 크게 없겠지만.
만약 내가 만든 DATABSE를 통째로 파기하고 싶다면 아래처럼 입력하면된다.
drop database <db명>;
그러면 database자체가 파기된다.
'Database > MySQL' 카테고리의 다른 글
[MySQL]Replication으로 DB Master, Slave구조 만들어서 데이터 동기화 하기(feat. docker, shell script) (1) | 2019.06.25 |
---|---|
[MySQL]my.cnf의 위치를 모를때 (0) | 2019.04.22 |
[MySQL]MySQL 한 컴퓨터에서 서버 2개 돌리기 (0) | 2018.01.04 |
[MySQL]MySQL character set(encoding) 설정하기 (0) | 2017.12.31 |
[MySQL]MySQL설치하기 (0) | 2017.12.30 |