반응형

오라클 테이블 생성(CREATE), 제거(DROP), ALTER(수정)




테이블 생성(CREATE)



테이블을 생성 하기 위해서는 CREATE TABLE이라는 명령어를 사용하여 테이블을 만든다.

테이블은 데이터를 담는 그릇 형식이라고 생각하면 된다.

아래 예제를 보자


CREATE TABLE SAMPLE

(    

     TEST_VARCHER VARCHAR(10),

     TEST_INT INT

);


VARCHER 형식의 TEST_VARCHER, INT 형식의 TEST_INT 컬럼을 가지고 있는 SAMPLE이라는 이름의 테이블이 생성 하는 명령 스크립트다.

위의 예제를 실행하면 다음과 같은 메시지가 출력 될 것 이다.



TABLE CREATED


테이블이 생성이 되면 DML을 이용하여 데이터 추가, 삭제, 수정등이 가능하다.



테이블 수정(ALTER)



테이블을 수정 하기 위해서는 ALTER TABLE이라는 명령어를 사용하여 테이블을 수정한다.

ALTER TABLE을 사용할 때는 ADD(컬럼 추가), MODIFY(컬럼 수정), DROP(컬럼 제거)를 이용한다.



우선 생성한 테이블의 정보를 보자


SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH 

FROM USER_TAB_COLUMNS 

WHERE TABLE_NAME = 'SAMPLE';


위의 명령어를 실행 하면 방금 생성한 SAMPLE 테이블에 대한 컬럼 정보를 확인 할 수 있다.



이제 여기서 컬럼을 추가 해보자


1. 컬럼추가


ALTER TABLE SAMPLE ADD TEST_VARCHAR2 VARCHAR(15);


위의 명령을 실행 시켜 보고 테이블 정보를 조회 하면 TEST_VARCHER2 컬럼이 생성 된 것을 확인 할 수 있다.



2. 컬럼수정


ALTER TABLE SAMPLE MODIFY TEST_VARCHAR2 VARCHAR(5);


위의 명령을 실행 시켜 보고 테이블 정보를 조회 하면 TEST_VARCHER2 컬럼의 사이즈가 5로 변경 된것을 확인 할 수 있다.



3. 컬럼삭제


ALTER TABLE SAMPLE DROP COLUMN TEST_VARCHAR2;


위의 명령을 실행 시켜 보고 테이블 정보를 조회 하면 TEST_VARCHER2 컬럼이 제거 된 것을 확인 할 수 있다.


테이블 제거(DROP)



테이블을 제거 하기 위해서는 DROP TABLE '테이블명' 이라는 명령어를 사용하여 테이블을 제거한다.


DROP TABLE SAMPLE;


아래는 실행 결과가 아래와 같이 출력 된다.


TABLE DROPED


테이블이 삭제 되어 위이 테이블 정보 조회시 조회 결과가 출력 되지 않는다.



반응형
반응형

SQL(Structured Query Language)의 종류


SQL(Structured Query Language)의 종류에는 데이터 정의(DDL), 데이터 조작(DML), 데이터 제어(DCL)가 있다.



데이터 정의어(Data Definition Language)

데이터의 구조를 정의 하기 위한 테이블 생성,삭제 같은 명령어

  • CREATE : 테이블 생성

  • DROP : 테이블 삭제

  • ALTER : 테이블 수정

  • TRUNCATE : 테이블에 있는 모든 데이터 삭제

데이터 정의어 알아보기 ==> CLICK


데이터 조작어(Data Manipulation Language)


데이터 조회 및 변형을 위한 명령어

  • SELECT : 데이터 조회

  • INSERT : 데이터 입력

  • UPDATE : 데이터 수정

  • DELETE : 데이터 삭제

데이터 조작어 알아보기 ==> CLICK

데이터 제어어(Data Control Language)

사용자에게 권한 생성 혹은 권한 삭제 같은 명령어

  • GRANT : 권한 생성

  • REVOKE : 권한 삭제

데이터 제어어 알아보기 ==> CLICK

반응형
반응형

