본문 바로가기
oracle

1021_DML(Data Manipulation Language, 조작어)

by 신방동불주먹 2022. 10. 24.

 

1. DML(Data Manipulation Language, 조작어)

1. INSERT (데이터 추가)
: insert into <table 명>
  (컬럼명, 컬렴명, 컬럼명)
  values(값, 값,,,)

  • 컬럼명 전체 추가 시 생략가능
  • (insert into table명 1 
  • select * from table명2
  • where 조건문; 다른 테이블의 select 문의 결과를 table1로 삽입할 수 있다 

--insert : 테이블에 데이터 삽입
--insert into 테이블명(컬럼명1, 컬럼명2..)
--valuse(값1, 값2..)
-- 컬럼과 값의 타입과 개수가 일치해야 한다(1:1매칭)
--작성순서대로 1:1 매칭 된다.

--테이블 생성 (dept테이블과 동일하게)
create table dept_temp
as
select * from dept;

--테이블 조회
select *
from dept_temp;

--데이터 추가(값의 개수와 타입이 일치해야 한다)
insert into dept_temp(deptno,dname,loc)
values (50, 'DATABASE','SEOUL');

--컬럼 생략 (전체 컬럼에 다 넣을 경우 컬럼명 생략가능하다)
insert into dept_temp
values (70, 'HTNK','SEOUL');


--개수와 티입을 잘 맞췄기 때문에 지정하지 않은 데이터는 자동으로 null이 들어간다
--묵시적 null데이터 삽입 
--명시적 null데이터 삽입
insert into dept_temp (deptno,dname) 
values(60,'JSP');

insert into dept_temp
values (80,NULL,'SEOUL');

--데이터는 없애고 형식만 가져온다.
create table emp_temp 
as
select * from emp
where 1 != 1;

select *
from emp_temp;

insert into emp_temp (empno, ename, job, mgr, hiredate, sal, comm , deptno)
values (9999,'홍길동','PRESIDENT',null, '2001/01/01',5000,1000,10);

--sysdate함수를 이용한 날짜데이터 삽입
insert into emp_temp (empno, ename, job, mgr, hiredate, sal, comm , deptno)
values (3111,'유림이','MANAGER',9999,sysdate,4000,null,30);

 

3. UPDATE(데이터 변경) **항상 select문으로 먼저 확인
: update <테이블명>
  Set <컬럼명> = 값, <컬럼명> = 값..
  Where <조건식>

-- update : 컬럼의 데이터를 변경(수정)
-- update 테이블명
-- set 컬럼명 = 값, 컬럼명 = 값,...
-- where 조건식 
-- 조건절 사용하지 않으면 해당 컬럼이 모두 변경된다. 


create table dept_temp2
as
select *from dept;

select *from dept_temp2;

--where 절이 없어 모든 행이 바뀌어버린다
update dept_temp2
set loc = 'SEOUL';



4. DELETE(삭제) **항상 select문으로 먼저 확인
: delete from <테이블명>
Where <조건식>

 

--삭제 
--delete from 테이블명
--where 조건식 
--조건절을 사용하지 않으면 모든 데이터가 삭제된다.

create table emp_temp2
as
select * from emp;

select * from emp;

select * from emp_temp2;

delete from emp_temp2;

drop table emp_temp2;

--삭제할 대상 선택하기 
delete from emp_temp2
where ename = 'SCOTT';

 

 

 

 

 

-------------------------10/21 
--DML 데이터 조작어 : insert, update, delete





--삭제
drop table dept_temp2;

update dept_temp2
set dname = 'DATABASE', loc = 'SEOUL'
where deptno = 40;

primary key 중복 시 발생 오류

 

 

<유림>

- mysql에서 primary키 수정하려면 삭제한 후 다시 추가하면 된다.

삭제 : alter table table 명 drop primary key;

추가 : alter table table 명 add primary key(컬럼명, 컬럼명);

 

- insert 문의 lock -> db접근을 모두가 동시에 하게 되면 안되기 때문

 

'oracle' 카테고리의 다른 글

TCL (Transaction Control Language, 트랜잭션 제어 언어)  (0) 2022.10.25
1021_ DQL(Data Query Language, 질의어)  (0) 2022.10.25
1020-Join문  (0) 2022.10.24
1019_GROUP BY, HAVING 절  (0) 2022.10.19
1019_그룹 함수(다중행 함수)  (0) 2022.10.19