김갱환
맨땅에 코딩
김갱환
전체 방문자
오늘
어제
  • 분류 전체보기 (239)
    • ⁂ 맨땅에 코딩 (11)
      • : Story (3)
      • : MiniProject 'MyWeb' (1)
      • : Final Project (5)
      • : Josa-Moa 한국어 조사 처리 프로젝트 (1)
    • —————Frontend——————————————.. (0)
    • ⁂ HTML (10)
      • : 기본 익히기 (10)
    • ⁂ CSS (15)
      • : 기본 익히기 (15)
    • ⁂ Java Script (32)
      • : 기본 익히기 (28)
      • : 자바스크립트 라이브러리 (1)
      • : 연습 문제 (3)
    • ⁂ jQuery (11)
      • : 기본 익히기 (11)
    • ⁂ Bootstrap (3)
      • : 기본 익히기 (3)
    • ⁂ TailWind CSS (1)
    • ⁂ AJAX (5)
      • : 기본 익히기 (5)
    • ⁂ Vue.js (3)
      • : 기본 익히기 (3)
    • —————DB : Data Base————————.. (0)
    • ⁂ Oracle DB (27)
      • : 기본 익히기 (24)
      • : 연습 문제 (3)
    • ⁂ MyBatis Framework (15)
      • : 기본 익히기 (15)
    • —————Backend———————————————.. (0)
    • ⁂ Java (62)
      • : 기본 익히기 (42)
      • : JDBC - Java DataBase Conn.. (4)
      • : Crawling (2)
      • : 독학으로 공부하기(과거) (11)
      • : 연습문제 (3)
    • ——————Web————————————————— (0)
    • ⁂ JSP (28)
      • : 기본 익히기 (28)
    • ⁂ Spring FrameWork (15)
      • : Legacy Project (1)
      • : 기본 익히기(Boot 기반) (14)
    • ——————————————————————— (0)
    • ⁂ Error Note (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • http에러메세지
  • 자바
  • 비트연산자 #코딩공부 #자바공부 #코딩 #자바 #프로그래밍 #개발자
  • 연산자 #기본연산자 #코딩 #자바 #독학 #자바공부 #자바연산자
  • 코딩 #코딩공부 #프론트앤드 #백앤드 #풀스택개발자
  • 코딩
  • ErrorPage
  • 코딩 #코딩공부 #상수 #리터럴 #형변환 #개발자 #자바 #자바공부 #자바독학
  • HTML공부
  • 코딩공부 #자바공부
  • 객체지향프로그래밍
  • 백앤드
  • web.xml수정
  • httperror
  • 개발자
  • 자바공부
  • 풀스택
  • 코딩공부
  • 코딩공부 #코딩 #자바 #자바독학 #자바공부 #개발자 #프론트앤드 #백앤드 #풀스택
  • 프론트앤드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
김갱환
⁂ Oracle DB/: 기본 익히기

[Oracle] #2-1 기초 SQL문 : 테이블 생성하기

⁂ Oracle DB/: 기본 익히기

[Oracle] #2-1 기초 SQL문 : 테이블 생성하기

2022. 8. 19. 11:58

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
    '⁂ Oracle DB/: 기본 익히기' 카테고리의 다른 글
    • [Oracle] #2-3 Where 조건절(연산자, between, in, like)과 Null값
    • [Oracle] #2-2 기초 SQL문 - select, as, commit, rollback
    • [Oracle] #1-4 작업환경 구축하기 2 (Oracle SQL Developer 설치)
    • [Oracle] #1-3 SQL문 이해하기
    김갱환
    김갱환
    코딩의 코자도 모르는 이의 공부 기록장

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.