SQL

5. SQL 기본 쿼리

양상추상츄 2022. 11. 2. 01:42

-- 테이블 생성

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)  -- 제약조건, 유일무이해야 한다.(PRIMARY KEY)
);

 

-- 테이블 조회

SELECT id FROM topic WHERE id = 1;

SELECT id FROM topic WHERE id > 1;

SELECT id FROM topic;

 

-- 데이터 정렬 (DESC 내림차순, ASC 오름차순)

SELECT * FROM topic ORDER BY id DESC;

SELECT * FROM topic ORDER BY id ASC;

 

-- 데이터 삽입

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

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

 

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

 

-- 어디부터 가져올 것이냐 (0번째 이후의 행을 가져옴)

SELECT * FROM topic OFFSET 1 ROWS; 


--  2번째 데이터부터  2개의 행을 가져온다. (페이징시 사용) 
SELECT * FROM topic 
OFFSET 1 ROWS 
FETCH NEXT 2 ROWS ONLY;

 

-- 테이블의 데이터 변경

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

 

-- 테이블의 데이터 삭제 
DELETE FROM topic WHERE id = 3;

 

 

-- 시퀀스 생성 (ID값이 자동으로 1씩 증가한다.)

CREATE SEQUENCE SEQ_TOPIC;

 

-- 현재 시퀀스의 값 확인
SELECT SEQ_TOPIC.CURRVAL FROM DUAL;

 

-- 시퀀스 사용

INSERT INTO topic
(id, title, description, created)
VALUES
(SEQ_TOPIC.NEXTVAL, 'MySQL', 'MySQL is ...', SYSDATE);

INSERT INTO topic
(id, title, description, created)
VALUES
(SEQ_TOPIC.NEXTVAL, 'MySQL', 'MySQL is ...', SYSDATE);

INSERT INTO topic
(id, title, description, created)
VALUES
(SEQ_TOPIC.NEXTVAL, 'MySQL', 'MySQL is ...', SYSDATE);

INSERT INTO topic
(id, title, description, created)
VALUES
(SEQ_TOPIC.NEXTVAL, 'MongoDB', 'MongoDB is ...', SYSDATE);

'SQL' 카테고리의 다른 글

DECODE 사용해보기  (0) 2022.11.06
6. SQL Developer  (0) 2022.11.02
4. 행추가  (0) 2022.11.02
3. 오라클 테이블 생성 / 스키마의 테이블 조회  (0) 2022.10.30
2. 오라클 권한부여  (0) 2022.10.30