관리 메뉴

사과하는 제라스

3. SQL 1 - DML 본문

대학 전공 공부/데이터베이스1

3. SQL 1 - DML

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
    반응형

    '대학 전공 공부 > 데이터베이스1' 카테고리의 다른 글

    5. SQL 2  (0) 2022.04.25
    SQL Examples  (0) 2022.04.25
    3. SQL 1 - DDL  (0) 2022.04.25
    3. SQL 1 - Intro  (0) 2022.04.24
    2. 관계형 데이터 모델<하>  (0) 2022.04.24