ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [oracle] DDL, DML, DCL
    SQL/Oracle 2021. 8. 11. 16:43

    SQL ( Structured Query Language )


    정의

    SQL(구조적 쿼리 언어, Structured Query Language)은 관계 데이터베이스(RDBMS) 시스템의 표준이다 .

     

    SQL 문을 이용해서 단순한 쿼리뿐만 아니라 데이터베이스 객체를 만들거나 ,

    제거하고 , 데이터베이스 내의 데이터를 삽입,갱신 삭제하거나 다양한 운영 작업을 할 수 있다.

    DBMS 종류에 상관없이 검색, 저장, 관리할 수 있는 표준언어이다.

     

    종류

    DDL ( Data Definition Language)

    - 데이터의 구조를 정의

    - 테이블를 생성, 삭제 , 수정

    DDL 설명
    CREATE 테이블을 생성한다.
    DROP 테이블을 삭제한다.
    ALTER 테이블을 수정한다.

     

     

    DML ( Data Manipulation Language)

    - 데이터의 검색, 수정, 변경 , 삭제

    - TCL: commit, rollback ( DML 에 포함 )

    DML 설명
    INSERT 테이블에 데이터를 입력한다.
    UPDATE 테이블의 데이터를 수정한다.
    DELETE 테이블의 데이터를 삭제한다.
    SELECT 테이블의 데이터를 검색한다.
    COMMIT 테이블에 적용했던 연산결과를 실제 데이터베이스에 저장한다.
    ROLLBACK 테이블에 적용했던 연산결과를 취소하여 기존 데이터로 복구한다.

     

     

    DCL ( Data Control Language)

    -  데이터베이스의 사용권한부여을 정의, 권한취소

    DCL 설명
    GRANT 유저에 권한을 부여한다.
    REVOKE 부여된 권한을 취소한다.

     

     

     

     

    오라클 자료형


    char : 고정길이 ( C 언어의 배열과 같다)

    varchar2 : 가변길이 ( C 언어의 포인터와 같다)

    date : 날짜

    number(4) : 4자리 정수

    number(7,2) : 7은 전체 자리수(소수점 제외), 2는 소수이하 자리수

    ================================================

    MySQL 의 경우는..

    char : 고정길이 ( C 언어의 배열과 같다)

    varchar : 가변길이 ( C 언어의 포인터와 같다)

    date : 날짜

    datetime : 날짜 시간

    int(4) : 4자리 정수

     

     

     

    Transcation


    Transcation 은 여러개의 쿼리문을 수행하는데 있어 하나라도 에러가 있으면 모두 roolback 해야 한다.

    ex) 우리은행 10억을 KB은행으로 계좌 이체중 정전이나, 기계고장으로 인하여 정상적인 처리가 되지 않았을 때 rollback해야 한다.


    실습

    더보기
    create table test01(
       name  varchar2(10),
       height number(7,2),
       weight number(7,2),
       age number(4),
       sex char(5)
    );
    
    select * from tab;
    
    desc test01;
    
    drop table test01;
    #BIN$Ph4jpWr6TzSicVkVu73sZA==$0 가 목록에 있다=> 다 사라진게 아니라 휴지통
    select * from tab;
    
    create table test01(
       name  varchar2(10),
       height number(7,2),
       weight number(7,2),
       age number(4),
       sex char(5)
    );
    
    insert into test01(name,height,weight,age,sex) 
    values('박길동',177.7, 47.5, 27,'남');
    
    insert into test01  values('이길동',167.7, 46.5, 26,'남');
    
    insert into test01  values('아이유',165.7, 43.5, 23,'여');
    insert into test01  values('수지',172.7, 50.5, 21,'여');
    insert into test01  values('송혜교',165.7, 45.5, 35,'여');
     
    insert into test01  values('이길동',167.7, 46.5, 26,'남');
    
    select * from test01;
    
    update test01 set name='혜교' where name='송혜교';
    
    rollback; #수정한 내용이 취소

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

    [oracle] 이전글,다음글 쿼리문 구현  (0) 2021.08.12
    [oracle] 전체 테이블 보기  (0) 2021.08.12
    [oracle] 날짜 검색방법 & 현재 날짜  (0) 2021.08.12
    [oracle] NVL(), NVL2()  (0) 2021.08.11
    [oracle] 설치 및 설정  (0) 2021.08.11

    댓글

Designed by Tistory.