컴공 전공 공부
데이터 베이스 1일차 본문
- 스키마
서로 연관된 표를 grouping하는 디렉토리

사용자를 만들면 사용자에 관한 스키마가 만들어지고 스키마를 관리하는 것이 바로 사람이다.
-사용자 생성
관리자 권한으로 실행해야 가능
Enter user-name: sys AS SYSDBA
CREATE USER c##아이디 IDENTIFIED BY 비번;
-권한 부여
GRANT DBA TO 아이디
-->최대한의 가장 강력한 권한 부여
-테이블 생성
column: 테이블의 가로 행
row : 테이블의 세로 열

CREATE TABLE topic(
id NUMBER NOT NULL --ID값은 반드시 있어야 한다 지정
title VARCHAR2(50) NOT NULL, -- 50글자가 넘어가면 잘림
description VARCHAR2(4000) NOT NULL,
created DATE NOT NULL
);
table created --> 표 생성됨
-현재 계정의 테이블 목록을 보여줌
SELECT * FROM
- 모든 계정의 테이블 목록을 보여줌
SELECT TABLE_NAME FROM all_tables WHERE OWNER = SCOTT;

-행 추가
INSERT INTO topic
(id, title,description ,created)
VALUES
(1,'ORACLE','ORACLE IS...',SYSDATE);
commit;
INSERT INTO topic
(id, title,description ,created)
VALUES
(1,'MYSQL','MYSQL IS...',SYSDATE);
commit;
INSERT INTO topic
(id, title,description ,created)
VALUES
(1,'SQL','SQL IS...',SYSDATE);
commit;

SELECT * FROM topic; -- 추가한 표 확인
- SQL의 의미 (Structured Query Language)
명령어를 통해 데이터베이스 시스템을 제어하여 자동화할 수 있도록 한다.
이때의 명령어를 SQL이라고 한다.
-행 읽기
SELECT * FROM topic;

-행과 컬럼 제한하기
SELECT id, title,created FROM topic;
-아이디가 1번인 행만 보기
SELECT *FROM topic WHERE id = 1;
-아이디가 1번보다 큰 행만 보기
SELECT *FROM topic WHERE id > 1;
-정렬과 페이징
SELECT * FROM topic ORDER BY id DESC;--id 내림차순
SELECT * FROM topic ORDER BY title ASC;-- title 오름차순
SELECT * FROM topic
OFFSET 2 ROWS;
--> 2번째 이후의 행들만 가져 오기
SELECT * FROM topic
OFFSET 0 ROWS;
FETCH NEXT 1 ROWS ONLY;
-->0번째 이후 1개 행만 가져오기
-->1행 가져오기