SQL : DataType, Database, UPDATE/ALTER

정민·2024년 1월 16일

SQL

목록 보기
2/16



🍀 1. DataType


🌱 1.1 문자형

  • 여기에서는 encoding type utf8을 사용할 예정
  • Encoding : 문자를 컴퓨터가 이해할 수 있는 신호로 만드는 것
  • Utf8에서 영어, 공백은 1byte, 한글은 한 글자당 3byte

🌱1.2 숫자형

  • TINYINT SIGNED(생략가능) -128~127
  • TINYINT UNSIGNED 0~255

  • DECIMAL은 최대 65자리까지 지원

🌱1.3 날짜형



🍀 2. Database/Table


🌱 2.1 Database

HEIDISQL 실행

  • Database는 데이터를 저장하는 저장소
  • 여러 Database를 만드는 이유는 데이터를 백업하는 용도로도 만들 수 있고, 데이터를 특정인원들은 A데이터베이스에 접근하고, 다른 특정인원들은 B데이터베이스에 접근하는 등 접근 권한을 쉽게 나누기 위해.

  • 조합 : Utf8mb4_general_ci 로 변경(한국어를 다루기 위해)
  • test라는 DB가 Unnamed 계정안에 생성됨
  • 삭제 시, test라는 DB 마우스 우클릭 후 삭제 (DROP DATABASE 'TEST'; 와 같음)

🌱 2.2 Table

CREATE TABLE

CREATE TABLE customers(
customer_number INT,
customer_name VARCHAR(50),
phone VARCHAR(50)
);

ctrl + shift + F9 : 실행

실행결과

CREATE TABLE customers2(
customer_number INT NOT NULL,
customer_name VARCHAR(50) NOT NULL,
phone VARCHAR(50) NOT NULL
);

예) 특정 주식이라고 한다면, 어제 종가 가격 8만원이라는 데이터가 들어가야 하는데 아무 것도 안들어 가있다. 그럼 이는 주식의 가격은 빈칸일 수 없다 라며 오류 발생. (NULL 허용하지 않음)


🌱 2.3 INSERT


방금 전 customers, customers2 쿼리를 만들었다.
현재는 빈 테이블. 뼈대만 구축
이제 데이터를 집어넣을려고 하는데 사용하는 쿼리가 INSERT INTO

insert INTO customers
   (customer_number, customer_name, phone)
VALUES
   (1,'이상훈','010-1234-5678'),
   (2,'김상훈','010-1234-5678'),
   (3,'박상훈','010-1234-5678')
;


🌱 2.4 DELETE/TRUNCATE

  • 둘 다 테이블을 지우는 쿼리
  • DELETE : 데이터 삭제
  • TRUNCATE : 테이블 초기화
  • DELETE FROM '테이블이름' where~
  • DELETE 구문에서 where문을 생략하면 모든 데이터 삭제
  • 두 개의 쿼리는 사용안 할 가능성이 높음. 보통 테이블을 만드는 분들이 따로 있어서 데이터분석 직무는 사용하지 않음. 있다 정도로만 알고 넘어갈 것.



🍀 3. UPDATE/ALTER


🌱 3.1 UPDATE

  • UPDATE도 데이터 분석 직무는 사실 많이는 쓰지 않음.
  • 이미 존재하는 TABLE의 내용을 수정하는 구문

🌱 3.2 ALTER

  • UPDATE가 TABLE의 내용을 수정한다면, ALTER는 TABLE의 내용 외적인 부분을 변경
  • TABLE의 이름변경, 컬럼추가, 컬럼이름 변경, 데이터 타입 변경, 컬럼 삭제 (뼈대 변경)
ALTER TABLE customers rename newcustomers;

ALTER TABLE newcustomers ADD 지역 VARCHAR(50);

ALTER TABLE newcustomers MODIFY 지역 INT; #지역의 데이터 타입 변경

ALTER TABLE newcustomers CHANGE 지역 REGION VARCHAR(10);
#ALTER TABLE '테이블명' CHANGE '기존컬럼명' '새컬럼명' 데이터타입
#기존컬럼을 컬럼명과 데이터타입도 바꿈
ALTER TABLE newcustomers DROP REGION; #컬럼 삭제
profile
데이터 공부하는 예비 데이터 분석가, 김정민입니다.

0개의 댓글