여러가지/DBMS

[MariaDB] 데이터베이스

15June 2024. 5. 27. 14:15

1) 전체 데이터베이스 조회

SHOW DATABASES;

 

2) 데이터베이스 생성

CREATE DATABASE database_name;  // 기본

CREATE DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

// character_set 설정

▷ CHARACTER SET : 문자 집합

▷ COLLATE : 정렬 순서

▷ utf8mb4_general_ci : 대소문자를 구분하지 않는 일반적인 유니코드 정렬 규칙

※ 데이터가 영어라는 전제하에, 빠른 성능 지원 시 권장합니다. 

ex)

CREATE DATABASE basic;

CREATE DATABASE character_set CHARACTER SET utf8 COLLATE utf8_general_ci;

 

3) 특정 데이터베이스 정의 확인

SHOW CREATE DATABASE database_name;

ex)

SHOW CREATE DATABASE basic;

SHOW CREATE DATABASE character_set;

 

4) character_set

(a) 기본 설정 확인

SHOW VARIABLES LIKE 'char%';

SHOW VARIABLES LIKE 'coll%';

SHOW VARIABLES LIKE 'character_set_server';

SHOW VARIABLES LIKE 'collation_server';

▷ SHOW VARIABLES LIKE : 서버 설정 변수 조회

 

(b) 특정 데이터베이스 character_set 확인

SELECT 

    DEFAULT_CHARACTER_SET_NAME, 

    DEFAULT_COLLATION_NAME 

FROM 

    information_schema.SCHEMATA 

WHERE 

    SCHEMA_NAME = 'database_name';

 

(c) 기본 설정 변경

(파일) /etc/my.cnf.d/client.cnf

-----------------------------------------------------

[client]

default-character-set=utf8

-----------------------------------------------------

(파일) /etc/my.cnf.d/mysql-clients.cnf

-----------------------------------------------------

[mysql]

default-character-set=utf8

 

[mysqldump]

default-character-set=utf8

-----------------------------------------------------

(파일) /etc/my.cnf.d/server.cnf

-----------------------------------------------------

[mysqld]

collation-server = utf8_unicode_ci

init-connect='SET NAMES utf8'

character-set-server = utf8

-----------------------------------------------------

▷utf8_unicode_ci : 유니코드 표준 기반으로 대소문자 구분하지 않는 비교/ 정렬 수행

※ 다국어 지원 시 권장합니다.

 

(e) 특정 데이터베이스 character_set 변경

ALTER DATABASE database_name COLLATE utf8mb4_unicode_ci;

ALTER DATABASE database_name CHARACTER SET utf8mb4;

ex)

 

※ 데이터베이스 이름 변경은 지원되지 않습니다.

 

5) 특정 데이터베이스 사용

USE database_name;

 

6) 데이터베이스 삭제

DROP DATABASE database_name;