Database (DBMS)/Oracle DB
Create Table
매일매일 배우는 개발자
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