DCL: Data Control language (데이터 제어어)
권한부여, 권한을 제거하는 명령어
grant, revoke
DDL : Data Definition Language(데이터 정의어)
create 테이블 생성
alter 테이블 변경
drop 테이블 삭제
테이블의 구조를 변경하는 명령어 ==> alter
- 이미있는 테이블에 새로운 칼럼추가
- 이미있는 테이블에 칼럼을 삭제
- 이미있는 테이블에 칼럼의 자료형이나 제약을 변경
** 테이블의 구조 변경하기
- 새로운 컬럼를 추가
alter table 테이블이름 add 칼럼이름 자료형 옵션
- 칼럼의 자료형 변경
alter table 테이블이름 modify 컬럼이름 새로운자료형
- 칼럼삭제
alter table 테이블이름 drop column 칼럼이름
- pk추가
alter table 테이름이름 add primary key(컬럼이름)
(단, 컬럼은 not null이어야 합니다)
-fk추가
alter table 테이블이름 add foreign key(칼럼이름) references 부모테이블이름(칼럼이름)
DML : Data manufulation Language(데이터 조작어)
자료를 추가, 검색, 수정, 삭제
insert
update
delete
select
DML 명령어
insert, update, delete을 수행한 후에는 commit 혹은 rollback 으로 명령어의 적용을 해 주어야 합니다.
DML작업을 수행한 후에는 그 작업(들)이 올바르게 수행되었다면 commit 잘못되었다면 rollback을 반드시 해 주어야 합니다.
DDL, DCL은 auto commit 입니다.
commit 승인
rollback 취소
** 이미있는 테이블의 구조만 복사하여 새로운 테이블을 생성
이미 있는 테이블의 구조와 레코드를 복사하여 새로운 테이블을 만들 수 있어요.
create table 테이블이름 as select~~~
ex) dept테이블의 구조와 내용를 복사하여 dept100테이블을 생성
create table dept100 as select * from dept;
==> 테이블의 컬럼이름과 레코드는 복사가 되지만
제약은 복사가 되지 않아요!
필요하다면 제약을 alter 명령어에 의해서 추가해야 합니다.
create table 테이블이름 as select * from 테이블명 where 만족하지않을조건;
create table dept100 as select * from dept where 1=2;
** 검색한 결과를 insert하기
insert into 테이블명 select ~~~
ex) dept의 모든 레코드를 검색하여 dept100에 insert하기
insert into dept100 select * from dept;
자료의 추가
insert into 테이블이름 values(값1, 값2, ...);
=> values의 값의 개수와 순서는 테이블의 구조와 동일해야 합니다.
inset into 테이블이름(컬럼1, 칼럼2, ..) values(값1, 값2, ..);
=> values의 값의 개수와 순서는 앞에서 나열한 칼럼의 순서와 동일하게 합니다.
단, 나열한 컬럼 이외의 칼럼들은 null을 허용하거나 default값이 있어야 합니다.
자료의 수정
update 테이블이름 set 컬럼1=값1 [, 칼럼2=값2, ....] [where 조건식]
연습) 5번 고객의 주소를 '대한민국 부산'으로 변경
update customer set address = '대한민국 부산' where custid = 5;
자료의 삭제
delete from 테이블이름 [where 조건식]
ex) 고객번호가 5번인 고객을 삭제 해 봅니다.
delete from customer where custid = 5;
drop VS delete의 차이
drop table 테이블명;
==> 테이블 자체를 삭제하는 것
delete from 테이블명;
==> 테이블은 그대로 있고 레코드가 삭제되는 것.
'프로그래밍 공부 정리 > database' 카테고리의 다른 글
날짜 관련 함수, null 처리 (0) | 2021.11.24 |
---|---|
숫자 관련 오라클 함수 (0) | 2021.11.23 |
제약(primary key, not null, unique,default,check) (0) | 2021.11.21 |
제약: 참조키 설정, 개체무결성, 참조무결성 (0) | 2021.11.20 |
having, self join, outer join (0) | 2021.11.19 |