HANCOM AI ACAMEMY/수업 및 플젝

SQL : 3월 21일

c'est sunny 2025. 3. 21.

MYSQL

CHANGE 사용해서 컬럼명과 변수형 바꾸는 법

CHANGE COLUMN 문법

ALTER TABLE 테이블명 
CHANGE COLUMN 기존컬럼명 새로운컬럼명 새로운데이터타입;

예제 1: 컬럼명과 데이터 타입 변경

예를 들어, employees 테이블에서 name 컬럼을 full_name으로 변경하고, 데이터 타입을 VARCHAR(200)으로 바꾼다고 하면:

ALTER TABLE employees 
CHANGE COLUMN name full_name VARCHAR(200);

예제 2: 컬럼명, 데이터 타입, 기본값 변경

만약 salary 컬럼을 monthly_salary로 변경하고, 데이터 타입을 DECIMAL(12,2)로 바꾸며, 기본값을 3000.00으로 설정하려면:

ALTER TABLE employees 
CHANGE COLUMN salary monthly_salary DECIMAL(12,2) DEFAULT 3000.00;

 

예제 3: NOT NULL 추가

기존 department_id 컬럼을 dept_id로 바꾸면서 NOT NULL 제약 조건을 추가하려면:

ALTER TABLE employees 
CHANGE COLUMN department_id dept_id VARCHAR(10) NOT NULL;

예제 4: 여러 개의 컬럼 변경

한 번에 여러 개의 컬럼을 변경할 수도 있습니다.

ALTER TABLE employees 
CHANGE COLUMN name full_name VARCHAR(200), 
CHANGE COLUMN salary monthly_salary DECIMAL(12,2) NOT NULL;

주의할 점

  1. 기존 컬럼명을 반드시 적어야 합니다.
    • CHANGE COLUMN을 사용할 때는 기존 컬럼명을 명확히 써야 합니다.
  2. 데이터 타입을 변경할 때 기존 데이터와 호환성을 확인하세요.
    • 예를 들어, VARCHAR(100)에서 INT로 변경하면 기존 문자열 데이터가 손실될 수 있습니다.
  3. DEFAULT 값이 필요하면 명시적으로 지정하세요.
    • DEFAULT 값을 지정하지 않으면 기본적으로 NULL이 허용됩니다.

 

COUNT(*)와 COUNT(컬럼명)의 차이

COUNT(컬럼명)을 사용하면 NULL 값은 제외하고 개수를 세게 돼.


✅ 예제 테이블 (students)

student_id name grade

1 철수 A
2 영희 B
3 민수 A
4 지훈 NULL
5 수진 B
6 은지 A

1. COUNT(*) (전체 행 개수)

SELECT COUNT(*) FROM students;

🔹 결과: 6
(모든 행을 다 세기 때문에 NULL 값이 있어도 포함됨)


2. COUNT(grade) (NULL 제외)

SELECT COUNT(grade) FROM students;

🔹 결과: 5
(NULL 값이 있는 지훈의 행은 제외됨)


3. COUNT(컬럼명)을 GROUP BY와 같이 사용하면?

SELECT grade, COUNT(grade) FROM students GROUP BY grade;

🔹 결과:

grade COUNT(grade)

A 3
B 2

🚨 NULL 값이 있는 지훈은 그룹에 포함되지 않음.

 

'HANCOM AI ACAMEMY > 수업 및 플젝' 카테고리의 다른 글

Node.js : 3월 31일  (0) 2025.03.31
SQL : 3월 24일  (0) 2025.03.24
SQL : 3월 20일  (0) 2025.03.20
React Native : Expo에서 환경변수  (0) 2025.03.13
React Native : API 요청  (0) 2025.03.12

댓글