-- 기존 제약 조건 삭제 (만약 존재한다면)
ALTER TABLE your_table DROP CONSTRAINT your_table_pkey;

-- 새로운 제약 조건 추가
ALTER TABLE your_table
ADD CONSTRAINT your_table_pkey PRIMARY KEY (new_column1, new_column2);

ALTER COLUMN 문은 열의 속성을 수정할 때 사용됩니다. 주로 열의 데이터 타입, NULL 제약 조건, 기본값 등을 변경하는 데에 쓰입니다.

제약 조건을 추가하거나 제거할 때에는 **ALTER TABLE**을 활용합니다.

제약조건중에서도 notnull 이나 default같은 경우는 alter column쓴다.

ALTER COLUMN your_column SET DEFAULT your_default_value;
ALTER COLUMN your_column SET NOT NULL;
ALTER COLUMN your_column DROP DEFAULT;
  1. PRIMARY KEY:

  2. UNIQUE:

  3. NOT NULL:

  4. CHECK:

    create table contacts (
    ---- columns ----
      id uuid default uuid_generate_v4(),
    	-- 이렇게 대신 써도 된다.
    	id uuid default uuid_generate_v4() primary key,
    
      first_name not null text,
      last_name not null text,
    ---- constraints ----
      primary key (id)
    	check (
    		first_name !~ '\\s'
    		and last_name !~ '\\s'
    	)
    );
    
  5. FOREIGN KEY:

  6. EXCLUSION:

내장 타입.

INTEGER ⇒ 소수점없음

NUMERIC, DECIMAL(10,2) ⇒ 고정 소수점

FLOAT, DOUBLE PRECISION ⇒ 부동 소수점

소수점 이하 자릿수가 많아질수록 부동 소수점의 정밀도는 감소합니다. 따라서 금융과 같이 정확한 정밀도가 필요한 경우에는 DECIMAL 또는 NUMERIC 데이터 타입을 고려하는 것이 좋습니다.