1. 테이블 시나리오
DataBase는 테이블에 작성이 된다.
그렇기에 이 DB를 작성할 때는 테이블 시나리오를 잘 작성해야한다.
이 테이블 시나리오를 짜는 설계는 실제 업무 안에서도 업무 초임자에게는 맡기지 않는다.
그만큼 테이블 시나리오를 짜는 것은 중요하고도 어려운 일이다.
만약 학교에서 학생들의 성적을 DB에 저장해두려고한다고 생각해보자.
그 때 우리는 DB 안에 들어갈 테이블을 미리 계산해둔다.
(아래와 같이 엑셀과 같은 프로그램으로 시나리오를 짜기도 한다)

그리고 이 것을 바탕으로 DB에 테이블을 만드는 것이다(NoSql에서는 document라고 불린다).
2. 테이블 만들기 : Create
테이블은 create table로 만든다.
이 때 table의 이름을 먼저 지정한다.
그리고 상단의 사진에서 보이는 이름, 국어, 영어, 수학의 한 열을 칼럼이라 부른다.
[테이블 생성]
--형식)
create table 테이블(
칼럼명1 자료형 제약조건
,칼럼명2 자료형 제약조건
,칼럼명3 자료형 제약조건
, ~~~
);
칼럼의 이름을 먼저 선언하고, 칼럼의 내용에 맞는 자료형을 지정한 뒤 제약조건을 거는 것으로 테이블을 생성한다.
(제약조건은 생략할 수도 있다)
위의 엑셀 사진처럼 SQL문으로 테이블을 만들어보자.
아, 그리고 데이터베이스에서 문자열 데이터는 ' ' 로 감싼다.
-- sungjuk 테이블 생성
create table sungjuk(
uname varchar(20) -- 영문자 20글자 이내까지
,kor int -- 정수형
,eng int
,mat int
,tot int
,aver int
);
-- 칼럼의 순서는 의미가 없다
3. 테이블 삭제하기 : Drop
테이블을 삭제할 땐 drop table 테이블명; 의 형식으로 문법을 사용하면 된다.
이 때 테이블을 삭제하면 모든 데이터도 같이 삭제가 되기 때문에 주의하여야 한다.
[테이블 삭제]
-- 형식) drop table 테이블명;
-- 주의) 테이블을 삭제하면 모든 데이터도 같이 삭제된다
-- sungjuk 테이블 삭제
drop table sungjuk;
4. 테이블 수정하기 : Alter
테이블을 수정할 땐 alter를 사용한다.
그렇지만 테이블을 자주 수정하는 것은 테이블 자체에 문제가 있다는 뜻이므로 자주 사용하게 된다면 테이블 자체를 손봐야할 필요를 느껴야한다.
5. CRUD, 관계형 DB에서 테이블의 핵심기능
- C Create 생성 -> insert문
- R Read 조회 -> seletct문
- U Update 수정 -> update문
- D Delete 삭제 -> delete문
1) Create : 행추가
행을 추가할 땐 아래와 같은 형식을 취한다.
insert into 테이블명(칼럼명1, 칼럼명2, 칼럼명3, ~~~)
values (값1, 값2, 값3, ~~~);
위의 코드대로 만들어둔 테이블에 값을 입력해보자.
insert into sungjuk(uname, kor, eng, mat)
values ('홍길동', 100, 90, 80);
insert into sungjuk(uname, kor, eng, mat)
values ('진달래', 85, 75, 50);
2) 조회하기(출력하기)
select 칼럼명1, 칼럼명2, 칼럼명3, ~~
from 테이블명;
select uname, kor, eng, mat, tot, aver from sungjuk;
아래는 위의 코드를 사용하여 출력된 모습이다.

3) Update : 행 수정하기
행 수정을 이야기하기 전에 null 의 의미부터 알아보자.
null은 비어있는 값이다.
- null
- ''
- ' '
위의 세 값에서 글자갯수를 구하라고 하면 어떻게 될까?
null은 아예 에러가 나버린다.
''는 글자 개수가 0개로, ' '는 글자 개수가 1개로 나온다.
이제 위에서 결과로 나온 데이터 중 (null) 값을 채워주려한다.
이 때 사용하는 문법이 바로 update이다.
문법 형식부터 살펴보자.
update 테이블명 set 칼럼명1 = 값1, 칼럼명2 = 값2, 칼럼명3 = 값3
이제 실제로 바꿔보자.

왜 오류가 났을까?
현재 tot 값은 지정된 것이 없기 때문이다.
그래서 지정되지 않은 tot 값을 사용하지 않도록 코드를 수정하면?

4) Delete : 행 삭제하기
행도 삭제할 수 있다.
형식을 살펴보자.
delete from 테이블명;
이 문법을 사용하면 테이블의 내용이 모두 사라지게 된다(테이블은 유지된다).
'⁂ Oracle DB > : 기본 익히기' 카테고리의 다른 글
[Oracle] #2-3 Where 조건절(연산자, between, in, like)과 Null값 (0) | 2022.08.19 |
---|---|
[Oracle] #2-2 기초 SQL문 - select, as, commit, rollback (0) | 2022.08.19 |
[Oracle] #1-4 작업환경 구축하기 2 (Oracle SQL Developer 설치) (0) | 2022.08.18 |
[Oracle] #1-3 SQL문 이해하기 (0) | 2022.08.18 |
[Oracle] #1-2 작업환경 구축하기 1 (Oracle XE 설치) (0) | 2022.08.18 |