jeongwon
[Oracle] SQL, 데이터 Create, Read, Update, Delete 본문
왜 엑셀이 아니라 데이터베이스인가?
- 저장장치의 한계만 없다면 엑셀에 비해 엄청나게 많은 데이터를 저장할 수 있고,
- 설계를 잘만 한다면 그 중 원하는 데이터를 꺼내는 데 아주 짧은 시간이 걸릴 수 있다.
- 명령어를 통해서 제어할 수 있다는 것은, 데이터베이스 시스템으로하여금 명령어를 통해 일을 시킬 수 있다는
즉 '자동화'의 이점이 있다. (이 명령어가 SQL)
SQL : Structed Query Language
구조화된 정보를 다루는 언어이며, 수많은 관계형 데이터베이스들이 사용하는 언어이다.
1. CREATE
CREATE TABLE topic ( --topic이라는 이름의 TABLE 생성
id NUMBER NOT NULL, --id 컬럼을 생성 및 숫자 데이터 형식으로 제한, 반드시 입력.
title VARCHAR2(50) NOT NULL, -- title 컬럼 생성 및 문자 50개로 제한, 반드시 입력.
description VARCHAR2(4000), --description 컬럼 생성 및 문자 4000개로 제한(최대값)
created DATE NOT NULL --created 컬럼 생성 및 반드시 입력 조건.
);
INSERT INTO topic
(id,title,description,created) --해당 열에 내용 추가
VALUES
(1,'ORACLE','ORACLE is...',SYSDATE); --내용(SYSDATE는 시스템상의 오늘 날짜 자동 기입)
INSERT INTO topic
(id,title,description,created)
VALUES
(2,'MYSQL','MYSQL is...',SYSDATE);
commit;
2. READ
데이터를 가져오는 것의 핵심은 '어떤 데이터'를 가져올 것인가이다.
SELECT * FROM topic;
commit;
- SELECT * :모든 데이터를 가져오겠다
- FROM : 어디에서?
- topic : topic이라는 테이블에서
SELECT id, title, created FROM topic; -- 컬럼(column)의 제한
SELECT * FROM topic WHERE id = 1; --id가 1인 행만 Read
SELECT * FROM topic WHERE id > 1; --id가 1보다 큰 행만 Read
SELECT id, title, created FROM topic WHERE id = 1; -- 행과 컬럼의 제한
commit;
SELECT * FROM topic ORDER BY id DESC; --id를 기준으로 정렬하되, 내림차순으로.
SELECT * FROM topic ORDER BY title ASC; --title을 기준으로 정렬하되, 오름차순으로(abc..순)
--페이지 기법--
SELECT * FROM topic
OFFSET 1 ROWS -- OFFSET은 0번째 이후의 행을 가져온다. (컴퓨터는 0부터 행을 센다)
FETCH NEXT 2 ROWS ONLY; //FETCH는 몇 개를 가져올 것인지 결정. 다음 2행만 가져온다.
--결과적으로 2번째 데이터부터 2행만 가져온다.(2,3행)
commit;
페이지를 찢듯, 수많은 데이터를 조각내 가져와야 한다. (페이지 기법 맛보기)
3. UPDATE
수정과 삭제에서 '무엇을' 삭제할 것인지 지정하는 것은 아주아주 중요하다. 대형사고를 피하자.
UPDATE topic --topic 테이블을 수정
SET
title = 'MSSQL', --title 컬럼을 'MSSQL'로
description = 'MSSQL is...' --description 컬럼을 'MSSQL is...'로
WHERE
id = 3; -- id가 3인 행에서
commit;
4. DELETE
DELETE FROM tipic WHERE id = 3;
commit;
반영을 위해 commit을 잊지 말자.
출처:
행 읽기 - 생활코딩
수업소개 테이블에 저장된 행을 읽는 방법을 소개합니다. 강의 1 SELECT * FROM topic; 강의 2 SELECT id, title, created FROM topic; SELECT * FROM topic WHERE id = 1; SELECT * FROM topic WHERE id > 1; SELECT id, title, created FROM t
opentutorials.org
행 수정 & 삭제 - 생활코딩
수업소개 테이블에 행을 추가하는 방법을 학습합니다. 강의 1 강의 2
opentutorials.org
'DataBase' 카테고리의 다른 글
[데이터 모델링] 논리적 데이터 모델링 (0) | 2022.05.27 |
---|---|
[데이터 모델링] 개요, 개념적 데이터모델링 (0) | 2022.05.27 |
[Oracle] SQL SELECT 문의 활용 - JOIN (0) | 2022.05.26 |
[Oracle] 서버&클라이언트, SQL Developer, 스키마 (0) | 2022.05.25 |
[Oracle] Primary key, sequence (0) | 2022.05.25 |