• 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


Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]