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 = 숫자