1) TABLE 테이블의 특징
1.테이블명 컬럼명은 최대 30byte 까지 올 수 있다.
2.테이블명 컬럼명으로 예약어는 사용할 수 없다.
3.테이블명 컬러명으로 문자, 숫자, _, $, # 은 사용할 수 있지만 첫 글자는 문자만 가능하다.
4.한 테이블에 컬럼은 최대 255개까지 가능하다.
2) 테이블의 생성
(1) 기본 생성 구문
CREATE TABLE 테이블_이름 (
column_이름 column_데이터 타입
);
CREATE TABLE member (
mem_id varchar(100),
mem_pw varchar(100),
mem_name varchar(100),
phone_nm number,
email varchar(100)
regist_date date
);
코멘트는 아래와 같이 달 수 있다.
COMMENT ON TABLE member IS '회원관리테이블';
COMMENT ON COLUMN member.mem_id IS '아이디';
COMMENT ON COLUMN member.mem_pw IS '비밀번호';
COMMENT ON COLUMN member.mem_name IS '이름';
(2) 제약조건
1. NOT NULL
CREATE TABLE 테이블_이름 (
column_이름 VARCHAR2(50), -- null 값을 허용함
column_이름 VARCHAR2(50) NOT NULL -- null 값을 허용하지 않음
);
2. UNIQUE
CREATE TABLE 테이블_이름 (
column_이름 VARCHAR2(50)
,column_이름 VARCHAR2(50) UNIQUE -- 들어가는 값이 중복되서는 안됨
);
CREATE TABLE ex1(
col1 VARCHAR2(50)
,col2 VARCHAR2(50) UNIQUE);
INSERT INTO ex1 VALUES('abc','abc');
INSERT INTO ex1 VALUES('abc','abc'); --같은 값을 넣기 때문에 오류가 남
3. 기본키 Primary Key (PK)
primary key를 붙여 선언하는데 자동으로 NOT NULL과 UNIQUE 제약조건을 가지게 된다.
CREATE TABLE department (
dept_no number(3) primary key -- 기본키
,dept_name varchar2(20)
,floor number(5)
);
4. 외래키 Foreign Key (FK)
column_이름 column_타입 CONSTRAINT 조건_이름 REFERENCES 연결하려는_테이블_이름(연결하려는_column_이름)
CREATE TABLE emp (
empno number(5) primary key
,empname varchar2(20)
,title VARCHAR2(20)
,dno number(3) CONSTRAINT emp_fk REFERENCES dep(deptno) --외래키로 연결
,salary NUMBER
);
5. check
CREATE TABLE 테이블_이름(
name VARCHAR2(30) not null
,age number
,constraint ck_ex_age check(age between 1 and 150)
);
위와 같이 constraint 조건_이름 check(조건을_걸_column_이름 조건)으로 조건을 설정할 수 있다.
INSERT INTO ex1_8 VALUES('짱구', '10'); -- 정상처리
INSERT INTO ex1_8 VALUES('홍길동','200'); -- 1~150 사이가 아니라서 오류가 뜸
6. DEFAULT
DEFAULT로 어떤 값이 들어갈지를 미리 정할 수 있다.
CREATE TABLE 테이블_이름 (
column_이름 데이터_타입 default 넣으려는 값
);
CREATE TABLE ex1_9 (
today date default sysdate -- 당일의 날짜가 자동으로 들어간다.
);
이러한 제약 조건은 테이블 제약조건에서 확인이 가능하고 테이블 편집 메뉴에서 기본키, 외래키, check는 추가도 가능하다
3) 테이블 삭제
DROP TABLE 테이블_이름;
'DB' 카테고리의 다른 글
오라클 : 수식 연산자와 논리 연산자 (0) | 2022.07.27 |
---|---|
오라클 : 테이블 데이터의 삽입, 조회, 수정, 삭제 (0) | 2022.07.21 |
오라클 : DDL, DML, DCL의 정의와 기본적인 특징 (0) | 2022.07.21 |
오라클 - 시퀀스(SEQUENCE) 생성, 수정, 삭제 (0) | 2022.05.26 |
noSQL의 정의와 특징, 장단점을 알아보자 (0) | 2022.05.12 |
댓글