SQLD, ECLIPS, JAVA,PYTHON, NODE....

[Oracle] SQL Class 3 - SQL 명령어 및 테이블/계정 생성 본문

SQL

[Oracle] SQL Class 3 - SQL 명령어 및 테이블/계정 생성

D_Aiden 2023. 10. 27. 09:33
728x90
반응형
SMALL

2023.10.27

## SQL 명령어

1. SQL : Structured Qurey Launage

** SQL 명령어 구분

1) DDL(Data Definition Launage, 데이터 정의명령) 

    ※ 명령어 사용대상: 객체           ex. 테이블, 유저명, index(문자) ..

   : creat(생성), alter(수정), drop(배제)

      rename(이름변경), truncate(자르다

 

(예제1) 테이블 생성
SQL> create table info(id number(3), name varchar2(10), tel_varchar2(15);

creat table info

(예제2) 테이블 수정
SQL> alter table info
       2 add addr varchar2(30);

add 명령어로 추가

(예제3) 테이블 유형명 변경
SQL> alter table info
       2 modify name varchar2(20);

modify의 유형 변경 10 ->20

(예제4) 컬럼 삭제
SQL> alter table info
       2 drop column tel;

drop으로 컬럼 삭제

(예제5) 테이블 삭제
SQL> drop table info;

drop으로 생성한 테이블 모두 삭제

tab --> table의 약어
SQL> select *from tab;

단, 삭제해도 생성한 테이블이 남는걸 볼 수 있음.

## 관리자 계정 접속
SQL> conn /as sysdba

## 계정 생성
SQL> create user aiden identified by aiden default tablespace users;

## 일반계정에선, grant( 권한부여 명령어 )2가지(connect, resource)권한 제공 가능. 
SQL> conn aiden/aiden
SQL> conn /as sysdba

grant는 권한부여 명령어이며, connect와 resource2가지 권한만 부여가능

행(row)의 주소확인 방법
# rowid --> emp 테이블의 행(row)별로 주소확인 명령어.
SQL> select rowid from emp;

 

테이블에 등록된 행별로 rownum 순서확인
SQL> select rownum from emp;

 

rownum는 특정값으로 확인되는 데이터가 아님
SQL> select rownum from emp
      2  where rownum<5;

행(row)의 순서 이유

 

(예제6) 이름이 A_로 시작하는 사람 추출하시오.
SQL> select ename from emp
     2   where ename like 'A$_%' escape '$';        -- $같은 특수문자를 넣고, escape에서 추가한 특수문자를 넣고 실행하면, A_ 로 시작하는 데이터 추출가능

결과값이 없으므로 선택된 레코드가 없음.

 

(예제7) 업무(job)의 종류를 추출 
SQL> select distinct job from emp          -- distinct뒤에 오는 컬럼명을 추출하는 명령어

 ㄴ중복제거 함수

 

## DML(Data Manipulation Launage, 데이터 내의 정보변경 명령)

    ㄴ 데이터 변경명령(트렌잭션, 데이터 흐름수정 명령)  

    ※ 명령어 사용대상: 객체를 구성하는 데이터(=행) 변경

    : insert(입력), update(수정), delete(삭제)

      select(추출 - oracle에선 추출하는 명령)

 

## DCL(데이터 권한관리 명령)

    ※ 권한: 단어(role)는 권한들을 모아둔거 이며, 명령을 묶어둔거             ex. sysdba  (sys는 권한들을 묶어둔거)

        단, 기본권한은 누적되어 부여되지만, deny를 주는 순간 권한이 거부됨(최우선 명령어)

    : grant(부여), revoke(회수), deny(거부, oracle엔 없고 MSSQL엔 있음)

 

## TCL(Transaction 제어(데이터 흐름제어(정보변경))명령)

   ㄴ DML을 제어하는 명령

   : commit(저장), roolback(취소), savepoint(저장지점, save)

 

 

728x90
반응형
LIST