본문 바로가기
  • think normal
새로워지기/서른의 생활코딩

7일차)데이터베이스를 생성,수정 복제한다 20170607_pm

by 청춘만화 2018. 6. 7.



--180607


-- 아스트리크(모든 컬럼)을 가져온다

select * from lprod;


    --(열 필터링 - 지정한 컬럼을 가져온다

select  lprod_gu,

        lprod_nm,

        ascii(lprod_gu) aci

FROM    lprod;


    --(WHERE로 행 필터링 후,  컬럼을 가져온다

select  lprod_gu,

        lprod_nm

FROM    lprod

WHERE   lprod_gu < 'P401';   --문자열도 ' 로 표현, 데이터는 대소문자를 가린다 (P < p)



   --(WHERE로 행 필터링 후,  컬럼을 가져온다

select  lprod_gu,

        lprod_nm

FROM    lprod

WHERE   lprod_nm = '전자제품';  --문자열도 ' 로 표현



    -- 문제01) id가 3인 row를 선택하시오

select  lprod_gu,

        LPROD_NM,

        lprod_id--검색 범위 컬럼자리

from    lprod   --테이블자리

where   lprod_id = '3'; --검색 컬럼 및 그에 대한 구체적인 속성 값



    -- 문제02) id가 3인 row, 행, 튜플,레코드 를 선택하시오

    -- '어느 테이블' 의 컬럼인지 확인 -> ERD 에서

    select   lprod_id,

             lprod_gu,

             lprod_nm

    from    lprod

    where   lprod = 3;  -- desc를 통해 number 확인 -> ''를 뺀고 숫자만 입력

            --숫자lprod = 문자'3' 이어도 자동 형변환 한다. 그 다은 비교 후 같은 걸 찾는다

    desc lprod;

    

    

    --문제3) 

   -- mem_id, mem_name, mem_mileagr 컬럼을 모두 출력

   -- mem_id가 'a001'인 row를 select

    SELECT   mem_id, 

             mem_name, 

             mem_mileage

    from MEMBER

    where    mem_id ='a001';--where는 행을 필터링한다 

    


    --업데이트 전에 사전 검증 필요!

    select *

    from    lprod

    where   lprod_gu='P102';

    --전자제품을 향수로 교체

    

    --업데이트 쎄데어

    update lprod

    set    lprod_nm='향수'

    where   lprod_gu='P102';



select * from lprod;



--트랜젝션 종료, 마지막 커밋 시점으로 돌아감

rollback;


        

        --lprod 테이블을 복사해서 lprod2를 생성. 

        --단 기본키 외래키는 복제 안됨 

        create table lprod2

        as

        select * from lprod;



--문제_

--lprod2 테이블의 lprod_gu가 P202인 lprod2_nm을 

--남성 캐쥬얼 에서 도서류로 업데이트 하시오.

select *            --1검증(자료확인)

from   lprod2;

    

    select *                    --1사전검증

    from lprod2

    where lprod_gu = 'P202';

    

        update lprod2           --2업데이트

        set    lprod_nm='도서류'

        where lprod_gu = 'P202';--앞에서 검증된 line을 그대로 가져다 쓴다!!

        

            select *                    --3확인

            from lprod2

            where lprod_gu = 'P202';



--문제_

--lprod2 테이블의 lprod_id가 7인 lprod_gu을  

--'P401'에서 'P303'으로 update하시오

select *            --1검증(자료확인)

from   lprod2;

    

    select *                                --1검증(자료확인)

    from   lprod2

    where lprod_id = 7;

    

        update lprod2 --대상 테이블 찾기      --2업데이트

        set    lprod_gu ='P303' --아까 테이블 복사할때,, 안에 이름은 그대로...

        where   lprod_id = 7;

        

            select *                -- 가져오는 것    --3업데이트 내용확인 

            from   lprod2           -- ~로부터, ~가

            where lprod_id = 7;     -- 조건




--문제_

--lprod2 테이블에서 lprod_nm이 '화장품'인 데이터를 '테스트'로 수정하고, lprod_id를 10으로 수정하기

--[힌트] set 컬럼명 = '수정데이터', 컬럼명2 = '수정데이터2',

select *

from LPROD2;


    select *

    from LPROD2

    where lprod_nm ='화장품';

    

        update LPROD2

        set lprod_nm ='테스트', lprod_id = 10

        where lprod_nm ='화장품'; --검증된 데이터는 그대로!

        

            select *

            from LPROD2

            where lprod_nm ='테스트';




--lprod2 테이블에서 lprod_nm이 '화장품'인 데이터(row)를 삭제하시오 

select *

from LPROD2

where lprod_nm ='화장품';


    delete from lprod2 --등푸른 생선 주세요 // update는 from이 없다 - 업셋

    where lprod_nm = '화장품';

    

        select * from LPROD2;


--TCL transaction control lang 데이터베이스를 '수정'하기위해 수행되어야 할 논리적인 단위

rollback;






--고정길이, 가변길이

--cahr(6)  'a'  where 

select *

from test;


select *

from test

where col1 ='a';     --과거에는 char를 부를 때 'a   '로 넣었다

                     -- 그래서 기본키엔 char(4)를 잘 안쓴다 

                     -- 기본키 자료형은 웬만하면 varchar2를 쓴다

                     -- 단, 자리수가 정해져 있는, 주민번호 학번은 예외 



--상품 테이블로부터 모든  row와 column을 검색하시오

--1)erd에서 상품 테이블 찾기 //ctrl 위 아래 하면서 찾는다 

select * from PROD;


--회원테이블로부터 모든  row와 column을 검색하시오

select * from member;


--장바구니 테이블로부터 모든  row와 column을 검색하시오

select * from cart;



--문제_

--바이어테이블은 바이어테이블2로 복사

        --buyer 테이블을 복사해서 buyer2 생성. 

        --단 기본키 외래키는 복제 안됨 



        create table buyer2

        as

        select * from buyer;



데이터베이스모델링 절차요약 20180602 chanwoo.xlsx

수업_1표준단어.xls

수업_2용어사전.xls

수업_3자료사전.xlsx


댓글