- SQL
- SQL문
- SELECT
- DML(데이터 조작어)
- INSERT, UPDATE, DELETE
- DDL(데이터 정의어) IMPLICIT COMMIT
- CREATE, ALTER, DROP, RENAME, TRUNCATE
- TCL(트랜잭션 제어)
- COMMIT, ROLLBACK, SAVEPOINT
- DCL(데이터 제어어)IMPLICIT COMMIT
- GRANT, REVOKE
[1] Writing Basic SQL Statements
1. SELECT 기본 문장( 선택, 프로잭션, 조인)
SELECT [DISTINCT] { *, column [alias], ... }
FROM table ;
2. SELECT 예제
SELECT * FROM dept ;
SELECT deptno, loc FROM dept ;
SELECT ename, sal, 12 * (sal + 100) FROM emp ;
* Null 값과 연산을 하면 Null이 나온다.
3. Column Alias 예제
SELECT ename AS nme, sal salary
FROM emp ;
SELECT ename \"Name\", sal*12 \"Annual Salary\"
FROM emp ;
* 대소문자를 구분하고 공백있는 컬럼 Alias를 만들고 싶을땐 \" \"로 막는다.
* AS는 안 써도 된다.
* WHERE, GROUP BY절에는 안된다. ORDER BY 절에는 사용 가능.
4. Concatenation 연산자 (|| : pipeline 2개)
SELECT ename||job \"Employees\" FROM emp ;
--> ename 데이터와 job 데이터가 붙어서 출력된다.
5. 문자열을 데이터로 출력할때
SELECT ename||\' \'||\'is a\'||\' \'||job \"Employee Details\"
FROM emp ;
* 문자열은 \' \'로 막고, 컬럼 Alias는 \" \"로 막는다.
6. DISTINCT keyword : 중복된 Row를 하나로 만들어 준다. 자동 SORTING[ASC]
SELECT DISTINCT deptno
FROM emp ;
* DISTINCT 대신 UNIQUE를 써도 된다.
7. SQL*Plus Log on 방법
* UserName, PassWord, HostString에 일일이 입력해도 되지만,
UserName에 username/password@HostString이라고 입력하면 된다.
* UNIX상에서 command로 들어 갈 때는 sqlplus username/password 만 입력하면 된다.
8. 테이블 구조보는 SQL Command (DESC)
SQL> DESC dept
: Column Name, Null?, Data Type display
9. SQL*Plus Editing Commands( 다음 행까지 계속하려면 -(하이픈)으로 연결한다.)
① A[PPEND] text : 현재 line의 마지막 문장 뒤에 text를 붙인다.
② C[HANGE]/old/new : 현재 line의 old text를 new text로 바꾼다.
③ C[HANGE]/text/ : 현재 line을 text를 삭제한다.
④ CL[EAR] BUFF[ER] : buffer의 내용을 모두 지운다.
⑤ DEL : 현재 line을 지운다.
⑥ DEL n : n번째 line을 지운다.
⑦ DEL m n : m ~ n번째 line을 지운다.
⑧ I[NPUT] : 현재 line 다음에 line이 제한없이 추가된다.
⑨ I[NPUT] text : 현재 line 다음에 line이 추가되면서 text가 들어간다.
⑩ L[IST] : buffer전체를 보여준다.
⑪ L[IST] n : n번째 line을 보여준다.
⑫ R[UN] or / : SQL, PL/SQL문장을 실행하라!
⑬ n : n번째 line을 display하면서 Editing 상태로 해준다.
⑭ n text : n번째 line이 text로 바뀐다.
⑮ 0 text : 1번째 line이 추가되면서 text가 1번째 line으로 들어간다.
* Bald로 표시된 명령어는 line번호를 먼저 수행한 후 실행해야 한다.
10. SQL*Plus File Commands
① SAV[E] filename [REP[LACE]|APP[END]] : buffer의 내용을 filename.sql로 저장한다.
② GET filename : filename.sql을 buffer로 불러온다.
③ START filename : filename.sql을 실행하라.
④ @filename : START filename과 같다.
⑤ ED[IT] : buffer의 내용을 edit program으로 실행한다.
⑥ ED[IT] filename : filename.sql을 edit program으로 실행한다.
⑦ SPO[OL] filename : retrieve data를 filename.lst로 저장한다.
⑧ SPOOL OFF : SPOOL을 끝내라.
⑨ SPOOL OUT : retrieve data를 system printer로 출력하라.
⑩ EXIT : SQL*Plus를 종료한다.
* SPOOL 사용법
SQL> spool filename
SQL> select ...
SQL> spool off
11. Special Tip
* 잠시 host상태로 나가고 싶을 때.
SQL> ! ( $)
-- host 상에서 다시 SQL로 들어가려면 exit(lo)
-- unix 상에서 env를 치면 오라클 환경을 볼 수 있다.
* 에디터 종류 보기
SQL> define -editor
--> Editor가 vi인지..다른 edit프로그램인지를 보여준다.
* line size 바꾸기
SQL> SET PAGESIZE 20
-- 한 page를 20 line으로 보여준다.
-- log off하면 사라진다.
* NLS값 보기
SQL> select * from V$NLS_PARAMETERS
* NLS값 바꾸기
SQL> ALTER SESSION SET NLS_DATE_FORMAT = \'YYYY-MM-DD\'
-- SESSION : 현 session동안만 YYYY-MM-DD 포맷으로 사용한다는 뜻.
sqlplus가 종료되면 원상태로 복구된다.
'Tech: > 일반·기타' 카테고리의 다른 글
Oracle PL/SQL문 강좌(3) (0) | 2008.06.26 |
---|---|
Oracle PL/SQL문 강좌(2) (0) | 2008.06.26 |
Java 암호화 모듈(JCE) 설치 (0) | 2008.06.26 |
Java + PHP SOAP 모듈 설치 (0) | 2008.06.26 |
Resin 2.1.6 설치방법 (0) | 2008.06.26 |