개발자의 끄적끄적

[CUBRID] 매니저를 사용하여 테이블 생성 [펌] 본문

개발/sql

[CUBRID] 매니저를 사용하여 테이블 생성 [펌]

효벨 2020. 4. 4. 01:00
728x90
반응형

[CUBRID] 매니저를 사용하여 테이블 생성 [펌]

 

CUBRID 매니저를 사용하여 테이블 생성

  [그림 1]과 같이 []localhost > 데이터베이스 > demodb > 테이블] 항목을 우클릭한 후 팝업되는 메뉴에서 [테이블 추가]를 선택한다.

  • [그림1] 테이블 추가 메뉴

테이블 생성 예제

 

1

2

3

4

5

CREATE TABLE tmp_users (

     id INT NOT NULL UNIQUE,

     name VARCHAR(100) NOT NULL,

     age SMALLINT

);

  테이블 추가 메뉴에서 위와 같은 테이블을 생성하려면, [그림 2]에서 새로 생성하고자 하는 테이블 이름 tmp_users를 입력하고, [추가] 버튼을 클릭하여 컬럼을 정의한다.

  • [그림2] 테이블 추가 메뉴

  [그림 3]의 컬럼 추가 메뉴에서 새로 생성하고자 하는 컬럼 이름, 컬럼 타입, 컬럼 길이, 제약 조건을 명시한다.

  • [그림3] 컬럼 추가 메뉴

  [그림 4]는 예제의 스키마 정보를 모두 입력한 화면을 보여준다. 입력 정보를 확인한 후 [확인] 버튼을 클릭하여 정의된 테이블을 생성한다. 입력 정보가 바르지 않은 경우, [편집] 및 [삭제]버튼을 클릭하여 스키마 정의를 수정할 수 있다. 한편, 외래키나 인덱스를 추가하고자 한다면, [외래키/인덱스] 탭으로 이동한 후 설정할 수 있다

  • [그림4] 정의된 스키마 정보 확인

SQL문을 실행하여 테이블 생성

  CUBRID 매니저의 질의 편집기에서 테이블 생성을 위한SQL문(CREATE TABLE)을 실행하여 테이블을 생성할 수 있다.

  아래는 CREATE TABLE문을 사용하여 tmp_olympic 테이블과 컬럼을 정의하는 예제이다. 각 컬럼은 컬럼 이름, 컬럼 타입(컬럼 길이), 제약조건 순서로 정의됨을 알 수 있다.

  보다 상세한 문법은 CUBRID 매뉴얼을 참고한다. (링크: http://www.cubrid.com/manual/newest/syntax/syntax_table_create_syntax.htm)

?

1

2

3

4

5

6

7

8

9

10

CREATE TABLE tmp_olympic (

     host_year INT NOT NULL PRIMARY KEY,

     host_nation VARCHAR(40) NOT NULL,

     host_city VARCHAR(20) NOT NULL,

     opening_date DATE NOT NULL,

     closing_date DATE NOT NULL,

     mascot VARCHAR(20) ,

     slogan VARCHAR(40) ,

     introduction VARCHAR(1500)

);

컬럼의 생성

  컬럼은 테이블에서 각 열에 해당하는 항목이며, 컬럼 이름과 데이터 타입을 명시하여 정의한다. ALTER TABLE문을 사용하여 새로운 컬럼을 추가할 수 있으며, 기존 컬럼을 삭제 또는 편집할 수도 있다.

컬럼 이름

  컬럼 이름은 알파벳으로 지정하는 것이 바람직하다.

  특수문자는 연산자로 사용되지 않는 ‘_’ 및 ‘#’만 허용한다. 보다 상세한 식별자(identifier) 작성 원칙은 CUBRID 매뉴얼을 참고한다.

  링크 : http://www.cubrid.com/manual/newest/syntax/csql_syntaxtype_identifier.htm

컬럼의 초기값 설정(DEFAULT)

  컬럼을 정의할 때 DEFAULT절을 사용하여 컬럼 초기 값을 설정할 수 있다. 새로운 레코드가 추가되는 경우, 해당 컬럼 값을 입력하지 않아도 DEFAULT절에 지정된 값이 자동 저장된다

  다음은 DEFAULT 속성이 사용된 테이블이다.

?

1

2

3

4

5

6

7

8

9

10

CREATE TABLE tmp_users2 (

     id INT NOT NULL UNIQUE,

     name VARCHAR(100) NOT NULL,

     start_year DATE DEFAULT '2012-01-01'

);

  

INSERT INTO tmp_users2(id, name)

VALUES (1, '홍길동'), (2, '김철수');

 

SELECT * FROM tmp_users2;

자동 증가 특성(Auto Increment)

  숫자형 컬럼에 자동 증가 특성을 지정하면, 매 레코드마다 자동으로 해당 컬럼 값을 증가하여 저장한다. 초기 값(seed)과 증가 값(increment)을 지정한다.

구문

?

1

AUTO_INCREMENT [(seed, increment)]

  • - Seed : 번호가 시작하는 초기 값이다. 양의 정수만 허용되며 디폴트 값은 1이다.
  • - Increment: 행마다 증가되는 값이다. 양의 정수만 허용되며 디폴트 값은 1이다.

예제 1

  demodb > athlete 테이블 > code컬럼에는 AUTO_INCREMENT 특성이 지정되어 있다. 다음 문장을 실행하여 확인한다.

?

1

SHOW COLUMNS FROM athlete;

예제 2

  다음은 athlete 테이블에 선수 정보를 입력하는 예제이다. 자동 증가 특성을 사용하여 값을 입력할 때에는 테이블 이름 뒤에 자동 증가 컬럼을 제외한 컬럼 명을 정확히 표현해야 한다.

?

1

2

3

4

5

6

-- 데이터 입력 SQL문, code컬럼값은 입력하지 않음.

INSERT INTO athlete (name, gender, nation_code, event)

VALUES ('Jang Mi-Ran', 'W', 'KOR', 'Weightlifting');

      

-- 데이터 출력 SQL문, code 컬럼값이 16693으로 자동 입력된 것을 확인할 수 있음.

SELECT * FROM athlete ORDER BY code DESC LIMIT 5;

참고사이트

  - http://www.cubrid.com/zbxe/home

 

 

 

출처 : http://www.gurubee.net/lecture/2007

 

반응형
Comments