메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
 
(같은 사용자의 중간 판 17개는 보이지 않습니다)
35번째 줄: 35번째 줄:


=== DDL (Data Definition Language; 데이터 정의 언어) ===
=== DDL (Data Definition Language; 데이터 정의 언어) ===
* CREATE / ALTER / DROP [테이블 이나 인덱스]
* CREATE / ALTER / DROP [테이블 or 인덱스]
==== CREATE TABLE (테이블 생성)====
==== CREATE TABLE (테이블 생성)====
<source lang=sql>
::<source lang=sql>
CREATE TABLE 테이블명 (
CREATE TABLE 테이블명 (
     컬럼명 컬럼 타입 ,
     컬럼명 컬럼 타입 ,
55번째 줄: 55번째 줄:


* 컬럼 수정  
* 컬럼 수정  
<source lang=sql>
*:<source lang=sql>
ALTER TABLE 테이블명
ALTER TABLE 테이블명
MODIFY ( 컬럼명 새로운타입 );
MODIFY ( 컬럼명 새로운타입 );
61번째 줄: 61번째 줄:


* 컬럼 삭제
* 컬럼 삭제
<source lang=sql>  
*:<source lang=sql>  
ALTER TABLE 테이블명
ALTER TABLE 테이블명
  DROP COLUMN 컬럼명;
  DROP COLUMN 컬럼명;
</source>
</source>


==== DROP TABLE ====  
==== DROP TABLE (테이블 삭제) ====  
<source lang=sql>
::<source lang=sql>
DROP TABLE <table-name>;
DROP TABLE 테이블명 ;
</source>
</source>


==== CREATE INDEX ====
==== CREATE INDEX (인덱스 생성)====
<source lang=sql>
::<source lang=sql>
CREATE INDEX <index-name> ON <table-name> (
CREATE INDEX 인덱스명
    <column-name-1>, <column-name-2>, ..., <column-name-n>
    ON 테이블명 (
);
              컬럼1,컬럼2, ...
              );
</source>
</source>


==== ALTER INDEX ====
==== ALTER INDEX (인덱스 수정)====
<source lang=sql>
* 인덱스 재생성 (통계정보 수집은 동시에 )
*:<source lang=sql>
-- COLLECTING STATISTICS ON INDEX
-- COLLECTING STATISTICS ON INDEX
ALTER INDEX <index-name> REBUILD COMPUTE STATISTICS;
ALTER INDEX 인덱스
    REBUILD COMPUTE STATISTICS; -- 인덱스를 통계정보화 함께 리빌드 한다.
</source>


* 인덱스명 변경
*:<source lang=sql>
-- RENAME INDEX
-- RENAME INDEX
ALTER INDEX <index-name> RENAME TO <new-index-name>;
ALTER INDEX 인덱스명
    RENAME TO 새 인덱스명;
</source>
</source>


==== DROP INDEX ====
==== DROP INDEX (인덱스 삭제)====
<source lang=sql>
::<source lang=sql>
DROP INDEX <index-name>;
DROP INDEX 인덱스명;
</source>
</source>


96번째 줄: 103번째 줄:
=== DML (Data Manipulation Language; 데이터 조작 언어) ===
=== DML (Data Manipulation Language; 데이터 조작 언어) ===


==== SELECT ====
==== SELECT (조회)====
<source lang=sql>
::<source lang=sql>
SELECT
SELECT 컬럼명1, 컬럼명2, ..., <column-name-n>
    <column-name-1>, <column-name-2>, ..., <column-name-n>
FROM 테이블명1,테이블명2, ..., <table-name-n>
FROM
WHERE <조건 표현 구문 >
    <table-name-1>, <table-name-2>, ..., <table-name-n>
GROUP BY <그룹핑 컬럼>, ..., <grouping-column-name-n>
WHERE
HAVING <그룹핑 표현구문>
    <condition-expr>
ORDER BY <정렬 컬럼1>, ..., <order-column-name-n>
GROUP BY
    <grouping-column-name-1>, ..., <grouping-column-name-n>
HAVING
    <grouping-expr>
ORDER BY
    <order-column-name-1>, ..., <order-column-name-n>
;
;
</source>
</source>


==== SELECT INTO ====
==== INSERT (입력)====
<source lang=sql>
* 전체 데이터 입력시
SELECT
*:<source lang=sql>
    <column-name-1>, <column-name-2>, ..., <column-name-n>
-- INSERT ALL VALUES
INTO
INSERT INTO 테이블명
    <new-table-name>
VALUES ( 값1, ..., <value-n> );  
FROM
    <table-name-1>, <table-name-2>, ..., <table-name-n>
WHERE
    <condition-expr>
GROUP BY
    <grouping-column-name-1>, ..., <grouping-column-name-n>
HAVING
    <grouping-expr>
ORDER BY
    <order-column-name-1>, ..., <order-column-name-n>
;
</source>
</source>
 
* 부분 데이터 입력시
==== INSERT ====
*:<source lang=sql>  
<source lang=sql>
-- INSERT ALL VALUES
INSERT INTO <table-name>
VALUES ( <value-1>, ..., <value-n> );
 
-- INSERT SOME VALUES
-- INSERT SOME VALUES
INSERT INTO <table-name> ( <column-name-1>, ..., <column-name-n> )
INSERT INTO 테이블명 ( 컬럼명1, ..., <column-name-n> )
VALUES ( <value-1>, ..., <value-n> );
VALUES ( 값1, ..., <value-n> );
</source>
</source>


==== DELETE ====
==== DELETE (삭제)====
<source lang=sql>
::<source lang=sql>
DELETE FROM <table-name>
DELETE FROM 테이블명
       WHERE <cond-expr>;
       WHERE 조건표현구문;
</source>
</source>


==== UPDATE ====
==== UPDATE (갱신)====
<source lang=sql>
::<source lang=sql>
UPDATE <table-name>
UPDATE 테이블명
   SET <column-name>=<value>
   SET 컬럼명 = <value>
  WHERE <cond-expr>
  WHERE 조건표현구문
</source>
</source>


==== CREATE SEQUENCE ====
==== CREATE SEQUENCE ====
<source lang=sql>
::<source lang=sql>
CREATE SEQUENCE <sequence-name>
CREATE SEQUENCE 시퀀스명
       MINVALUE <min-value>
       MINVALUE <min-value>
       MAXVALUE <max-value>
       MAXVALUE <max-value>
167번째 줄: 152번째 줄:


==== ALTER SEQUENCE ====
==== ALTER SEQUENCE ====
<source lang=sql>
::<source lang=sql>
-- ALTER MINVALUE
-- ALTER MINVALUE
ALTER SEQUENCE <sequence-name> MINVALUE <new-min-value>;
ALTER SEQUENCE 시퀀스명 MINVALUE <new-min-value>;


-- ALTER MAXVALUE
-- ALTER MAXVALUE
ALTER SEQUENCE <sequence-name> MAXVALUE <new-max-value>;
ALTER SEQUENCE 시퀀스명 MAXVALUE <new-max-value>;


-- ALTER INCREMENT
-- ALTER INCREMENT
ALTER SEQUENCE <sequence-name> INCREMENT BY <new-step-value>;
ALTER SEQUENCE 시퀀스명 INCREMENT BY <new-step-value>;


-- SET CYCLE OR NOCYCLE
-- SET CYCLE OR NOCYCLE
ALTER SEQUENCE <sequence-name> <CYCLE | NOCYCLE>;
ALTER SEQUENCE 시퀀스명 <CYCLE | NOCYCLE>;


-- ALTER CACHE
-- ALTER CACHE
ALTER SEQUENCE <sequence-name> CACHE <new-cache-value>;
ALTER SEQUENCE 시퀀스명 CACHE <new-cache-value>;
</source>
</source>


==== DROP SEQUENCE ====
==== DROP SEQUENCE ====
<source lang=sql>
::<source lang=sql>
DROP SEQUENCE <sequence-name>;
DROP SEQUENCE 시퀀스명;
</source>
</source>


=== DCL (Data Control Language; 데이터 제어 언어) ===
=== DCL (Data Control Language; 데이터 제어 언어) ===
* CREATE USER
* CREATE USER
<source lang=sql>
::<source lang=sql>
CREATE USER <user-name> IDENTIFIED BY <user-password>;
CREATE USER 유저명 IDENTIFIED BY <user-password>;
</source>
</source>


* ALTER USER
* ALTER USER
<source lang=sql>
::<source lang=sql>
ALTER USER <user-name> IDENTIFIED BY <new-user-password>;
ALTER USER 유저명 IDENTIFIED BY <new-user-password>;
</source>
</source>


* GRANT
* GRANT
<source lang=sql>
::<source lang=sql>
GRANT <privilege> TO <user-name>;
GRANT 권한 TO 유저명;
</source>
</source>



2025년 6월 4일 (수) 14:38 기준 최신판

DDL DML DCL TCL

DDL (Data Definition Language; 데이터 정의 언어)

  1. 데이터 정의어
    :데이터베이스의 구조를 만들고 변경,수정 하는 명령어
    1. - CREATE TABLE : 테이블 생성
    2. - ALTER TABLE  : 테이블 수정
    3. - DROP TABLE  : 테이블 삭제
    4. - CREATE INDEX : 인덱스 생성
    5. - ALTER INDEX  : 인덱스 수정
    6. - DROP INDEX  : 인덱스 삭제

DML (Data Manipulation Language; 데이터 조작 언어)

  1. 데이터 조작어
    :테이블 안의 데이터를 넣고, 바꾸고, 지우고, 조회하는 데 사용해요.
    1. - SELECT
    2. - SELECT INTO
    3. - INSERT
    4. - DELETE
    5. - UPDATE
    6. - CREATE SEQUENCE
    7. - ALTER SEQUENCE
    8. - DROP SEQUENCE

DCL (Data Control Language : 데이터 제어 언어)

  1. 데이터 제어어
    사용자 권한을 관리해요. 누가 무엇을 할 수 있는지 정해요.
    1. - CREATE USER
    2. - ALTER USER
    3. - GRANT
  2. TCL (Transaction Control Language; 트랜잭션 제어 언어)
    1. - COMMIT
    2. - ROLLBACK

DDL (Data Definition Language; 데이터 정의 언어)

  • CREATE / ALTER / DROP [테이블 or 인덱스]

CREATE TABLE (테이블 생성)

CREATE TABLE 테이블명 (
    컬럼명 컬럼 타입 ,
             ... ,
    <column-name-n> <type>
)
[tablespace 테이블스페이스명] -- 생략시 default tablespace에 생성.
;

ALTER TABLE (테이블 변경)

  • 컬럼 추가
    ALTER TABLE 테이블명
    ADD ( 컬럼명 데이터타입, ...<column-name-n> <type> );
  • 컬럼 수정
    ALTER TABLE 테이블명
    MODIFY ( 컬럼명 새로운타입 );
  • 컬럼 삭제
     
    ALTER TABLE 테이블명
     DROP COLUMN 컬럼명;

DROP TABLE (테이블 삭제)

DROP TABLE 테이블명 ;

CREATE INDEX (인덱스 생성)

CREATE INDEX 인덱스명 
    ON 테이블명 (
              컬럼1,컬럼2, ...
              );

ALTER INDEX (인덱스 수정)

  • 인덱스 재생성 (통계정보 수집은 동시에 )
    -- COLLECTING STATISTICS ON INDEX
    ALTER INDEX 인덱스 
        REBUILD COMPUTE STATISTICS; -- 인덱스를 통계정보화 함께 리빌드 한다.
  • 인덱스명 변경
    -- RENAME INDEX
    ALTER INDEX 인덱스명
         RENAME TO 새 인덱스명;

DROP INDEX (인덱스 삭제)

DROP INDEX 인덱스명;

DML (Data Manipulation Language; 데이터 조작 언어)

SELECT (조회)

SELECT 컬럼명1, 컬럼명2, ..., <column-name-n>
 FROM 테이블명1,테이블명2, ..., <table-name-n>
WHERE <조건 표현 구문 >
GROUP BY <그룹핑 컬럼>, ..., <grouping-column-name-n>
HAVING <그룹핑 표현구문>
 ORDER BY <정렬 컬럼1>, ..., <order-column-name-n>
;

INSERT (입력)

  • 전체 데이터 입력시
    -- INSERT ALL VALUES
    INSERT INTO 테이블명
    VALUES ( 값1, ..., <value-n> );
  • 부분 데이터 입력시
     
    -- INSERT SOME VALUES
    INSERT INTO 테이블명 ( 컬럼명1, ..., <column-name-n> )
    VALUES ( 값1, ..., <value-n> );

DELETE (삭제)

DELETE FROM 테이블명
      WHERE 조건표현구문;

UPDATE (갱신)

UPDATE 테이블명
   SET 컬럼명 = <value>
 WHERE 조건표현구문

CREATE SEQUENCE

CREATE SEQUENCE 시퀀스명
       MINVALUE <min-value>
       MAXVALUE <max-value>
     START WITH <start-value>
   INCREMENT BY <step-value>
          CACHE <cache-value>

ALTER SEQUENCE

-- ALTER MINVALUE
ALTER SEQUENCE 시퀀스명 MINVALUE <new-min-value>;

-- ALTER MAXVALUE
ALTER SEQUENCE 시퀀스명 MAXVALUE <new-max-value>;

-- ALTER INCREMENT
ALTER SEQUENCE 시퀀스명 INCREMENT BY <new-step-value>;

-- SET CYCLE OR NOCYCLE
ALTER SEQUENCE 시퀀스명 <CYCLE | NOCYCLE>;

-- ALTER CACHE
ALTER SEQUENCE 시퀀스명 CACHE <new-cache-value>;

DROP SEQUENCE

DROP SEQUENCE 시퀀스명;

DCL (Data Control Language; 데이터 제어 언어)

  • CREATE USER
CREATE USER 유저명 IDENTIFIED BY <user-password>;
  • ALTER USER
ALTER USER 유저명 IDENTIFIED BY <new-user-password>;
  • GRANT
GRANT 권한 TO 유저명;

TCL (Transaction Control Language; 트랜잭션 제어 언어)

  • COMMIT
  • ROLLBACK