[MySQL] 간단한 테이블 생성과 데이터 타입, 열 플래그 (제약조건) 종류 살펴보기

2022. 10. 11. 00:08·■ Database/MySQL
반응형

● 개발목적

MySQL을 통해 간단한 테이블과 데이터값을 생성하고, 이 때 사용되는 열 플래그 (제약조건) 종류들과 그 사용방법에 대해 알아본다.


● 참고

MySQL에서의 테이블 생성 시에는 명령어를 하나하나 수기로 입력해 테이블을 생성할 수도 있겠지만, 본 포스팅에서는 MySQL WorkBench 프로그램을 이용, GUI 환경에서 간편하게 테이블을 생성하는 과정을 알아보도록 한다.


● MySQL WorkBench를 통한 스키마 / 테이블 생성

새로운 스키마 (SCHEMAS) 생성을 위해, 상단의 데이터베이스 모양의 버튼을 클릭한다.

스키마의 이름은 간단하게 DBTest로 지정하고, Apply 버튼을 클릭해 스키마를 생성한다.

 

 

 

새로 생성한 dbtest 스키마를 더블 클릭하고, 마우스 우측 클릭을 해 Create Table 버튼을 누른다.

 


● 데이터 타입 (Datatype) 종류와 정의

테이블 이름 (Table Name)을 지정한다. 가장 간단한 예시인 계정 정보 DB 테이블을 만들어 보고자 하는 의도로 account_info로 지정했다.

 

칼럼 이름 (Column Name) 을 지어주어야 하는데, 간단하게 '이름' 정보를 보관할 name 칼럼과 'id' 정보를 보관할 id 칼럼, '비밀번호' 정보를 보관할 pwd 칼럼을 생성했다.

 

그 후에는 데이터 타입 (Datatype) 을 지정한다. MySQL에서 제공하는 데이터 타입은 굉장히 많지만, 주로 사용하는 몇가지들만 추려서 알아보도록 하겠다.

 

 

 

데이터 타입 유형 정의
CHAR(크기) 최대 255byte의 고정 길이 데이터 타입.
설정한 크기보다 작은 데이터값 입력 시 남은 공간은 공백으로 채워짐.
VARCHAR(크기) 최대 65535byte의 가변 길이 데이터 타입.
설정한 크기보다 작은 데이터값 입력 시 남은 공간은 채우지 않음.
INT(크기) 정수형 데이터 타입.
DOUBLE(길이, 소수) 부동 소수형 데이터 타입.
DATE 연, 월, 일 형식의 날짜 표현 데이터 타입
TIME 시, 분, 초 형식의 시간 표현 데이터 타입
DATETIME 날짜와 시간을 합친 기간 표현 데이터 타입

상황에 알맞는 데이터 타입을 지정했으면, 제약 조건을 지정한다. 제약 조건에 관련된 설명은 아래와 같다.

 

 

 


● 제약 조건 종류와 정의

제약 조건 유형 정의
PK (PRIMARY KEY) NULL값 (빈값) 저장 불가하고, 중복된 값을 가질 수 없음.
(NN과 UQ의 조건을 모두 갖는 제약조건.)
NN (NOT NULL) NULL값 (빈값) 저장 불가. 무조건 데이터를 가지고 있어야 함.
UQ (UNIQUE) 해당 필드에는 서로 다른 값만을 저장할 수 있음. 중복된 값은 저장 불가.
B 데이터를 2진 문자열로 저장함.
UN 음수 부호 삭제 후, 0부터 시작하여 마지막 값이 2배로 증가되어 삽입됨.
ex) 범위 -100 ~ 100 값 전달 시 0 ~ 200 으로 삽입 (범위는 같음)
ZF (ZERO FILLED) 해당 필드의 크기보다 작은 값이 전달될 경우, 남은 공간을 0으로 채운 뒤 삽입함.
AI 해당 필드의 값 전달 시 마다, 1씩 증가되어 삽입됨.
G 다른 열을 기반으로 하는 수식에 의해 생성된 값.
DEFAULT 해당 필드의 기본값을 설정할 수 있게 함. 만약, 빈 값이 전달되면 설정된 기본값을 자동으로 저장함.

참고) https://stackoverflow.com/questions/3663952/what-do-column-flags-mean-in-mysql-workbench

 

 

모두 완료되었으면 하단의 Apply 버튼을 클릭한다.

 

 

 

테이블 생성 스크립트를 보여준다. Apply 버튼을 클릭해 테이블을 생성하자.

 

 

 

테이블이 정상적으로 생성되었다.

300x250
반응형
저작자표시 비영리 변경금지 (새창열림)
'■ Database/MySQL' 카테고리의 다른 글
  • [MySQL] Union 사용법 : 여러 쿼리의 결과값을 한 테이블로 합쳐서 표현하기
  • [MySQL] 윈도우 CMD에서 사용하기 위한 MySQL 환경변수 설정
  • [MySQL] 데이터 조회하기 : 특정 조건의 데이터 조회 (SELECT, FROM, WHERE, LIKE)
  • [MySQL] MySQL 샘플 데이터베이스, 공식 다운로드 및 적용하는 방법
Min Hyuk-Lee
Min Hyuk-Lee
시스템 엔지니어로 근무하고 있습니다.
  • Min Hyuk-Lee
    아크레의 개발로그
    Min Hyuk-Lee
    m_file@naver.com
  • 전체
    오늘
    어제
    • 📝 Log. (82) N
      • ■ Dev. Language (11)
        • C (5)
        • C# (6)
      • ■ Dev. ETC (8)
        • Unity 3D (3)
        • Android Studio (JAVA) (5)
      • ■ Web (6)
        • HTML (3)
        • JSP (3)
      • ■ Linux (8)
        • Shell (2)
        • Linux Tip. (6)
        • 보안취약점 진단 (0)
      • ■ Windows (4)
        • Server (1)
        • Windows Tip. (3)
      • ■ VM (1)
        • VMWare (1)
        • Virtual Box (0)
      • ■ Database (9)
        • MySQL (7)
        • OracleDB (2)
      • ■ DevKit (5)
        • IDE (4)
        • Tool (1)
      • ■ Error (18) N
        • Linux 오류해결 (4)
        • DB 오류해결 (4) N
        • IDE 오류해결 (2)
        • VM 오류해결 (3)
        • Unity 오류해결 (4)
        • SSH, SFTP 오류해결 (1)
      • ■ Photoshop (3)
        • 디자인&이미지 창작 (3)
      • ■ Document (3)
        • MS Word (2)
        • PDF (1)
      • ■ Study (4)
        • Baekjoon (4)
      • ■ 작문 (1)
        • 회고 (1)
      • ■ ETC (1)
        • Car (0)
        • etc (1)
  • 🌐 Menu

    • 📓 Guestbook
  • 🔗 Other Links

    • GitHub
    • 아크레의 IT ISSUE
  • 📢 Notice

    • [스킨 업데이트] hELLO v4.10.0 적용완료
    • [스킨 업데이트] hELLO v4.9.0 적용 완료
    • [스킨 업데이트] hELLO v4.8.1 적용 완료
  • 💬 Recent Comments

  • hELLO· Designed By정상우.v4.10.0
Min Hyuk-Lee
[MySQL] 간단한 테이블 생성과 데이터 타입, 열 플래그 (제약조건) 종류 살펴보기
상단으로

티스토리툴바