DML (Data Maniplation Language)
DML
  - 테이블의 데이터를 조작하는 기능
- 테이블의 레코드를 CRUD(Create, Retrieve, Update, Delete)
    - ABCD( add, browse, change, delete) 이라고도 함.
  - INSERT, DELETE, UPDATE, SELECT (SQL)
데이터 직접 삽입
    INSERT INTO 테이블이름 [(속성들)] VALUES (속성값들)
INSERT INTO CUSTOMER VALUES ('strawberry','최유경',30,'vip','공무원',100);

INSERT INTO CUSTOMER (cusid,cusName,grade) 
VALUES ('watermelon','이순신','vvip');
COMMIT;

  - INSERT INTO 테이블이름 [(속성용)]
- VALUES (속성값들)
데이터 수정
    UPDATE 테이블이름 SET 속성이름 1 = 값1, 속성이름 2 = 값2,
    [WHERE 조건]
    UPDATE ORDERSERVICE  SET count =5 WHERE ORDERID  IN   
    (SELECT cusid FROM CUSTOMER WHERE cusname ='정소화');

데이터 삭제
    delete from 테이블이름 where [조건];
    DELETE FROM ORDERSERVICE 
    WHERE ORDERid IN (SELECT cusid FROM CUSTOMER WHERE cusname ='정소화');
SELECT
기본 검색
    SELECT [ALL | DISTINCT] 속성들
    FROM 테이블(들);
  - ALL : 투플의 중복을 허용하도록 지정
- DISTINCT : 투플의 중복을 허용하지 않도록 지정
    select cusid, cusName,grade from customer;

  - AS 키워드를 이용해 결과 테이블에서 속성의 이름을 바꾸어서 출력 가능
    
  
    select itemname, price as(생략 가능) 가격
    from item;

산술식을 이용해 검색
  - 속성의 이름과 +,-,*,/ 등의 산술 연산자와 상수로 구성
- 속성의 값이 실제로 변경되는 것은 아님
    select itemname, price + 500 as 조정단가
    from item;

조건 검색
    SELECT [ALL | DISTINCT] 속성들
    FROM 테이블(들)
    [WHERE 조건];
    select itemname as 제품명, remain as 재고량, price as 단가 
    from item
    where factory = '오뚜기';

  - WHERE 절에 비교 연산자, 논리 연산자를 이용한 검색 조건 제시
비교연산자
논리연산자
LIKE 를 이용한 검색
  - 부분적으로 일치하는 데이터를 검색
- 문자열을 이용하는 조건에만 LIKE 키워드 사용 가능
- 함께 사용할수 있는 기호
    
      - % : 0개이상의 문자( 문자의 내용과 개수는 상관 없음)
- _ : 1개의 문자 (문자의 내용은 상관 없음)
 
    LIKE '이젠%' : '이젠'으로 시작하는 문자열 ('이젠'으로 시작하기만   
                하면 길이는 상관 없음) 
    LIKE '%이젠' : '이젠'으로 끝나는 문자열 ('이젠'으로 끝나기만 하면 길이는    
               상관 없음) 
    LIKE '%이젠%' : '이젠'이 포함된 문자열
    LIKE '이젠___'(3칸) : '이젠'으로 시작하는 5자 길이의 문자열
    LIKE '__이%'(2칸) : 3번째 글자가 '이'인 문자열
    SELECT cusname 고객이름, cusage 나이, grade 등급, point 적립금
    FROM CUSTOMER
    where cusname like '김%';

NULL을 이용한 검색
  - null은 empty가 아닌 unknown
- is null 키워드를 이용해 특정 속성의 값이 널 값인지를 비교
- is not null 키워드를 이용해 특정 속의 값이 널 값이 아닌지를 비교
- 검색 조건에서 널 값은 다른 값과 크기를 비교하면 결과가 모두 거짓이 됨.
    select cusname 고객이름
    from customer
    where cusage is null;

    select cusname 고객이름
    from customer
    where cusage is not null;

  - null값과 산술 연산 및 비교연산 결과는 null
     5 + null   returns null
    null > 5    returns null
    null = null returns null
null과 논리 연산 결과
- OR : ( null OR true ) = true
       ( null OR false) = null
       ( null OR null ) = null
- AND :(null AND true ) = null
       (null AND false) = false
       (null AND null ) = null
- NOT :(NOT null)       = null    
 
    
      
    
  
댓글남기기