개발 1도 모르는 사람

[Oracle & SQL] DDL 명령어,개념 정리 본문

Oracle & SQL/SQL

[Oracle & SQL] DDL 명령어,개념 정리

지구젤리귀여워 2023. 10. 10. 23:23
728x90

DDL 이란? :

(Data Definition Language) 의 약칭 이며 계정을 만들고 권한을 주며 테이블을 생성할수있다.

데이터베이스의 구조를 정의하고 관리하며  '계정','객체'를 생성하고 수정하며 삭제 또한 가능하며

관리자 권한 일부를 부여하거나 박탈할수 있고 관리자 권한 또한 부여할수 있다.

 

대표적으로는

CREATE (생성) , ALTER (수정) , DROP (삭제), COMMENT (주석), GRANT (권한 부여), REVOKE (권한 박탈)

있으며 각 문장은 CREATE,   ALTER,   TRUNCATE,   GRANT,   REVOKE,   COMMENT 등으로 시작한다.

 

각 명령어는 이렇다.

CREATE (생성) :  보통 테이블을 많이 생성하게된다.

                  CREATE TABLE (테이블명) : 새로운 테이블 생성

                  CREATE VIEW : 가상 테이블 생성해서 데이터 베이스 일부 데이터에 대한 뷰를 정의     ㅣ이쪽 3개는 나도
                  CREATE DATABASE : 새로운 데이터베이스를 생성                                                              ㅣ 아직 자세히
                  CREATE INDEX : 인덱스를 생성하여 데이터 검색 속도 향상                                                ㅣ 다루지 못했다.

 ALTER (수정) :
                    ALTER TABLE :  이미 존재하는 테이블의 구조 변경 열 추가, 수정, 삭제, 제약 조건 등을 변경할 수 있음.
                    ALTER INDEX  :  이미 존재하는 인덱스의 구조 변경

 DROP (삭제) :
                    DROP TABLE : 테이블 삭제
                    DROP VIEW  : 뷰 삭제
                    DROP DATABASE : 데이터 베이스 삭제
                    DROP INDEX : 데이터 인덱스 삭제

    GRANT (권한 부여) : 권한을 부여하는 키워드
                    SELECT,  INSERT,  UPDATE,  DELETE,  CREATE,  TABLE 등
                                                 수행하는 권한을 지정할 수 있음

 

 

맨처음 SQL을 배웟을때 나는 CMD(명령 프롬프트) 창에서 이것을 먼저배웠다.

 

사용 예 )

                

ㅣsqlplus 계정명/비밀번호 as sysdba          // 계정명/비밀번호  (SYS/Oracle) 또는 ( ex) HELLO / WORLD)
ㅣsqlplus sys/Oracle as sysdba                                              // SQL 접속                           // 최고 권한 부여


ㅣALTER SESSION SET "_ORACLE_SCRIPT" = TRUE;     // 기본이 "FALSE" 였다, "TRUE"로 바꾸어 준 것 (세션 변경)


ㅣCREATE USER 계정명 IDENTIFIED BY 비밀번호;           // 아이디 비번 생성 (계정)   

 // 한글, 특수문자 불가능ㅣ(만약 비밀번호를 까먹었다면 아래처럼 변경해주면 된다. 나름 꿀팁.)

 

ㅣALTER USER 계정명 IDENTIFIED BY 변경할비밀번호;   // 계정 비밀번호 변경 

                                                                                               // 변경할 비밀번호는 문자로 시작해야합니다.

 

ㅣGRANT CREATE SESSION TO 계정명;                            // 계정에 세션 권한 부여       // GRANT (권한 주는 명령어)


ㅣGRANT CREATE ANY TABLE TO 계정명;                         // 게정에 테이블 생성 권한 부여


ㅣGRANT connect, resource, dba to 계정명;                         // 최고 권한 부여

                     

 

오늘은 여기까지 하도록 하겠다!