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 대절님

댓글을 달아 주세요



티스토리 툴바