DDL(Data Definition Language)

치로·2024년 8월 1일

DDL(Data Definition Language)

  • 데이터의 구조를 정의하기 위한 테이블 생성, 삭제 같은 명령어
  • create : 테이블 생성
  • drop : 테이블 삭제
  • alter : 테이블 수정
  • truncate : 테이블에 있는 모든 데이터 삭제

데이터 조작어(Data Manipuation Language)

  • 데이터 조회 및 변형을 위한 명령어
  • select : 데이터 조회
  • insert : 데이터 입력
  • update : 데이터 수정
  • delete : 데이터 삭제

1. insert

insert into 테이블명 (컬럼1, 컬럼2...)
values (값1, 값2...);
insert into 테이블명 values (값1, 값2...); // 컬럼 전체에 넣을 때

2. update

update 테이블 set 컬럼1=값, 컬럼2=값, ...
where 조건...;

3. delete

delete (from) 테이블명 // 모든 데이터 날라감
where 조건 ...;

예시 코드

-- create
-- table 이름 : employees2
-- 컬럼 이름 : employee_id -> number(10)
--			 name -> varchar2(20)
--			 salary -> number(7,2)
CREATE TABLE employees2(
employee_id number(10),
name varchar2(20),
salary number(7,2)
);

-- 기존 테이블과 동일하게 작성
CREATE TABLE EMPLOYEES3
AS
SELECT * FROM EMPLOYEES2 e 
;

-- employees2 테이블에 컬럼 추가
ALTER TABLE EMPLOYEES2 ADD(
manager_id varchar(10)
);
SELECT * FROM EMPLOYEES2 e;

-- 존재하는 컬럼의 데이터 컬럼을 수정
ALTER TABLE EMPLOYEES2 MODIFY (
manager_id varchar(20)
);

-- 컬렘 삭제
ALTER TABLE EMPLOYEES2 DROP COLUMN manager_id;

-- 테이블 삭제 // 삭제하면 복구하면 안됨
DROP TABLE EMPLOYEES3;

- 데이터 저장
SELECT * FROM EMPLOYEES2 e 
INSERT INTO EMPLOYEES2 e values(1, '홍길동', 30000)
INSERT INTO EMPLOYEES2 e values(1, '홍길동', 30000)
INSERT INTO EMPLOYEES2 e values(1, '홍길동', 30000)
INSERT INTO EMPLOYEES2 e values(1, '홍길동', 30000)
INSERT INTO EMPLOYEES2 e values(1, '홍길동', 30000)

-- 테이블명 : sample
-- 컬럼명 : deptNo -> number(20)
--		   deptName -> varchar3(15)
--		   deptloc -> varchar2(15)
--		   deptManager -> varchar2(10)
-- 데이터 : 10, 기획실, 서울, 홍길동
--		   20, 전산실, 부산, 김말똥
--		   30, 영업부, 광주, null

CREATE TABLE sample(
deptNo number(20),
deptName varchar2(15),
deptloc varchar2(15),
deptManager varchar2(10)
);

SELECT * FROM SAMPLE;

insert INTO sample values (10, '기획실', '서울', '홍길동');
insert INTO sample values (20, '전산실', '부산', '김말똥');
insert INTO sample values (30, '영업부', '광주', null);

-- sample 테이블의 30번 부서의 부서 번호를 50번으로 수정
update SAMPLE set DEPTNO = 50
where DEPTNO = 30;

-- sample 테이블의 영업부의 deptloc를 인천으로 수정
update SAMPLE set deptloc = '인천'
where DEPTNAME = '영업부';

-- 부서 명칭이 '영업부' 데이터 삭제
DELETE SAMPLE
WHERE DEPTNAME = '영업부';

0개의 댓글