SeSAC 2일차(2023-07-18)
SQL 기본(커맨드 명령, SQL 문-1)
- 오라클 다운로드 및 연결
Run SQL Command Line 창에서 conn hr/hr
SQL
SQL(Structured Query Language): 관계형 데이터베이스 처리 언어
SQL*PLUS: SQL언어를 구현하여 오라클 RDBMS를 관리할 수 있는 CLEINT TOOL
SQL 명령:
데이터베이스의 데이터 및 테이블 조작
모든 명령의 끝은 세미콜론으로 끝나야 한다.
가장 최근의 SQL 명령은 SQL 버퍼에 남아있다. (list 입력 시 최근 명령 출력)
비절차적 언어이다.
Table 구조
- Table 구조 확인
SQL> DESC[RIBE] table_name
Editing Commands
- 직전 수행한 SQL문 출력
SQL> L[IST]
SQL> L[IST] n (n line을 출력)
SQL> L[IST] m n (m~n line을 출력)
- SQL 버퍼의 내용을 출력하고 실행
SQL> R[UN]
SQL> / (실행만)
- current line 끝에 text 추가
SQL> A[PPEND] text
- n line 내용을 text로 교체
SQL> n text
ex) 3 WHERE ename = ‘SMITH’
- current line의 old string을 new string으로 교체
SQL> c/old/new
- current line을 삭제
SQL> DEL
- SQL 버퍼의 내용을 Clear
SQL> CL[EAR] BUFF[ER]
- current line 밑에 line 한 개 추가 후 text 입력
SQL> I[NPUT] text
Ex) I AND hiredate >= to_date(‘910101’, ‘YYMMDD’)
File Commands
- SQL 버퍼 내의 현재 내용을 주어진 filename으로 저장
파일 이미 존재 시 Replace 옵션을 주면 Overwrite되고, APPEND 옵션을 주면 파일 끝에 추가된다.
SQL> SAVE filename[Replace][APPEND]
- filename 내의 내용을 출력하고 SQL 버퍼에 기록
SQL> GET filename
- filename 내의 내용을 실행
SQL> START filename
SQL> @filename
- filename 내의 내용을 Editor로 읽어서 수정
filename을 지정하지 않으면 afiedt.buf 파일로 SQL 버퍼의 내용을 수정할 수 있다.
SQL> ED[IT] filename
- filename으로 쿼리 결과 저장
SQL> SPOOL filename
- SQL*PLUS를 종료하지 않고 OS Command를 수행할 수 있도록한다.
SQL> HOST
- SQL*PLUS 종료
SQL> EXIT
환경설정 Commands
- 화면에 표시되는 컬럼명 자리수 지정
SQL> COL[UMN] column FORMAT Ann
ex) COL department_name FORMAT a15
- @filename으로 실행 시 파일내 명령을 출력하고 수행할지 결정
SQL> SET ECHO OFF (실행 결과만 출력)
SQL> SET ECHO ON (SQL 명령 출력 후 실행 결과 출력)
- 주어진 n보다 같거나 많은 Row가 조회되면 조회된 건수를 출력한다. (Defalut는 6)
SQL> SET FEED[BACK] n|ON|OFF
ex) SET FEEDBACK 6
- 조회되는 결과에 Column Heading의 표기 여부 결정
SQL> SET HEA[DING] ON (column heading이 나타나지 않는다.)
SQL> SET HEA[DING] OFF (column heading이 나타난다.)
- 조회되는 결과의 line당 character수를 결정한다. (Default line은 80)
SQL> SET LIN[ESIZE] n
- 조회되는 결과의 page당 line 수 결정 (default는 24)
SQL> SET PAGES[IZE] n
- 조회되는 결과가 많아 화면에 스크롤될 때 일시 중지 여부 결정
SQL> SET PAU[SE] ON|OFF|text
- 현재 시각을 SQL*PLUS Prompt앞에 출력할지 여부 결정
SQL> SET TI[ME] ON|OFF
- SQL이 처리되는 시간을 출력할지 여부 결정
SQL> SET TIMI[NG] ON|OFF
데이터베이스 개론, SQL 기본
- 오라클 데이터베이스
권한 부여: GRANT [system_privilege | role] TO [user | role | PUBLIC] [WITH ADMIN OPTION]
롤(Role): 사용자에게 허가할 수 있는 권한들의 집합
데이터 사전(Data Dictionary): 읽기전용 테이블 및 뷰들의 집합
SELECT 문
기본 SELECT 문:
SELECT * | {[DISTINCT] column | expression [alias] …}
FROM table;
*: 모든 열 선택
DISTINCT: 중복 방지
Column | expression: 열 또는 표현식
Alias: 별칭 지정
산술 표현식: FROM 절 제외한 모든 절에서 산술 연산자 사용 가능 (+, -, *, /)
ex) SELECT column_name + 300, 12*(column_name+100)
Null: 알 수 없는 값, 0 또는 공백과 같지 않음.
Null 값을 포함하는 산술식은 Null로 계산된다.
열 Alias(별칭): 열 이름을 별칭으로 변경
ex) SELECT column_name AS 별칭
연결 연산자: 열 또는 문자열을 다른 열에 연결, ||로 표시
ex) SELECT column_name1 || column_name2 AS 별칭
리터럴 문자열: 작은 따옴표 안에 날짜나 문자 리터럴 작성 시 두 열 사이에 해당 리터럴이 넣어져서 출력
ex) SELECT column_name1 || ’ is a ‘ || column_name2 AS 별칭
대체 인용(q) 연산자: 자신의 따옴표 구분자를 지정
ex) SELECT column_name1 || q ‘[Department’s Manager Id: ]’ || column_name2 AS 별칭
DISTINCT: 중복 행 제거
ex) SELECT DISTINCT column_name
데이터 제한 및 정렬
WHERE 절
기본 WHERE 절:
SELECT * | {[DISTINCT] column | expression [alias] …}
FROM table
[WHERE condition(s)];
Condition: 열 이름, 표현식, 상수 및 비교 연산자로 구성, 조건은 하나 이상의 표현식과 논리 연산자의 조합을 지정
ex) WHERE department_id = 90;
문자열 및 날짜: 문자열 및 날짜는 단일 따옴표로 둘러싼다.
ex) SELECT SYSDATE
FROM dual;
==> 현재 날짜 기본 표시 형식으로 출력
'교육 (Today I Learned) > SeSAC' 카테고리의 다른 글
SeSAC 6일차 / SQL 기본(SQL 문-5) (0) | 2023.07.25 |
---|---|
SeSAC 5일차 / SQL 기본(SQL 문-4) (0) | 2023.07.22 |
SeSAC 4일차 / SQL 기본(SQL 문-3) (0) | 2023.07.21 |
SeSAC 3일차 / SQL 기본(SQL 문-2) (0) | 2023.07.20 |
SeSAC 1일차 / 데이터베이스 개론 (0) | 2023.07.18 |