국비수업/수업정리

오라클 SQL / 2

밀김 2023. 4. 21. 09:50
728x90

 

 

 

 

 

 

 

 

 

 

 

 

- drop table MEMBER : 테이블 지우기

 

- COMMENT : 명령어 내에 포함되어있어서 이런건 테이블명으로 못씀

 

- 테이블 만들기 쿼리문은 자동명령문으로 이미 있다 굳이 외울 필요 없음

 


 

 

 

- 오라클은 자료형이 앞이 아닌 뒤에 붙는다

 

 

- CREATE TABLE = 클래스라고 생각하면 됨 뒤에 붙은것들은 자료형!

 

- ANSI : 다양한 언어를 표준화 시켜주는 표준단체

 

- SQL도 문자,숫자,날짜 형식으로 나뉘는데 LOB라고 큰데이터를 다루는 형식도 존재한다

 

오라클에서는 실수와 정수를 구분하지 않음

 

 

 

- 사용하는 코드테이블에 따라 용량이 달라진다

 

 

BYTE와 CHAR중에 선택해서 쓰면 됨. 대괄호는 생략이 가능하다

- CREATE TABLE MEMBER
(
    NAME CHAR(3 CHAR) 이렇게 쓰면 문자를 쓰겠다는거고

 

- CREATE TABLE MEMBER
(
    NAME CHAR(3 BYTE) 이렇게 쓰면 3바이트를 쓰겠다는거
)

 

 

 

이 방식은 2000자 내에있는 문장 쓸때만 사용할것

- STANDARD면 MAX문자열의 길이가 4000바이트가 된다

 

 

- 게시글 내용을 쓸때는 바이트가 생각보다 모자라기 때문에 바이트를 크게 가져가는것이 좋다 (LOB:LARGE OF DATA 사용하면됨) 

 

 

 

 

사이즈에 값 넣으면 최대 얼마만큼 쓰겠다 라고 하는것

- VAR(가변데이터:자릿수가 정해져있지 않은)가 붙으면 사용하지 않은 바이트는 도로 돌려준다

 

- 가변길이 검색보다 고정길이 검색하는 속도가 훨씬 빠르다

 

- 자릿수없이 읽는건 모두 고정길이이다 (고정길이예시:핸드폰번호,주민번호)  

 

 

- 오라클에선 CHAR2를 사용한다

 

- 플랫폼의 행위를 만들어내는 원동력은 '데이터'이다

 

- 데이터베이스는 무조건 정규화된 데이터서비스에서 시작한다

 

 


 

 

< 데이터 삽입 : INSERT > 

 

 

- SELECT * FROM MEMBER : 데이터 조회

 

- 데이터 취소와 삭제는 다른 개념이다

 

- 트랜잭션 : 업무적인 명령 단위 (EX; 계좌이체 서비스를 생각했을때 물리적인 관점에서는 돈 보내는사람 - 받는사람 두번의 행동이 이뤄져야하지만, 업무적인 단위로 봤을때는 계좌이체 한번만 하면 서로 주고받고 하는 행위가 되어야 하는것)

 

- ALTER : 테이블문 수정하기

 

- 내가 실행하고싶은 구문을 드래그 하고 실행하면 된다. 

 

- 데이터 삭제하기 : DELETE FROM MEMBER WHERE PWD = '우헤헤';(삭제하고싶은 값을 적기)

 

- * : 모든것을 의미

 

SELECT * FROM MEMBER; > 테이블 내용 다나옴
SELECT NAME FROM MEMBER; >테이블에서 NAME만 나옴

 

- DUAL : 범위테이블(하나만 나옴)

 

- SELECT PWD, LENGTH(PWD) FROM MEMBER; > PWD의 길이를 출력해주고, LENGTHB(PWD)라고 하면 바이트값이 나온다(글자 하나당 3바이트)

 

- 앞에 N을 쓰면(NVARCHAR) 2바이트를 쓴다 그냥 CHAR를 쓰면 3바이트까지감. 그래서 한글을 많이 쓰면 N을 써야 유리함(바이트가 작으니까)

 

- 16비트 테이블은 비효율적이다 그래서 UTF-8을 많이씀

 

- CLOB (LARGE OF BYTE 의 CHAR 버전.대용량) / NCLOB (대용량 텍스트 유니코드 데이터 타입)

 

  


 

 

단위는 잘 정해야 한다..

 

 

- 데이터 수정하려면 상단에 MEMBER 들어가서 데이터 카테고리 누르고 행추가,수정이 가능하다

 

 

 


 

 

- DATE만 넣으면 날짜만 나오고 , TIMESTAMP넣으면 시간까지 나온다

REGDATE TIMESTAMP

 

- SELECT SYSDATE FROM DUAL : 현재 날짜를 알수 있다 / SELECT SYSTIMESTAMP FROM DUAL : 이건 시간

 

- UPDATE : 데이터 수정

UPDATE 테이블이름 SET PWD='111'; > 이러면 모든 PWD한번에 다바뀜 큰일남 ㄷ ㄷ;;

UPDATE MEMBER SET PWD = '111',NAME='홍길동' WHERE ID='NEWLEC'; > 특정행만 바꾸기

 

- UPDATE MEMBER SET PWD='11' WHERE NAME='재밋당~'; //NAME이 재밋당~인것만 PWD를 11로 바꿈

 

- SELECT * FROM MEMBER WHERE NAME='1004'; 원하는 행만 골라서 보려면 SELECT * FROM MEMBER 뒤에 원하는 부분을 쓰면 된다

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90