INSERT DELETE UPDATE

Jaemyeong Lee·2025년 3월 11일

🔹 INSERT - 데이터 삽입

-- [기본 문법]
INSERT INTO 테이블명 VALUES (1,2, ...);

📌 예시: salaries 테이블 구조

yearIDteamIDlgIDplayerIDsalary
2020'KOR''NL''rookiss'900000
INSERT INTO salaries
VALUES (2020, 'KOR', 'NL', 'rookiss', 900000);

✅ 테이블 정의와 값의 개수, 순서가 정확히 일치해야 함.

❗ 에러 예시: 값 누락 시

-- salary 빠짐 → 오류 발생
INSERT INTO salaries
VALUES (2020, 'KOR', 'NL', 'rookiss2');

🔄 열 지정 후 삽입 (추천 방식)

-- 열 순서를 바꿔도 문제없음
INSERT INTO salaries(yearID, teamID, playerID, lgID, salary)
VALUES (2020, 'KOR', 'rookiss3', 'NL', 800000);
-- 일부 열만 삽입 (salary 생략 → NULL 저장됨)
INSERT INTO salaries(yearID, teamID, playerID, lgID)
VALUES (2020, 'KOR', 'rookiss4', 'NL');

salary 열이 NULL 허용이므로 값 생략 가능
🔑 playerID, yearID, teamID, lgID는 Primary Key → 중복 금지


🔹 UPDATE - 데이터 수정

-- [기본 문법]
UPDATE 테이블명
SET1 =1,2 =2
WHERE 조건;

📌 예시

-- 'KOR' 팀 선수들의 연봉 2배, 연도 +1
UPDATE salaries
SET salary = salary * 2,
    yearID = yearID + 1
WHERE teamID = 'KOR';

WHERE 절 없으면 테이블 전체가 수정됨 → 주의!


🔹 DELETE - 데이터 삭제

-- [기본 문법]
DELETE FROM 테이블명
WHERE 조건;

📌 예시

-- 특정 playerID 삭제
DELETE FROM salaries
WHERE playerID = 'rookiss3';

-- 2020년 이후 연도 데이터 삭제
DELETE FROM salaries
WHERE yearID >= 2020;

WHERE 절 없으면 모든 행 삭제됨 → 반드시 조건 확인!


🔑 Primary Key 주의사항

  • salaries 테이블의 기본 키(Composite Primary Key)
    yearID + teamID + lgID + playerID
  • 이 4개 값이 완전히 같으면 중복 삽입 불가
-- 이미 있는 고유 키 조합으로 INSERT 시도 시 → 오류 발생
INSERT INTO salaries
VALUES (2020, 'KOR', 'NL', 'rookiss', 900000); -- ❌ 중복!

profile
李家네_공부방

0개의 댓글