Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

인사이트

[SQL] SQL developer 명령어 정리2 본문

ORACLE DB (SQL)

[SQL] SQL developer 명령어 정리2

쿰쿵 2021. 5. 27. 19:32

오늘 배운 것 중 큰 가지

1. DDL(테이블 생성, 삭제, 변경 명령어)

    - CREATE(테이블 생성)

    - DROP(테이블 삭제)

   - ALTER(테이블 수정)

 

2. DML(데이터 조작 명령어)

    - SELECT(데이터 조회)

    - INSERT(데이터를 신규로 추가할 때)

    - UPDATE(데이터 수정)

    - DELETE(데이터 삭제)

 

3. DCL(데이터 제어 언어)

    - GRANT(권한 부여)

    - REVOKE(권한 회수)

 

4. TCL(DCL에서 트랜잭션을 제어하는 명령이 아래 명령만 따로 분리한 언어)

    - COMMIT : 실제 테이블에 저장시킴(원래 테이블이 저장되어 있는 파일과 지금 작업을 실행하고 있는 테이블의 파일이 다름, 기존 테이블데이터를 복사해서 현재 작업하고 있는 테이블에서 조작함. 그리고 commit하게 되면 현재 테이블이 원래 테이블에 덮어쓰기 됨)

    - ROLLBACK : ctrl + z같은 개념(가장 최신 commit이전의 상태로 되돌리겠다)


CREATE

문자 테이터를 생성할 때  - char, varchar2

숫자 데이터를 생성할 때 - number

날짜 데이터를 생성할 때 - date

그 외( 이미지, 동영상 등) - binary


데이터 딕셔너리 뷰

  * xxxx는 내가 조회할 정보

- USER_xxxx(내 계정에 관련된 정보 확인)

- ALL_xxxx(위임 받은 다른 테이블의 정보랑 내 계정의 테이블 정보 확인 가능)

- DBA_xxxx(모든 걸 다 볼 수 있음)


* truncate는 테이블 영구삭제로 rollback불가, delete는 가능



* rollback하는 구간을 정할 수 있음(savepoint)
* 가장 최신 commit의 상태로 돌아가는 게 rollback이지만 그렇지 않고 rollback의 구간을 정할 수도 있음


테이블 생성 시 5대 제약조건( COLUMN에 지정한다) -> 딕셔너리에 보여지는 약칭

1. NOT NULL         ->    C    -> 데이터 입력 필수

2. UNIQUE            ->    U    -> 중복 불가, 그렇지만 null이 들어갈 수 있음

3. PRIMARY KEY     ->    P    -> 유일키(id같은 거 - 그러니까 중복안되고, 데이터가 비어있으면 안됨)

4. FOREIGN KEY     ->    R    -> 테이블간 제약조건

5. CHECK              ->    C    -> 범위설정 제약조건(컬럼의 값의 범위를 지정해줌, 성별, 1~14 등)

제약 조건을 걸었던 건 딕셔너리에서 확인이 가능하다


sql에서 명령어를 쓸 때 대문자를 쓰든 소문자를 쓰든 상관 없음.

그러나 제약조건에서 특정 열을 조회할때는 반드시 대문자를 써줘야한다. (17번에 예제있다)


1. 테이블 생성 및 조회(create, desc)


2. 테이블 복사해서 생성하기


3. 조건에 맞는 테이블만 복사해서 생성하기


4. 테이블에 데이터 없이 구조만 복사하기(where 1=0)

where 1 = 0 아예 말이 안되니까 이건 결국 데이터를 가져오지 말라는 의미가 됨


5. 데이터 및 테이블 조작(alter, add, modify, drop, truncate)


6. 데이터 딕셔너리 뷰(data dictionary view)

↓ 아래는 system계정에서 조회해야함. ↓

관리지가 아니라 관리자


7. 데이터 신규 추가(insert)


8. 제약조건(not null)


9. 데이터 수정(update), rollback


10. 데이터 수정(update) 예제 더


11. 데이터 삭제(delete)


12. 자동 commit이 되는 때


13. 제약조건


14. 제약 조건 설정해서 테이블 생성하기


15. 제약조건의 이름이 있는데 그건 내가 붙여주지 않으면 시스템이 자동으로 붙여준다

형광펜 되어 있는 부분이 어느 제약조건에서 오류가 났는지에 대한 부분이다


16. 제약조건의 이름을 내가 붙여줄 수도 있다

알기 쉽게 내가 제약조건명을 붙여줄 수도 있다


17. foreign 제약조건


18. pramary key 제약조건


19. check 제약조건


20. 뷰(VIEW)

이거 생성하다가 자꾸 오류가 났는데 그게 scott계정이 테이블을 만들 권한은 있는데 뷰를 만들 권한은 없기 때문이다.

뷰태그가 아니라 그냥 VIEW이다

↓ 아래가 scott계정에 view를 생성할 수 있는 권한을 주는 명령이다(이거는 계정이 system인 곳에서 해야한다) ↓

 


21. index생성


22. 쓰레기 청소 및 현재 내 테이블의 제약조건 확인 방법


23. 계정 생성 및 계정에 접근할 수 있는 권한 주기

이것 또한 system에서만 할 수 있다

내일 시험을 위해 생성했다