파이썬 모듈 #2




모듈을 독립적 실행


앞에서 만든 모듈을 독립적으로 실행 하기 위해 이전 강의에서 만든 tool1.py 프로그램에 다음과 같이 1줄 추가 해 보겠다.


#!/usr/bin/python

# -*- coding: utf-8 -*-

def helloKorea():
    print("안녕하세요.")

def helloEnglish():
    print("Hello")

print("모듈 실행")#추가 부분


tool1.py를 실행 시키면 다음과 같이 출력 된다.


모듈 실행


하지만 tool1.py 모듈을 가져다 쓴 main을 실행시 다음과 같은 문제가 발생 된다.


모듈 실행 <<----------원치 않은 메시지 출력

안녕하세요.

Hello


tool1 모듈을 이용하는 프로그램은 모두 모듈 실행이라는 출력문이 발생 할 것이다.



__name__


위와 같이 내가 만든 모듈이 실행 될때만 모듈의 실행문이 실행 되고 싶을 때 어떻게 해야 할 지 고민을 될 것이다.

이것을 해결 하기 위해 __name__에 대해 알아보자

실행 되는 파일과 __name__이 호출 되는 파일이 일치하면 "__main__" 이라고 출력이 된다.

그래서 다음과 같이 tool1.py을 수정한다.


#!/usr/bin/python

# -*- coding: utf-8 -*-

def helloKorea():
    print("안녕하세요.")

def helloEnglish():
    print("Hello")

if __name__ == "__main__": #<<-- 내가 만든 모듈이 실행 될때만 모듈의 실행문이 실행 되고 싶을때 넣는다.
    print("모듈 실행")


tool1.py를 실행


모듈 실행


main.py를 실행


안녕하세요.

Hello


이전 모듈 설명 가기 ====> click

반응형

'IT > Python' 카테고리의 다른 글

[Python] 예외처리 try, finally, except pass  (0) 2016.11.28
[Python] 예외 처리, try, except, else  (0) 2016.11.26
[Python] 모듈 #1  (0) 2016.11.12
[Python]클래스(3)  (0) 2016.11.02
[Python]클래스 (2)  (0) 2016.09.16
반응형

파이썬 모듈


모듈은 특정한 기능 함수 클래스를 모아 놓은 파일이다.

여러분이 파이썬을 개발 할 때 import 모듈명을 사용하여 만들어진 모듈을 사용했을 것이다.

이제 여러분이 이런 모듈을 직접 만들어 볼 차례이다.



모듈 작성과 사용


우선 간단한 예제 모듈을 만들어 보도록 하자


#!/usr/bin/python

# -*- coding: utf-8 -*-

def helloKorea():
    print("안녕하세요.")

def helloEnglish():
    print("Hello")


위와 같이 작성 후 tool1.py 이라고 저장 한다.

같은 폴더 위치에 main.py  이라고 파일을 하나 만들고 해당 파일에 위의 모듈을 사용하는 예제를 작성 한다.


아래와 같이 tool.py과 main은 같은 위치에 있어야 한다.

C:\example>dir

...

2016-11-13 오후 01:00   55    tool.py

2016-11-13 오후 01:02   45    main.py

...


아래는 main.py 예제이다.

모듈을 가져다 쓸때는 .py를 빼고 import 파일명

모듈의 함수를 가져다 쓸 때는 파일명.함수명 


#!/usr/bin/python

# -*- coding: utf-8 -*-


import tool1


tool1.helloKorea()

tool1.helloEnglish()


실행을 시켜 보면 다음과 같은 결과 값이 출력 된다.


안녕하세요.

Hello


다음 모듈 설명 가기 ====> click

반응형

'IT > Python' 카테고리의 다른 글

[Python] 예외 처리, try, except, else  (0) 2016.11.26
[Python] 모듈 #2  (0) 2016.11.13
[Python]클래스(3)  (0) 2016.11.02
[Python]클래스 (2)  (0) 2016.09.16
[Python]클래스 (1)  (0) 2016.09.16

+ Recent posts