2018 sql 워크샵

DH 교육용 위키
김현규 (토론 | 기여) 사용자의 2018년 8월 16일 (목) 16:16 판

이동: 둘러보기, 검색

데이터 수정(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 연기자.성별='여'