MySQL
CREATE, INSERT, UPDATE, DELETE, ALTER
neal89
2025. 4. 3. 01:51
✅ 1. CREATE TABLE (테이블 생성)
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255),
age INT DEFAULT 0
);
🔹 자주 사용하는 옵션 설명
옵션 설명
NOT NULL | NULL 값을 허용하지 않음 |
AUTO_INCREMENT | 숫자가 자동으로 1씩 증가함 (주로 PK에 사용) |
PRIMARY KEY | 기본 키로 지정 (중복 불가, NOT NULL 필요) |
DEFAULT | 기본값 설정 |
💡 AUTO_INCREMENT는 반드시 PRIMARY KEY와 함께 사용해야 함
✅ 2. INSERT (데이터 삽입)
-- 단일 행 삽입
INSERT INTO users (name, age) VALUES ('Teo', 35);
-- 서브쿼리로 여러 행 삽입
INSERT INTO backup_users (name, age)
SELECT name, age FROM users WHERE age >= 30;
✅ 3. AUTO_INCREMENT 설정 변경
-- 자동 증가 시작값 변경 (다음 INSERT부터 적용)
ALTER TABLE users AUTO_INCREMENT = 1000;
-- 자동 증가 간격 변경 (기본은 1)
SET @@auto_increment_increment = 5;
💡 AUTO_INCREMENT는 주로 id 컬럼에 사용됩니다. 시작값은 테이블 단위, 증가 간격은 세션/전역 설정입니다.
✅ 4. UPDATE (데이터 수정)
UPDATE users
SET age = 36
WHERE name = 'Teo';
🔒 WHERE절을 빠뜨리면 전체 데이터가 수정되니 주의하세요!
✅ 5. DELETE (데이터 삭제)
DELETE FROM users WHERE age < 20;
⚠️ DELETE FROM users;는 전체 삭제입니다. WHERE 절을 꼭 확인하세요.
✅ 6. ALTER TABLE (테이블 구조 변경)
🔹 컬럼명 변경
-- MySQL 8.0 이상
ALTER TABLE users RENAME COLUMN old_name TO new_name;
-- MySQL 전 버전 (자료형 명시 필요)
ALTER TABLE users CHANGE old_name new_name VARCHAR(100);
🔹 컬럼 추가/삭제
-- 컬럼 추가
ALTER TABLE users ADD email VARCHAR(255);
-- 컬럼 삭제
ALTER TABLE users DROP COLUMN email;
🔹 AUTO_INCREMENT 초기값 변경
ALTER TABLE users AUTO_INCREMENT = 100;
✅ 정리 요약표
테이블 생성 | CREATE TABLE ... (컬럼 정의) |
행 추가 | INSERT INTO ... VALUES 또는 INSERT INTO ... SELECT |
행 수정 | UPDATE ... SET ... WHERE |
행 삭제 | DELETE FROM ... WHERE |
컬럼명 변경 | ALTER TABLE ... RENAME COLUMN ... TO ... 또는 CHANGE |
컬럼 추가/삭제 | ALTER TABLE ... ADD / DROP COLUMN ... |
자동 증가 시작값 | ALTER TABLE ... AUTO_INCREMENT = 숫자 |
자동 증가 간격 | SET @@auto_increment_increment = 숫자 |