-
[무작정 기록] 명령어(Oracle 기준)IT/DataBase 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 조건입력되어 있는 데이터를 조회한다. 반응형'IT > DataBase' 카테고리의 다른 글
[무작정 기록] DB 연습문제 (오라클 기준) (2) 2025.05.22 [무작정 기록] DataBase 개념 (0) 2025.03.26