2018 sql 워크샵
DH 교육용 위키
목차
데이터 수정(Modify)
행(law 기준)
INSERT : 데이터 추가하기
INSERT INTO table (column1, column2, ...) VALUES ( value1, value2)
- INSERT INTO 인물 (식별자, 이름, 생년, 시대) VALUES ('이혜영', '이혜영', 1993, '현대')
- INSERT INTO 인물 (식별자, 이름, 생년, 시대) VALUES ('김현규', '김현규', 1989, '현대'), ('김선미','김선미', 1989, '현대')
DELETE : 데이터 삭제하기
DELETE FROM table_name WHERE condition
조건을 지정하지 않으면 모든 데이터가 삭제되니 주의할 것!
- DELETE FROM 인물 WHERE 식별자 = '이혜영'
- DELETE FROM 인물 WHERE 시대 = '현대'
열(column 기준)
UPDATE : 데이터 수정하기
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition
조건을 지정하지 않으면 한 칼럼의 데이터값이 모두 변경되니 주의할 것
- UPDATE 콘텐츠 SET 이름 = '나는 왕이로소이다' where 식별자 = '나는왕이로소이다'
- UPDATE 콘텐츠 SET 제작사 = null WHERE 제작사 = 'NULL'
- UPDATE 콘텐츠 SET 방송사 = null, 홈페이지 = null WHERE 방송사 = 'NULL' or 홈페이지 = 'NULL'
관련있는 테이블 함께 보기
WHERE 조건 활용하기
SELECT tableA.column, tableB.column FROM tableA,tableB WHERE tableA.column1 = tableB.column1
- 조선시대 인물들이 등장하는 콘텐츠(조선시대가 배경인 콘텐츠)
SELECT 캐릭터.콘텐츠 FROM 캐릭터, 인물 WHERE 인물.식별자=캐릭터.인물 and 인물.시대='조선시대' - 이혜영이 담당한 콘텐츠
SELECT 캐릭터.콘텐츠 FROM 캐릭터, 인물 WHERE 인물.식별자=캐릭터.인물 and 인물.담당자='이혜영' - Q)여자 배우가 등장하는 콘텐츠는? hint. '캐릭터', '연기자' 테이블 사용
JOIN(inner join/교집합) 구문 활용하기
SELECT tableA.column, tableB.column FROM tableA INNER JOIN tableB ON tableA.column1 = tableB.column1
- 조선시대 인물들이 등장하는 콘텐츠(조선시대가 배경인 콘텐츠)
SELECT 캐릭터.콘텐츠 FROM 캐릭터 INNER JOIN 인물 on 인물.식별자=캐릭터.인물 WHERE 인물.시대='조선시대' - 이혜영이 담당한 콘텐츠
SELECT 캐릭터.콘텐츠 FROM 캐릭터 INNER JOIN 인물 ON 인물.식별자=캐릭터.인물 WHERE 인물.담당자='이혜영' - Q)드라마 이산에 출연한 배우들의 이름과 태어난 년도(생년)는? hint. '캐릭터', '연기자' 테이블 사용
- 성별이 여자인 역사인물
SELECT 캐릭터.인물 FROM 캐릭터 INNER JOIN 인물 ON 인물.식별자=캐릭터.인물 join 연기자 on 연기자.식별자=캐릭터.연기자 WHERE 연기자.성별='여'