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;
주의할 점
- 기존 컬럼명을 반드시 적어야 합니다.
- CHANGE COLUMN을 사용할 때는 기존 컬럼명을 명확히 써야 합니다.
- 데이터 타입을 변경할 때 기존 데이터와 호환성을 확인하세요.
- 예를 들어, VARCHAR(100)에서 INT로 변경하면 기존 문자열 데이터가 손실될 수 있습니다.
- 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 |
댓글