CREATE
CREATE
MySQL에서는 다음과 같은 CREATE 문을 사용하여 데이터베이스와 테이블을 만들 수 있습니다.
1. CREATE DATABASE
2. CREATE TABLE
데이터베이스 생성
CREATE DATABASE 문은 새로운 데이터베이스를 생성해 줍니다.
문법
CREATE DATABASE 데이터베이스이름
다음 예제는 Hotel이라는 새로운 데이터베이스를 생성하는 예제입니다.
예제
CREATE DATABASE Hotel;
데이터베이스의 선택
데이터베이스를 생성한 후에, 해당 데이터베이스를 사용하기 위해서는 우선 데이터베이스를 선택해야 합니다.
MySQL에서는 USE 문을 사용하여 데이터베이스를 선택할 수 있습니다.
문법
USE 데이터베이스이름
다음 예제는 Hotel 데이터베이스를 선택하는 예제입니다.
예제
USE Hotel;
그러나 윈도우 환경의 MySQL에서는 데이터베이스의 이름에 대소문자를 구분하지 않습니다.
하지만 될 수 있으면 언제나 데이터베이스의 이름은 대소문자를 구분하여 사용하는 것이 가독성 측면에서도 좋습니다.
테이블 생성
데이터베이스는 하나 이상의 테이블로 구성되며, 이러한 테이블에 데이터를 저장하여 관리할 수 있습니다.
CREATE TABLE 문은 새로운 테이블을 생성해 줍니다.
문법
CREATE TABLE 테이블이름
(
필드이름1 필드타입1,
필드이름2 필드타입2,
...
)
테이블을 생성하기 위해서는 테이블 이름, 필드(field) 목록과 각 필드의 타입을 명시해야 합니다.
필드의 타입이란 해당 필드에 저장될 데이터가 가질 수 있는 타입을 의미합니다.
데이터베이스에서 사용되는 타입에 대한 더 자세한 사항은 MySQL 타입 수업에서 확인할 수 있습니다.
다음 예제는 4개의 필드를 갖는 Test 테이블을 생성하는 예제입니다.
실행 결과
따라서 예제가 수행된 결과를 확인하고 싶다면, 예제 내의 주석 처리된 부분을 차례대로 해제하고 다시 실행하면 됩니다.
또한, 해당 테이블의 상세 정보는 DESCRIBE 구문이나 DESC 구문을 통해 확인할 수 있습니다.
제약 조건(constraint)
제약 조건(constraint)이란 데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행되는 검사 규칙을 의미합니다.
이러한 제약 조건은 CREATE 문으로 테이블을 생성할 때나, ALTER 문으로 필드를 추가할 때도 설정할 수도 있습니다.
CREATE TABLE 문에서 사용할 수 있는 제약 조건은 다음과 같습니다.
1. NOT NULL : 해당 필드는 NULL 값을 저장할 수 없게 됩니다.
2. UNIQUE : 해당 필드는 서로 다른 값을 가져야만 합니다.
3. PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 됩니다.
4. FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만듭니다.
5. DEFAULT : 해당 필드의 기본값을 설정합니다.
또한, AUTO_INCREMENT 키워드를 사용하면 해당 필드의 값을 1부터 시작하여 새로운 레코드가 추가될 때마다 1씩 증가된 값을 저장합니다.
이때 AUTO_INCREMENT 키워드 다음에 대입 연산자(=)를 사용하여 시작값을 변경할 수 있습니다.
제약 조건에 대한 더 자세한 사항은 MySQL 제약 조건 수업에서 확인할 수 있습니다.