IT/DataBase

[무작정 기록] 명령어(Oracle 기준)

Alo_alex 2025. 3. 25. 20:17

- sql plus 내부 명령어

: sql plus 환경을 제어하는 내부 명령어

 

명령어 의미 예시+결과
clear screen 화면의 모든 내용을 지워준다
(화면의 초기화)
desc user_constraints 사용자가 설정한 제약의 정보를 갖고 있는 데이터 사전
[활용1] 설정된 모든 제약의 이름과, 제약의 종류와, 제약의 상태, 제약의 대한 상세정보를 조회.

- 작성법
( 제약의 이름 : constraint_name
  제약의 종류 : constraint_type
  제약의 상태 : status
  제약에 대한 상세정보 : search_condition
)
select constraint_name, 
  constraint_type, 
  status
  search_condition, 
  from user_constraints
  where table_name = '테이블명(대문자)';

 

 

 

 

 

- DQL (Data Query Language)

: 데이터베이스의 데이터를 조회하는 구문으로

  데이터베이스의 데이터를 변경하지 않는다.

 

명령어 의미 예시+결과
select table_name from user_tables; 현재 사용자가 소유하고 있는 테이블 목록을 보여준다.

 

 

 

 

 

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

 : 테이블이나 개체를 생성, 수정, 삭제하는 명령

   데이터 구조(스키마)를 핸들링 할 수 있다

   자동으로 commit이 수행되어, rollback을 할 수 없다.

 

명령어 의미 예시+결과
create
create table 테이블명();
데이터베이스 개체(Entity)를 생성
(개체 : 테이블, 뷰, 인덱스 등)
drop

drop table 테이블명();
데이터베이스의 개체 삭제
alter
(테이블 구조
변경)







alter table 테이블명
 add 새컬럼명 새컬럼의타입;
새로운 컬럼을 추가
alter table 테이블명
 modify 컬럼이름 자료형
컬럼의 속성을 수정
alter table 테이블명
 drop column 컬럼이름
컬럼을 삭제
alter table 테이블명
 add primay key(컬럼이름[들])
이미 있는 테이블에 있는 컬럼에 pk설정
(pk로 설정하려는 컬럼의 값이 중복된 값이 있거나 null이면 불가능)
[rename]

alter table 테이블명
 rename constraint 원래이름 to 바꿀이름;
제약 이름을 변경

! 제약이 있는 컬럼만 변경이 가능하다
-
[rename]

alter table 테이블명
 rename to 바꿀테이블명;
테이블 이름 변경
[rename]

alter table 테이블명
 rename column 원래이름 to 바꿀이름;
컬럼 이름 변경

 

 

 

 

 

- 데이터 제어어 DCL (Data Control Language)

 : 사용자를 생성, 삭제, 권한부여, 권한취소

   자동으로 commit이 수행되어, rollback을 할 수 없다.

 

명령어 의미 예시 + 결과
grant grant select, insert on 테이블명 to 계정명; 특정 사용자나 역할(Role)에게 권한을 부여한다.
revoke revoke insert on 테이블명  from 계정명; 이미 부여된 권한을 회수한다
execute grant execute on 프로시저명 to 계정명;

grant execute on 함수명 to 계정명;
사용자가 특정 프로시저 또는 함수를 실행 할 수 있도록 권한을 부여할 때 사용한다.

! execute로 권한을 부여받은 사람이
만약 해당 테이블에 권한을 받지 못했다면 execute로 받은 권한을 통한 접근만 가능하고, 테이블의 직접적으로 접근 할 수는 없다.
(함수, 프로시저 동일) 
-
deny deny delete on 테이블명 to 계정명; 특정 권한을 명시적으로 거부 한다.
(주로  SQL 서버에서 사용된다)

! 오라클 sql에서는 실행되지 않는다.
-

 

 

 

 

- 컬럼관리 DML (Data Manipulation Language)

 : 데이터를 추가, 수정, 삭제 하는 작업을 수행

   commit을 실행하기 전 이라면 rollback이 가능하다.
   ( 하지만 DDL 관련 명령어를 수행하고 롤백을 진행하게 되면 불가하다. DDL은 자동 commit이기 때문. )

 

명령어 의미 예시+결과
insert into 테이블명 values(); 테이블에 레코드(='행')에 데이터를 추가한다.
! 레코드를 추가하면 순서는 유지 되지 않는다.
! 조회할때 순서를 정해 줄 수는 있다.
update 테이블명
 set 값을 변경할 컬럼명=''
 where 변경할 행의 기준 컬럼명='';
테이블에 변경하고 싶은 컬럼값을 기준이 되는 컬럼으로 찾아 그 값을 수정한다.
delete
 from 테이블명
 where 컬럼명='';
컬럼명의 값이 동일한 행을 삭제한다.

where 절이 없으면 모든 데이터가 삭제 되니 주의한다.

commit을 실행하기 전이라면 rollback을 통해 복구한다..!
select 컬럼명1(들)
 from 테이블명 (들)
 where 조건
입력되어 있는 데이터를 조회한다.

 

반응형