이전시간에 사용자를 생성하고, 사용자에게 권한을 부여했었다!
이번엔 테이블을 생성해보자!
https://docs.oracle.com/database/121/SQLRF/statements_7002.htm
표를 어떻게 만드는 지 설명이 되어있다.
사용설명서를 보면, CREATE
키워드로 시작해서 TABLE
키워드를 쓰고, 테이블명, 그다음 세가지 중 하나를 선택하여야 한다.
relational_table
을 만드는 것이기 때문에 그다음 relational_table
에 관한 내용을 살펴보자!
relational_properties
를 적고 뒤에 것들을 적을지 말지 해서 쭉 끝이난다. relational_properties
는 다음과 같다.
그러면 컬럼을 정의거나 하는 옵션이 있다.
각각의 컬럼을 정의를 해줄 것이고, ,
가 구분자이다.
하지만 위의 것을 보고 만들기는 어렵다.. 그러므로 인터넷에 검색해서 찾아보는 것이 쉽고 빠른 방법이다.
나는 이곳을 찾았다! 이곳을 참고해서 테이블을 생성해보자~
하지만, 코딩으로 표를 만들기 전에 엑셀로 한번 만들어보는 것이 좋다고 하셨다! 일단 우리가 만들려고 하는 테이블을 살펴보자!
topic
이라는 테이블에 각각 id
,title
,description
,created
를 줄 것인데, 이러한 것들을 열
,Column
이라고 한다.
이렇게 입력된 정보 한줄 한줄이 행
,Row
가 된다.
위에서 작성했던 엑셀의 표를 보고, sql문을 작성해보자!
CREATE TABLE 테이블명(
컬럼명 데이터타입 [NULL|NOT NULL],
컬럼명 데이터타입 [NULL|NOT NULL],
...
);
오라클의 테이블 생성 형식은 위와 같다! 더 복잡하지만 지금은 이렇게만 알아두고, 엑셀의 데이터를 이제 sql형식으로 작성하자!
CREATE TABLE topic(
id NUMBER NOT NULL,
title VARCHAR2(50) NOT NULL,
description VARCHAR2(4000) NULL,
created DATE NOT NULL
);
데이터타입은 NUMBER
와 같이 지정해 줄 수 있다.
NOT NULL
은 반드시 값이 입력되어야 한다는 것이다.
VARCHAR2(글자 수)
은 만약 글자 수 보다 긴 글자가 들어오게 되면, 잘린다. VARCHAR2의 최대 크기는 4000이다!
오라클에서는 날짜와 같은 시간을 위한 데이터 타입이 준비되어 있다.
DATE
라는 것이 그 중 하나다!
NULL은 적어도 되고, 적지 않아도 된다!
와 ~~ 테이블이 생성됐다!
하지만, 어떤 표가 현재 나의 스키마에 존재하는 지를 확인할 수 있어야 한다!
하지만, 어떤 표가 현재 나의 스키마에 존재하는 지를 확인할 수 있어야 한다.
SELECT table_name FROM all_tables WHERE OWNER = '시용자명(대문자)';
해당 유저가 가지고 있는 테이블 목록을 보여준다.
소문자로 사용자를 생성했든 말든간에, 대문자로 적어야 나온다!