오라클 SQL / 2
- drop table MEMBER : 테이블 지우기
- COMMENT : 명령어 내에 포함되어있어서 이런건 테이블명으로 못씀
- 테이블 만들기 쿼리문은 자동명령문으로 이미 있다 굳이 외울 필요 없음
- 오라클은 자료형이 앞이 아닌 뒤에 붙는다
- CREATE TABLE = 클래스라고 생각하면 됨 뒤에 붙은것들은 자료형!
- ANSI : 다양한 언어를 표준화 시켜주는 표준단체
- SQL도 문자,숫자,날짜 형식으로 나뉘는데 LOB라고 큰데이터를 다루는 형식도 존재한다
- 사용하는 코드테이블에 따라 용량이 달라진다
- CREATE TABLE MEMBER
(
NAME CHAR(3 CHAR) 이렇게 쓰면 문자를 쓰겠다는거고
)
- CREATE TABLE MEMBER
(
NAME CHAR(3 BYTE) 이렇게 쓰면 3바이트를 쓰겠다는거
)
- 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 뒤에 원하는 부분을 쓰면 된다