query-7(대용량데이터, 수정, 삭제, 조건부 입력).sql

    select *
    	from employees.employees;
    
    use sqldb;
    
    drop table if exists test4;
    create table test4 (
    	id int,
        fname varchar(20),
        lname varchar(20)
    );
    
    -- test4에 대용량 데이터를 바로 입력.
    insert into test4
    	select emp_no, first_name, last_name
    		from employees.employees;
    
    select *
    from test4;
            
    -- 테이블을 만들면서 바로 select를 이용할수 있음 (test5)
    drop table if exists test5;
    create table test5(
    	select emp_no, first_name, last_name
        from employees.employees
    );
    
    select *
    from test5;
    
    -- update 구문
    -- update ... set ... where 형태로 사용
    -- 만약 where(조건절)가 없다면, 모든 데이터를 수정해버림. 주의필요함.
    
    -- update를 할때는 먼저 수정할 대상을 select문으로 확인하고 실행해야 안전함.
    
    select *
    from test4
    where fname = 'kyoichi';
        
    update test4
    set lname='없음'
    where fname = 'kyoichi';
                   
    -- 전체를 대상으로 update를 하는 경우도 있다.
    -- 제품의 단가가 올린다던지, 월급이 5%인상 된다던지 등등
    -- where 절이 필요 없음.
    
    desc buy;
    
    select *
    from buy;
            
    update buy
    set price = price*1.5;
    
    -- delete 문에서도 역시 where가 없다면 모든 데이터를 다 지우게 됨.
    -- where절을 반드시 넣도록 함.
    select *
    from test4
    where fname = 'Aamer'; 
    
    delete from test4
    where fname = 'Aamer';
    
    # 대용량 데이터 불러오기하고 삭제
    create table big1 (
    	select *
        from employees.employees
    );
    create table big2 (
    	select *
        from employees.employees
    );
    create table big3 (
    	select *
        from employees.employees
    );
    
    -- 아래와 같이 데이터를 지우는 3가지 방법이 있음.
    -- 속도적인 면을 살펴보면 drop -> trancate -> delete순
    -- 으로 빠름.
    -- delete구문은 트렌잭션으로 인하여 지우기 때문에 느릴수 밖에 없다.
    -- ==>테이블과 함깨 데이터를 다 지우고 싶다면 drop을 권하고
    -- 테이블 구조는 남아있게 할려면 truncate(DDL)구문 쓰기를 권장함.
    # 제일 빠름
    drop table big1;
    
    # 트랜젝션 단위로 삭제가 되어 실행이 느림
    delete from big2;
    
    # DDL
    truncate table big3;
    
    select *
    from big1;
    select *
    from big2;
    select *
    from big3;
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading