상세 컨텐츠

본문 제목

Create Table

Database (DBMS)/Oracle DB

by 매일매일 배우는 개발자 2020. 10. 23. 13:00

본문

728x90

CREATE TABLE은 새로운 테이블을 DB에 만들때 사용되는 SQL문이다.

Create SQL문을 할떄 제약조건등을 지정할수도 있다.

 

Creat Table table_name(
Data type parameter  
)

 

data type parameter 공간에 데이터 유형을 넣는다. 주로 ID, Password, name, email 등 table에 데이터를 넣을 필요한 매개변수 값들을 지정한다.

 

CREATE TABLE Table_name(
user_id char(8), //메모리 8만큼의 user_id 행을 String값으로 만든다
password varchar2(50), //메모리 50만큼의 password 행을 String값으로 만든다
name varchar2(50), //메모리 50만큼의 name 행을 String값으로 만든다
email varchar2(50) //메모리 50만큼의 email 행을 String값으로 만든다
Date date default sysdate //현재시간을 Table_name테이블에 넣는다
)

 

용어설명 

  • char : Character의 줄임말로써 메모리에 절대적 용량만큼 정보를 넣는다.
    -> char(8)이면 8byte만큼 절대적으로 사용한다. 만약 쓰고 남으면 빈 메모리를 넣는다.
  • varchar : variable character의 줄임말로써 메모리에 가변적 용량만큼 정보를 넣는다 
    -> varchar(50)이면 50byte만큼 넣을수 있으나 20byte만큼 용량을 사용함.
  • default sysdate : 현재시간을 table_name 테이블에 넣는다.
  •  

제약조건

테이블생성시에 특정조건을 지정할수 있다. 제약조건 지정시에 DB 테이블에 정보를 추가 및 수정할때 반드시 이 제약조건을 지켜야 정보를 추가할 수 있다.

 

종류

  • Primary Key
    • 테이블의 레코드를 고유하게 식별합니다
    • Unique + Not Null 의 제약조건을 동시에 가집니다
    • 테이블에서 하나의 키만 가질수 있습니다
  • Foreign Key
    • 다른테이블의 primary key를 통해 두 테이블을 연결하는데 쓰입니다.
  • Not null
    • 필드값이 반드시 포함되어 있어야 합니다.
  • Unique
    • 열의 값이 모두 같은지 다른지 확인합니다 (모든 다른값만 올수 있습니다.)
    • 열의 고유성을 보장합니다
  • Check
    • Check 제약조건을 지정하면 특정 조건을 제한할 수 있습니다.
    • 다른 열값을 기반으로 제한도 가능합니다.

사용방법

table의 매개변수 뒤에 constraints 예약어를 작성한후 제약조건명, 제약조건을 넣는다

     ex) user_no varchar2(50) constraints r_no_pk primary key

 

Foreign Key만 예외로 constraints 뒤에 references 예약어를 작성한후 부모테이블 (부모컬럼)을 쓰도록 한다

     ex) user_id varchar2(50) constraints r_id_fk references departments (departments_id)

Create table employees (
user_no varchar2(50) constraints r_no_pk primary key,
 user_id varchar2(50) constraints r_id_fk references departments (departments_id)
 name varchar2(50) constraints r_name_nn not null,
 email varchar2(50) constraint r_name_uk unique, constraints r_name_nn not null,
 date date default sysdate
 );
 

 

 

 

 

728x90

관련글 더보기