SEQUENCE

 

CREATE SEQUENCE SEQ_TOPIC;

 

SEQUENCE를 이용하면 자동으로 1씩 증가하는 PRIMARY KEY를 만들 수 있다

 

이제 INSERT문의 VALUE값에 SEQ_TOPIC.NEXTVAL 이렇게 .NEXTVAL을 붙혀서 넣어주면 된다

 

SELECT SEQ_TOPIC.CURRVAL FROM topic;

 

현재의 시퀸스 값을 알 수 있는 코드이다

 

하지만 갯수만큼 출력하기 때문에

 

SELECT SEQ_TOPIC.CURRVAL FROM DUAL;

 

하게되면 한개만 출력하게 된다

 

서버와 클라이언트

 

인터넷 연결되어있는 컴퓨터 한대 한대를 호스트라고 부른다

 

정보를 요청하는 쪽이 클라이언트

 

응답하는 쪽이 서버

 

 

 

 

'DATABASE > Oracle' 카테고리의 다른 글

공부(2)  (0) 2021.09.03
공부(1)  (0) 2021.09.03

행 읽기

 

SELECT * FROM topic;

 

topic의 행들을 화면에 출력한다

 

행과 컬럼 제한하기

 

특정 자료만 보고싶다면

 

SELECT id, title, created FROM topic;

 

이런식으로 SELECT 뒤에 적어주면 된다

 

SELECT * FROM topic WHERE id = 1;

 

id = 1인 값들만 불러오게 된다

 

정렬과 페이징

 

SELECT * FROM topic ORDER BY id DESC;

 

ORDER BY로 정렬할 수 있고 DESC는 내림차순임을 알 수 있다

 

SELECT * FROM topic
OFFSET 1 ROWS;

 

OFFSET은 0번째 이후로 나온 행들을 가져온다

(컴퓨터는 0부터 시작)

즉 어디부터 가져올 것이냐

 

SELECT * FROM topic
OFFSET 1 ROWS
FETCH NEXT 1 ROWS ONLY;

 

FETCH는 몇개 출력할 것인지

 

행 수정

 

UPDATE topic
SET
 title = 'MSSQL',
 description ='MSSQL is...'
WHERE
 id = 3;

 

수정하는 명령어이다

 

수정하거나 삭제할때는 무조건 WHERE이 있는걸 확인하자

 

그리고 마무리되면 무조건 commit; 해주기

 

DELETE FROM topic WHERE id = 3;

 

행 삭제

 

삭제해주는 명령어이고

 

commit; 꼭 해주자

 

PRIMARY KEY

 

CREATE TABLE topic(
id NUMBER NOT NULL,
title VARCHAR2(50) NOT NULL,
description VARCHAR2(4000),
created DATE NOT NULL,
CONSTRAINT PK_TOPIC PRIMARY KEY(id,title)
);

 

PRIMARY KEY로 지정한 것을 찾는것은 순식간에 된다

 

아닌것은 어마어마하게 느림

 

표를 만들때 반드시 PRIMARY KEY를 넣어주자

'DATABASE > Oracle' 카테고리의 다른 글

공부(3)  (0) 2021.09.04
공부(1)  (0) 2021.09.03

사용자와 스키마

 

스키마는 서로 연관된 표들을 그룹핑하는 일종의 디렉토리

 

사용자를 생성하면 그 사용자의 해당되는 스키마가 만들어진다

 

스키마의 본질적인 정의는 그 스키마의 속하는 표들을 정의하는 정보

 

사용자 생성

 

생성을 해보자

 

CREATE USER 생성할사용자명 IDENTIFIED BY 비밀번호;

 

하게되면 오류가 뜬다

 

ORA-65096: invalid common user or role name

 

이를 해결하기 위해서는

 

생성할이름 앞에 C##을 붙이거나

 

ALTER SESSION SET "_ORACLE_SCRIPT"=true;

 

이것을 입력한후 생성해주면 된다

 

사용자 권한 부여

 

데이터베이스 관리자라는 모든일을 할 수 있는 권한을 줄 것이다

 

GRANT DBA TO 사용자;

 

테이블 생성

 

CREATE TABLE topic(
id NUMBER NOT NULL,
title VARCHAR2(50) NOT NULL,
description VARCHAR2(4000),
created DATE NOT NULL
);

 

이러한 형태로 작성해주면 테이블이 생성된다

 

Number과 같은 것들은 데이터타입이며 NULL은 생략 가능하다

 

조회를 하고 싶을 땐

 

SELECT * FROM all_tables WHERE OWNER = 사용자;

 

하면 테이블 목록이 나온다

 

행 추가

 


INSERT INTO topic
(id,title,description,created)
VALUES
(1,'ORACLE','ORACLE is...', SYSDATE);

 

이런식으로 하면 추가가 된다

 

만약 행을 추가했다면 또는 어떤 수정 작업을 했다면

 

commit; 이라는 명령을 내린다

 

SQL이란?

 

Structured

Query

Language

 

구조화된 정보를 처리하도록 요청하는 컴퓨터 용어

'DATABASE > Oracle' 카테고리의 다른 글

공부(3)  (0) 2021.09.04
공부(2)  (0) 2021.09.03

+ Recent posts