1 / 23

Oracle SQL*PLUS

Oracle SQL*PLUS. Database Systems Labs. TA: 이종욱 , 유개원. Welcome to DB World. Lab Class Library 501, Fri 9:00 – 10:40 Teacher Assistants 이종욱 , 유개원 {julee, gwyou}@postech.ac.kr IDS Lab. (279-5878) Database Systems Lab Homepage http://ids.postech.ac.kr/dblab2010/. Lab Schedule.

morag
Download Presentation

Oracle SQL*PLUS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle SQL*PLUS Database Systems Labs TA: 이종욱, 유개원

  2. Welcome to DB World • Lab Class • Library 501, Fri 9:00 – 10:40 • Teacher Assistants • 이종욱, 유개원 {julee, gwyou}@postech.ac.kr • IDS Lab. (279-5878) • Database Systems Lab Homepage • http://ids.postech.ac.kr/dblab2010/

  3. Lab Schedule • Introduction • Basic DML • Constraints • Group Functions • Join • Nested Queries • Views • Triggers • Sequences • Indexes • User-defined Functions + Introduction of Minibase or other term projects (This schedule is tentative, and may be sufficiently changeable.)

  4. Introduction • SQL • Structured Query Language • 관계형 DB를 처리하기 위해 고안된표준 언어 (ISO) • 기 능 • Data Definition Language (DDL) Statements • CREATE, ALTER, DROP, RENAME, TRUNCATE • Data Manipulation Language (DML) Statements • INSERT, UPDATE, DELETE • Data Control Language (DCL) Statements • GRANT, REVOKE • Transaction Control (TC) Statements • COMMIT, ROLLBACK, SAVEPOINT

  5. Introduction • 실습 환경 • Oracle Database 10g Express Edition Release 2 • http://www.oracle.com/technology/software/products/database/xe/index.html • SQL*PLUS? • Text 기반의 Oracle RDBMS Interface

  6. SQL*PLUS: Login • ssh lightpurple.postech.ac.kr (port 22) • Username: stu2010 • Password: stu2010 • Type ‘sqlplus’ • ID/PW: Your Hemos ID.

  7. SQL*PLUS: Basic • SQL buffer • SQL 명령이 저장되는 메모리 공간 • 기본 용법 • 명령문을 입력하고 Enter를 치면 현재 Line이 표시되면서 buffer 입력 상태가 된다. • Buffer입력 상태를 끝내려면 • 마지막 명령문의 끝, 또는 마지막의 빈 Line에 ‘;’ 입력

  8. SQL*PLUS: 편집 명령 • R[UN] • Buffer의 내용 실행 • L[IST] • Buffer의 내용 출력 (‘*’로 표시된 Line이 현재Line) • A[PPEND] text • 현재 Line의 마지막에 text를 추가한다. • C[HANGE] /old/new/ • 현재 Line의 old를 new로 바꾼다. • C[HANGE] /text/ • 현재 Line의 text를 지운다. • CL[EAR] BUFFER • SQL Buffer의 내용을 지운다.

  9. SQL*PLUS: 기타 명령 • HELP INDEX • Help Page를 출력 • Select table_name from user_tables; • 현재 사용자의 모든 테이블을 출력 • DESC tablename • 해당 table의 schema를 보여준다.

  10. Writing SQL Statement • SQL문은 대소문자를 구별하지 않는다. • SQL Keyword는 대문자로, 그 외의 것은 소문자로 하는 것이 일반적이다. • SQL문은 하나 이상의 라인이 될 수 있다. • 키워드(keyword)는 약어를 쓰거나 두 라인으로 나누어 쓸 수 없다. • 탭이나 들여쓰기를 이용하여 가독성(readability)을 높인다.

  11. Naming Rules • Table name과 Column name은 반드시 Alphabet으로 시작하며 30자 까지 가능 • 이름은 A-Z, a-z, 0-9, _(under score), $, # 만을 포함

  12. Oracle Data Type • CHAR(L) • 고정길이 문자열. 최대 4000 Byte • VARCHAR2(L) • 가변길이 문자열. 최대 4000 Byte • NUMBER • 숫자(38자리 표현) • BLOB / CLOB • 각각 Binary/Text 자료를 4GB까지 저장 • DATE / TIMESTAMP • 날짜 / ms 단위까지의 시각

  13. SQL: DDL • Relation을 생성/수정/제거하는 명령어 • CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TO • CREATE TABLE CREATE TABLE table_name ( column_name data_type [constraint], …, column_name data_type [constraint]) e.g., NOT NULL

  14. SQL: DDL • DROP TABLE • DROP TABLE table_name • RENAME TO • RENAME table_name TO new_table_name • ALTER • ALTER TABLE table_name ADD column_name data_type • ALTER TABLE table_name DROP COLUMN column_name • ALTER TABLE table_name MODIFY column_name data_type

  15. SQL: DML • INSERT • INSERT INTO table_name [(column[, …])]VALUES (value[,…]) • Column을 생략하거나 Values에 NULL Keyword를 줌으로써 NULL의 입력이 가능하다. • DELETE • DELETE FROM table_name [WHERE condition]

  16. SQL: DML • UPDATE • UPDATE table_name SET column=value[,…][WHERE condition] • SELECT • SELECT column[,…] FROM table_name [WHERE condition] • SELECT * FROM table_name [WHERE condition]

  17. SQL: SQL Function • COUNT • Tuple의 개수를 구한다. • (eg) SELECT COUNT(*) AS cnt FROM table_name • Q: NULL은 어떻게 될까? • SUM • Column 값의 합계를 구한다. • (eg) SELECT SUM(column_name) FROM table_name • 응용 • SELECT SUM(c_name)/COUNT(c_name) FROM table_name • SELECT SUM(c_name)/COUNT(*) FROM table_name

  18. SQL *PLUS 파일 명령어 - SPOOL • SQL *PLUS에서 수행되는 모든 내용을 저장. • 형식 : SPOOL 파일명 • 확장자 생략시 .lst 형식으로 저장 됨. • 작업을 끝낼 때는 SPOOL OFF 함. (안하면 저장 안 됨.)

  19. Practice • 1. 다음 Schema를 갖는 ‘Shopping’ Table을 생성하세요. (결과확인 : desc shopping) • product VARCHAR2(20) • amount NUMBER • price NUMBER • v_date DATE

  20. Practice • 2. 다음의 데이터를 입력하세요.

  21. Practice • 3. 맥주의 수량을 10으로 수정하세요. • 4. 품목명과 각 품목의 비용을 함께 출력하세요. • 5. 전체 비용을 출력하세요. • 6. 오늘 날짜를 기준으로 유통기한이 지난 항목을 삭제하세요.

  22. Appendix - SQL*PLUS: 편집 명령 • I[NPUT] • 다음 Line으로 Buffer 입력 상태가 된다. • I[NPUT] text • 다음 Line에 text를 입력한다. • L[IST] n • n번 Line의 내용을 출력한다. • 현재 Line이 n으로 바뀐다.\ • L[IST] m n • m부터 n번 Line의 내용을 출력한다. • 현재 Line이 n으로 바뀐다.

  23. Appendix - Oracle Data Type • varchar2(n) : 가변길이 문자 데이터 (1~4000byte) • char(n) : 고정 길이 문자 데이터 (1~2000byte) • number(p, s) : 전체 p자리 중 소수점 이하 s자리 (p:1~38, s:-84~127) • date : 7byte(bc4712년 1월1일부터 ad9999년 12월 31일) • long :가변길이 문자 데이터 (1~2Gbyte) • clob : 단일 바이트 가변 길이 문자 데이터 (1~4Gbyte) • raw(n) : n byte의 원시 이진 데이터 (1~2000) • long raw : 가변 길이 원시 이진 데이터 (1~2Gbyte) • blob : 가변 길이 이진 데이터 (1~4Gbyte) • bfile : 가변 길이 외부 파일에 저장된 이진 데이터 (1~4Gbyte)

More Related