SQL- insert,update,delete

어겐어갠·2022년 3월 31일
0

delete와 truncate의 차이
turncate = 전부 다 삭제, 조건 없음, 빠름, 대신 트랜젝션 롤백이 불가능

join이란?
2개 이상의 테이블을 공통 필드로 통합하는 것
새로운 테이블이 만들어진다
조인의 방식에 따라 어떤 레코드를 선택할지와 어떤 필드가 채워지는지 달라짐
조인시 고려할 점

  • 중복 레코드 안됌. 기본키의 유일성을 보장할 것
  • 조인하는 테이블간의 관계를 정의할 것
  • 어느 테이블을 베이스로 할지 정할 것
-- drop, create
Drop table if exists vital;

create table vital(
	user_id int not null,
    vital_id int primary key,
    date timestamp,
    weight int not null
);


-- insert
insert into vital(user_id,vital_id,date,weight) values(100,1, '2020-01-01',75);
insert into alert values(1,4,'WeightIncrease','2020-01-02',101);




-- delete
delete from vital where weight<=0; -- 안지워짐 세이프 업데이트 모드때문에(프라이머리 키를 직접 사용하는 게 아니면)
delete from vital where vital_id = 5;

delete from tvital; -- 이것도 세이프 업데이트 때문에 설정을 바꿔야 가능


-- update
update vital set weight = 92 where vital_id =4;

-- join
select * from v 
join a 
on v.vital_id = a.vital_id;

select * from v 
left join a 
on v.vital_id = a.vital_id;

select * from v 
right join a 
on v.vital_id = a.vital_id

union

select * from v 
left join a 
on v.vital_id = a.vital_id;


select * from v
cross join a;

-- self
select * from v1
join v2
on v1.vital_id = v2.vital_id;
'''
profile
음그래

0개의 댓글