DB

[sqld] DDL CREATE(테이블 생성) 구조 및 제약조건

초코파이쩡 2023. 2. 20. 17:38
반응형

CREATE란(구조 생성)? 데이터베이스 상 테이블 구조 생성

 

이름 생년 phone
박파이 1990 010-1234-1234

 

테이블 만들기 예시

CREATE TABLE C_PIE(
	이름    varchar2(10),
    생년    number(4),
    Phone   varchar2(15),
    가입일  date,
    고객번호 varchar2(10)

);

구조

*컬럼명
영문,한글,숫자 모두 가능 
대신 시작은 문자로 해야한다
ex) pie10(o) ,  10pie(x)

*데이터 타입
number : 숫자형
date : 날짜형
varchar2 : 가변길이 문자열
char : 고정된 크기 문자열, 할당된 길이만큼 문자 채움


테이블 생성 주의사항

1. 테이블명과 컬럼명은 반드시 문자로 시작해야함
2. A-Z, a-z, 0-9, #, $, _ 만 사용가능함
3. 다른 테이블명과 중복되지 않아야 함
4. 칼럼 뒤 데이터유형은 꼭 지정되어야 함

 


이름 생년 phone
박파이 1990 010-1234-1234
CREATE TABLE C_PIE(
	이름    varchar2(10),
    생년    number(4) default 9999, /*고객이 나이를 밝히고 싶지 않을때 디폴트값 즉
    값이 들어오지 않았을경우 기본값을 9999라고 할거에요! 라는 정의가 가능하다 기본값 지정 */
    Phone   varchar2(15) not null, /* 필수정보를 담아야 할때 null값이 되면 안된다
    결국 값이 없는 상태가 아닌 필수로 저장을 해야하는 상태를 not null 제약조건을 넣는다 */
    가입일  date,
    고객번호 varchar2(10) primary key /* 1990년도에 태어난 박파이씨가 3명이 될수가 있는데
    그럴때 한사람 한사람을 각각 고유한 번호를 붙여서 관리를 하자 마치 주민번호 처럼
    한사람을 식별할 수 있는 유일한 값을 하나 만들자 라고 해서 고객번호를 넣었고 
    기본키 라는 것이 한 레코드 행 하나하나를 유일한 존재로 만들어주는 하나의 특정컬럼을 의미*/

);

 

제약조건(CONSTRAINT)

default : 기본값 지정
not null : null 입력 불가
primary key : 기본키 지정
>> pk는 not null
>> pk는 unique 한 값 (테이블 내 중복 없음)
foreign key : 외래키 지정 
>> 테이블당 여러개 가능

 


count와 null

count(*)   : 전체 행의 수 카운트, null 포함
count(컬럼명)   : null 제외한 행 수 카운트
NULL 은 모르는 값을 상징하고, 값이 없음(부재)를 의미함
NULL IS NULL = TRUE
NULL 과 모든 비교 (ex. NULL = 0) 은 알 수 없음(NULL)을 반환함
NULL 은 숫자 0이나 공백문자 (' ')와 동일하지 않음 (얘네는 값이 있음)

 

 


 

참조 유튜브 보면서 학습 https://youtu.be/8uP_E6SyiuM

반응형