본문 바로가기

SQL/sqlplus

(13)
ORACLE(SEQUENCE) CREATE SEQUENCE SEQ_TOPIC; SEQUENC를 이용해서 자동으로 1씩 증가시키는 Primary Key 값을 만들 수 있다. INSERT INTO topic (id,title,description,created) VALUES (4,'MongoDB','MongoDB is...',SYSDATE); SEQUENCE를 이용하지 않으면 id의 값을 넣어줘야하지만 SEQUENCE를 활용하면 다음과 같이 바꿔쓰면 된다. ▼ INSERT INTO topic (id,title,description,created) VALUES (SEQ_TOPIC.NEXTVAL,'MongoDB','MongoDB is...',SYSDATE); VAL은 VALUE 자 그렇다면 한번 이미지를 그려보자! SEQ_TOPIC이라고 하..
ORACLE(PRIMARY KEY) 가지고 있는 topic을 출력해보자. SELECT id, title, created FROM topic; COLUMN은 무슨역할을 하는지 생각해보자 각각의 ID를 식별한다. 다른 말로는 구별 하는 역할을 한다. 즉. COLUMN의 역할은 식별자인 것이다. 식별자가 되기 위해서 가장 중요한 특징은 " 중복되면 안된다" 라는 것 이다. 예를들어, My SQL이라는 title이 갖고 있는 저 행은 ID가 2번인 것을 알 수 있다. 근데 ID가 2번인 또다른 행이 있다면 My SQL이라는 저 행을 찾아내는 것이 대단히 까다로워질 것이다. -> 중복이 생길테니까요! 그래서 식별자의 자격은 중복되면 안된다라는 것이다. 내가 넣으려고 하는 기존의 표에 ID 값이 3인 것이 있냐 없냐를 보려고 한다면 어려운일이다. 그..
ORACLE(행 삭제) DELETE FROM topic; 이렇게 실행하게 되면 모든 행이 파사사사ㅏㅏ.. 근데 또 백업을 안했다면... 생각만으로도 등골이 서늘해진다. 해당 명령을 할때는 엄청난 집중이 필요하기 때문에 항상 주의하고 확인해야한다. 그렇기 때문에 뭘 삭제할건지를 명확하게 해주어야한다. 아래와 같이 topic WHERE (column의) id 값이 3인 행만을 삭제하겠다라고 말이다. DELETE FROM topic WHERE id = 3; ▼ 그리고 항상 뭐를 해줘야한다? commit;
ORACLE(행 수정) UPDATE/ DELETE에서는 WHERE 필수! UPDATE topic SET title = 'MSSQL', description = 'MSSQL is...' WHERE id = 3; topic table의 title과 description을 수정하고 싶어 ~하고서 ;(세미콜론)을 해버리면 큰일난다. 그러면 해당하는 column을 전체 수정해버리기 때문이다. 그러므로 WHERE를 기억하자! WHERE id = 3; id 3에 해당하는 column을 수정해줘~ 그리고 수정작업 후 잘 수정 되었는지 확인해 본 후 SELECT * FROM topic; ▼ 수정 작업 후 꼭 commit; commit; commit이 중요한 이유 commit이란 것을 통해 수정된 작업을 실제로 반영되게 하는 절차를 꼭 거쳐야한..
ORACLE(행 읽기 - 정렬과 페이징) 출력된 정렬 상태를 바꾸고 출력되는 행의 개수를 바꾸는 방법 1. 정렬을 하는 방법 SELECT * FROM topic ORDER BY id DESC; DESC -> 큰 숫자가 먼저 나오게한다. (내림차순) - 알파벳도 동일 ASC -> 작은 숫자부터 나오게한다. (오름차순) - 알파벳도 동일 SELET * (all)은 실무에서는 절대 사용 X) -> 어마어마한 데이터를 다 끌어오게 되는 것 -> 즉. 업무가 마비가 된다. 그러면 어떻게 해야하나? 우리가 원하는 행만 가져오는 테크닉을 알고 있어야지만 데이터베이스에 부담을 주지 않을 수 있다. 이런 걸 " 페이지 기법" 라고 한다. [Top-N query] : 일반적으로 페이징(Pagination)처리를 효과적으로 수행하기 위해 활용하거나 전체 결과 집합..
ORACLE(행 읽기 - 행과 컬럼 제한하기) [보고싶은 내용만 보는 명령/ 컬럼만 보기 ] SELECT id, title, created FROM topic; [보고싶은 내용만 보는 명령/ 로우만 보기 ] SELECT * FROM topic WHERE id = 1; [해당하는 것을 제외하고 보고 싶을 때] SELECT * FROM topic WHERE id > 1; [열과 행을 동시에 쓰고 싶을 때] SELECT id, title, created FROM topic WHERE id = 1;
ORACLE(행 읽기) Read SQL기능 중 가장 어렵고 중급과 중급이 아닌 사람을 구분하는 가장 중요한 차이점을 만들어내는 부분이다. 데이터를 가져오는 작업은 이 관계형 데이터베이스 시스템에 굉장히 많은 기능을 가지고 있기 때문에 상당히 기능이 많고 강력하면서도 그 댓가로 굉장히 복잡하다.
ORACLE(행 추가) INSERT INTO topic -----> 내용 추가 후 enter -> 1 row created 행이 추가 된 것을 확인했다면 여기에서 끝내면 안되고 꼭 commit; 해주어야 한다. (무조건 commit 해야 한다!) (추후에 알게 될 내용이지만 Transaction이라는 개념과 관련되어 있다라는 것만 생각하자.)