MySQL에서 하나의 인스턴스는 1개 이상의 데이터베이스를 가질 수 있다.
- 다른 RDBMS에서는 스키마와 데이터베이스를 구분해서 관리하지만 MySQL 서버에서는 스키마와 데이터베이스는 동격 개념이므로 굳이 스키마를 명시적으로 사용하지는 않는다.
- MySQL의 데이터베이스는 디스크의 물리적인 저장소를 구분하기도 하지만 여러 데이터베이스의 테이블을 묶어서 조인 쿼리를 사용할 수도 있기 때문에 단순히 논리적인 개념이기도 하다.
- 데이터베이스는 객체에 대한 권한을 구분하는 용도로 사용되기도 하지만 그 이상의 큰 의미를 가지지는 않는다.
데이터베이스 생성
데이터베이스에 설정할 수 있는 옵션은 기본 문자 집합이나 콜레이션을 설정하는 정도이므로 간단하다.
|
|
데이터베이스 목록
|
|
접속된 MySQL 서버가 가지고 있는 데이터베이스의 목록을 나열한다.
- 권한을 가지고 있는 데이터 베이스 목록만 표시한다.
SHOW DATABASES
권한이 있어야 한다.
데이터베이스 선택
|
|
기본 데이터베이스를 선택하는 명령이다.
- SQL 문장에서 데이터베이스를 명시하지 않고 테이블 이름이나 프로시저의 이름만 명시하면 현재 커넥션의 기본 데이터베이스에서 주어진 테이블이나 프로시저를 검색한다.
- 기본 데이터베이스에 존재하지 않는 테이블이나 프로시저를 사용하려면 이름 앞에 데이터베이스 이름을 반드시 명시해야한다.
데이터베이스 속성 변경
|
|
생성할 때 지정한 문자 집합이나 콜레이션을 변경한다.
데이터베이스 삭제
|
|
데이터베이스를 삭제한다.
- 지정한 이름의 데이터베이스가 존재하지 않는다면 에러가 발생한다.
IF EXISTS
키워드를 사용하면 존재할 때만 삭제한다.