본문 바로가기

SQL

(60)
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기능 중 가장 어렵고 중급과 중급이 아닌 사람을 구분하는 가장 중요한 차이점을 만들어내는 부분이다. 데이터를 가져오는 작업은 이 관계형 데이터베이스 시스템에 굉장히 많은 기능을 가지고 있기 때문에 상당히 기능이 많고 강력하면서도 그 댓가로 굉장히 복잡하다.
SQL SQL의 정의 불편하고 어려운 데이터베이스를 사용하는 이유는 쉽기 때문이 아니라 가치가 있기때문이다. 기존 엑셀과 같은 스프레드 시트들은 어떤 한계가 있는가? 데이터를 추가하는 즉. 행을 추가하는 것에 대해 한계가 있다. 65,000개의 이상을 넣으면 그때는 파일을 분할하여 여러개 만들어야 될 수도 있다. 그런데 이 데이터베이스로 분류되는 시스템에는 우리들의 저장장치에 한계만 없다면 1억건 10억건 100억건을 넣는 것도 가능하다. 그많은 데이터에서 원하는 데이터를 꺼내오는데 0.1초밖에 걸리지 않도록 우리가 설계를 잘만 한다면 그것도 가능하다 엑셀과 같은 시스템은 꿈도 꿀 수 없는 엄청난 성능을 자랑한다. 그리고 데이터베이스의 단점처럼 느껴질 수 있는 장점. 명령어를 통해서 데이터베이스를 제어할 수 있..
ORACLE(행 추가) INSERT INTO topic -----> 내용 추가 후 enter -> 1 row created 행이 추가 된 것을 확인했다면 여기에서 끝내면 안되고 꼭 commit; 해주어야 한다. (무조건 commit 해야 한다!) (추후에 알게 될 내용이지만 Transaction이라는 개념과 관련되어 있다라는 것만 생각하자.)
ORACLE(테이블 생성1) sqlplus -> via -> password -> 내용(마우스 우클릭) -> 테이블 생성 명령문의 경우, 대소문자 구별은 안해줘도 되지만 값은 대문자로 구분해주어야 한다. TOPIC이라는 table이 현재 "VIA라는 user 또는 Schema에 속해있습니다" 라고 알려주고 있다.