Xerath(제라스) 2022. 4. 25. 10:06
728x90
반응형

DML(Database Manipulation Language)

 

DML의 대표 키워드

- Insert

- Delete

- Update

- Select

 

- 입력(Insert into ~ values)

Insert into course values ('437', 'Advanced Databases', 'CS', 4); //course table에 ('437', 'Advanced Databases', 'CS', 4) tuple 추가.

Insert into professor values select * from professor; //professor table에 tuple이 두 배가 됨.

 

- 삭제(Delete from ~)

Delete from professor;

Delete from professor Where deptName='EE';

Delete from professor Where salary < (select avg(salary) from professor);

 

- 갱신(Update ~ set ~)

Update professor set salary = salary *1.03 where salary>7000;

Update professor set salary = salary *1.05 where salary<=7000;

→ 위처럼 해야 인상을 중복 적용되는 경우를 방지할 수 있다. 혹은 아래처럼 case 문장을 사용하면 좋다.(case-when-then-else-end)

Update professor
set salary = case
		when salary <= 7000 then salary*1.05
		else salary*1.03
	end;

- Select 문장

: 주어진 조건에 적합한 데이터(relation)를 검색하여 반환함.

 

1) 6개의 절을 가질 수 있고 다음과 같은 순서로 작성하여야 함.

 

Select //필수

From //필수

Where

Group by

Having //Group by 없으면 못 씀.

Order by

 

2) "*" 기호는 모든 속성을 의미함.

ex) Select * from professor;

 

3) SQL 언어는 tuple의 중복을 허용함.

→ 만약, 중복을 허용하고 싶지 않다면 distinct 키워드를 사용하면 된다.

ex) Select distinct deptName from professor;

 

4) 중복을 허용하려면 all 키워드를 사용하면 됨.(하지만 all은 default값이기에 구우욷이~~안 써도 됨)

ex) Select all deptName from professor;

 

 

 

 

728x90
반응형