본문 바로가기

카테고리 없음

[빅데이터와DB관리] 2일차 - sql

강사님 성함 : 윤권

강사님 카카오 : oraclejava@naver.com

 

[Addition, 실행환경pdf확인]

1. 원래 oracle 45%-50% 메모리 잡아먹음, Express Edition 사용 -> oracle계정으로 32bit/64bit 다운받기

2. [제어판] -> [관리도구] -> [서비스] -> 알파벳 'o'를쳐서 oracleXE, Listener가 켜져있는지 확인하고 안되어 있다면 활성화 시킨다.

 

[oracle서버 들어갈 때/실행]

1. cmd에서 (tip: cmd속성 - 빠른편집도구 => 복붙가능)

방법1) -> 본안에 취약

>> sqlplus

>> username : sys

>> password : oracle as sysdba 

 

방법2) -> 보안에 취약

>> sqlplus sys/oracle as sysdba

 

방법3) ->권장

>> sqlplus /nolog

>> conn sys/oracle as sysdba

connected

 

2. 유저생성(n1/scott)

>> create user n1

2 identified by n1; *세미콜론확인

 

3. 권한부여

>> grant connect, resource to n1;

>> @sql파일 드래그앤드롭(강사님이 주신 scripts파일 안에 있는 sql파일..)

>> conn n1/n1 (실습유저 n1으로 오라클 서버에 접속)

>> select * from tab

 

scot) 권한부여 없이, @scott .sql파일 C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin 이거 붙이고

>> conn scott/TIGER

connected.

>> select * from tab;

 

4. 컴럼길이 바꾸기

>> colume last_name(바꾸고 싶은 컬럼) format a12(a:alloc, 문자열은 이렇게 바꾸고 숫자는 9,99 9를사용해 자릿수 결정)

>> 간단하게 줄여서 == col last_name for a12

 

5. scott계정 비번 바꾸기

>> alter user scott

2 identified by tiger

3 account unlock;

SQL> conn sys/oracle as sysdba
Connected.
SQL> alter user scott
  2  identified by tiger
  3  account unlock;

 

6. 잘못쳤을때

>> ed + Enter

메모장 나옴

SQL> ed
Wrote file afiedt.buf

  1  alter user scott
  2  identified by tiger
  3* account unlock
SQL> /

User altered.

메모장에 저장까지!

 

7. / + Enter : 이전 명령어 실행

 

8. 행 나눔

>> set pages 12

1page당 12줄씩(공백 포함해서) 출력한다. (select * from tab;)

SQL> set pages 12
SQL> /

LAST_NAME         SALARY
------------ -----------
King               24000
Kochhar            17000
De Haan            17000
Hunold              9000
Ernst               6000
Lorentz             4200
Mourgos             5800
Rajs                3500
Davies              3100

LAST_NAME         SALARY
------------ -----------
Matos               2600
Vargas              2500
Zlotkey            10500
Abel               11000
Taylor              8600
Grant               7000
Whalen              4400
Hartstein          13000
Fay                 6000

LAST_NAME         SALARY
------------ -----------
Higgins            12000
Gietz               8300

20 rows selected.

 

9. sql Developer & sql Data Modeler

sql Developer : 쿼리문 작성하는 곳

Data Modeler : ERD그리거나 추출

설정 : 유저 이름, 유저 아이디, 유저 비번 치고 [테스트] - [저장] - [접속]

글씨체 : D2coding

-> 실습환경 pdf 참조하기

 

앞에 cmd에서 날린 명령어들을 developer를 이용해서 쓸 수 있다. 계정 n1으로 접속해서 GUI로 쓸 수 있다.

 

[오전 수업 요약]

XE, Developer, select

oracle sql Mannual pdf 참조하기

 

*외워두면 좋을 명령어 2가지*

1. alter user hr identified bu hr account unlock;

2. grant connect, resource to hr;

conn hr/hr

------------------------------------------------------------------------------------------------------------------------

[오후 수업]

RDBMS 관계형 -> 정규화

pk, fk, u(unique) -> null을 할 수 없음, 이때 null은 '알수없음'을 의미한다.

 

ERD표기 방법

# : unique

* : 필수 정보 (not null)

o : optional

 

oracle #* : pk, == not null + unique key

select : 검색 조회, 원하는 집합을 oracle server에게 요청하는 언어

pdf.43, 474가지 분류

 

- 대소문자 통일하는게 개발할때 필요

- 작성지침 따르기

- 적절히 가독성 있게 입력

 

6가지

-select

-from

-where

-group by

-having

-order by

 

컬럼명 바꿔서 출력 : alias == as, 공백 입력 시 " "(큰따옴표 사용)

 

[산술연산자에서 null조심]

nvl() - null값을 0으로 바꿔주는 함수, 근데 안쓰는게 좋으니 0을 넣고 not null로 하는게 좋다.

=null; 비교 불가, is null로 비교 가능

 

[논리연산자에서 null조심]

***-> 확인하기

 

Distinct : 중복값 제어

select 'SELECT * FROM' || tname || ';' from tab; ->다른 운영체제에서 db 테이블 검색해야 할때, 강제로 cmd에서 쿼리 만들어 주는 명령어

desc : 테이블 구조

varchar :

.......

 

 

** 데이터 읽는 연습

DB복습