[BigQuery] 1. 데이터베이스 다루기: 2) 테이블 만들고 변경하기 (Create-Alter)

김주아·2024년 6월 29일
0

BigQuery

목록 보기
2/10
  • 테이블
    • 데이터베이스에서 데이터를 형태를 정해 모아놓은 저장 공간 → 행(로우)과 열(컬럼)로 이루어진 데이터표
  • 쿼리 작성시 주의할 점
    • 쿼리에서는 기능적으로는 대소문자 구분이 필요 없으나, 가독성을 위해 보통 키워드나 함수명은 대문자, 사용자가 정의한 이름에는 소문자를 사용한다는 규칙이 있음
  • 테이블 만들기

    • BigQuery 라는 데이터세트 내에 test라는 테이블 생성
    -- 테이블 생성
    CREATE TABLE BigQuery.test (
        user_id string
      , register_device int64
    );
  • 테이블 내 값 삽입

    -- 테이블 값 삽입
    INSERT INTO BigQuery.test
    VALUES
         ('U001',1)
          ,('U002',2)
          ,('U003',3);
  • 테이블 삭제

    DROP TABLE IF EXISTS BigQuery.test;
  • 테이블 이름 변경(테이블 다른 이름으로 복사 저장)

    • 주의할 점 테이블명을 적을 때 사용하는 기호: 백틱(`) (* 숫자 1옆에 있는 기호)과 작은 따옴표 (’)랑 헷갈리지 않도록 주의하기
    -- `BigQuery.test`테이블을 `BigQuery.test_new`라는 테이블로 명칭을 변경해서 저장
    CREATE OR REPLACE TABLE `BigQuery.test_new` AS 
    SELECT * FROM `BigQuery.test`;
  • 새로운 컬럼 추가하기

    -- 기존 test테이블에 age컬럼 추가
    ALTER TABLE `BigQuery.test`
    ADD COLUMN age int64;
    • 새로 추가한 컬럼에 값 추가하기
      -- age컬럼에 값 추가
      UPDATE `BigQuery.test`
      SET age= CASE
        WHEN user_id='U001' THEN 25
        WHEN user_id='U002' THEN 30
        WHEN user_id='U003' THEN 35
        ELSE age
      END
      WHERE user_id IN ('U001','U002','U003');
  • 컬럼 삭제하기

    ALTER TABLE `BigQuery.test`
    DROP COLUMN register_device2;
  • 기존 컬럼 타입 변경

    • 빅쿼리에서는 컬럼 타입을 직접적으로 변경하는 기능은 지원하지 않음.

      • 🍀 (참고) 기존 컬럼 이름과 타입 변경: 아래 단계의 3단계까지만 진행하면됨

        -- 1. 새로운 컬럼 추가
        ALTER TABLE `BigQuery.test` 
        ADD COLUMN user_id_new INT64;
        
        -- 2. 기존 컬럼의 데이터를 새로운 컬럼으로 복사
        UPDATE `BigQuery.test`
        SET user_id_new = CAST(user_id AS INT64)
        WHERE TRUE;
        
        -- 3. 기존 컬럼 삭제
        ALTER TABLE `BigQuery.test`
        DROP COLUMN user_id;
        
        -- 4. 새로운 컬럼의 이름 변경
        ALTER TABLE `BigQuery.test`
        RENAME COLUMN user_id_new TO user_id;
profile
정확한 분석과 설득력 있는 시각화를 통해 데이터의 가치를 극대화합니다.

0개의 댓글