Oracle 1강

programing/Oracle 2009.04.13 21:30


CMD창에서
>SQLPLUS HR/0105
>CREATE TABLE EMPS  <-테이블 이름
(EMPNO NUMBER(4), <-컬럼명 , DATA 타입
ENAME VARCHAR(20),
SAL NUMBER(7,2),     <- 전체숫자 7자리 소숫점 이하 2자리  99999,99
HIREDATE DATE);

>DESC EMPS    <- DESC 테이블명     <-- 테이블의 구조 출력
>DESC employees   <-- 기존의 만들어져있던 employees 테이블의 데이터 타입 출력
 
 
**테이블 이름 만들기**
1. A-Z, a-z, 0-9, -$,# 이런식으로 테이블 명 구성
2. 1-30자까지만 가능
3. 첫글자 영문자
4. 예약어 사용 (X)select, from 등
5. 의미있게 지정

-----------------------------------------------------------------
   SQL     sql*plus
제조사   ansi   oracle
끝맺음   ;    X, ;(x)
명령어  select, insert,   desc, save, spool,
  update, delete, create  ed,/
축약   축약(x)   축약(o)
버퍼   buffer(o)  buffer(x)
대소문자구별  X   O
비절차적성격  O   O
변수    X   X
제어문    X   X

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


*employee_id, first_name 출력 후 명령어 save
>select employee_id, first_name FROM employees;
>save v1     <---- 마지막으로 실행한 명령어를 v1에 저장   (sqlplus를 처음 실행한 디렉토리에 만들어짐)
>save c:\oraclexe\v2.sql   <- 경로지정해서 저장도 가능
>@v1.sql     <----v1으로 저장된 명령어 실행

* SPOOL
>spool p1
>select first_name from employees;
>spool off    <----p1.lst <-라는 파일이 생성됨   notepad p1.lst 로 열어보면 화면에 출력된 내용이 저장됨
>spool    <---현재 spool중인지 보여줌

* 주석
>-- 한줄주석
>/*    멀티라인 주석     */

* BUFFER(오타수정시 주로사용)
>ed     <---- 마지막 썼던 문장이 버퍼(afiedt.buf)에 저장되어 메모장에 나타남/메모장 내에서 편집가능
>/      <---- 버퍼에 있는 내용의 명령어를 실행
--1. 반드시 하나의SQL 문만 사용 가능
  2. 문장종결자;   버퍼내에서는 다음라인 /,R,RUN 으로 대신함 

* 테이블 복사 (서브쿼리 가능)
>CREATE table EMP
>AS
>SELECT *
>FROM employees;

>WHERE 0=1;      <---- 이걸 써주면 false 가 되기 때문에 테이블의 구조만 가져오고 안의 내용은 없음.

*빈 테이블 구조안에 데이터를 복사   (update, delete도 동일)
>INSERT into EMP1
>SELECT *   <--VALUE 안씀, 실제 업무때는 * 보다는 컬럼명을 하나씩 다 적는게 안정적
>FROM employees;

*테이블 구조변경
>CREATE table EMP2
>AS
>SELECT employee_id, first_name, last_name, salary
>FROM employees;
테이블 복사후
>Alter table EMP2             
>add hp varchar2(10);   <--HP컬럼 문자열 빈공간 varchar2로 생성 그후 update로 넣어줌

*컬럼명 변경
>ALTER table EMP2
>rename column hp
>to mp;                <-- hp라는 컬럼명을 mp로 변경

*컬럼 형식 변경
>ALTER table emp2
>modify mp varchar2(11);   <--varchar(10)에서 varchar(11)로 변경됨.

*해당 컬럼 삭제
>ALTER table emp2
>drop column mp;     <---mp 라는 컬럼 삭제

* 테이블 삭제
>DROP table emp2;    <--emp2 라는 테이블 영구 삭제 신중히!!!!

* 테이블명 변경
>rename emp1 to emp2;    <-- emp1테이블명을 emp2로 바꿈

* 테이블 자르기
>TRUNCATE table emp2;   <-- 해당테이블의 모든 row 가 삭제   (where절 사용 불가, backup X, undel X, 속도가 빠름)

>delete emp2; <-- 해당테이블의 모든 row 가 삭제 (where절 사용해서 해당열만 자르기 가능, 백업을 만들어서 roolback
   이라는 명령어로 되살리기 가능.)

* 주석생성
>comment on table emp2
>is '사원테이블'        <--'사원테이블'이라는 주석생성

*테이블들의 주석 보기
>SELECT table_name,
>comments
>from user_tab_comments;

*컬럼heading 출력 글자수 변경
>col table_name format a15  <-- 화면에 출력되는 컬럼heading의 길이를 15자로 (col 컬럼heading명 fromat a숫자)
>/

 


 

'programing > Oracle' 카테고리의 다른 글

Oracle 6강  (0) 2009.04.13
Oracle 5강  (0) 2009.04.13
Oracle 4강  (0) 2009.04.13
Oracle 3강  (0) 2009.04.13
Oracle 2강  (0) 2009.04.13
Oracle 1강  (0) 2009.04.13
Posted by 대절님

댓글을 달아 주세요