테이블 만들기
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;