MySQL_CRUD,JOIN

SG Jang·2021년 1월 19일
0

길잡이를 자바보자

목록 보기
1/12
post-thumbnail

이번 시간에는 "MySQL_CRUD,JOIN"에 대해 다뤄보겠습니다.


CRUD

컴퓨터 소프트웨어가 갖는 기본적인 데이터 처리 기능

  • Create(create, insert) - 생성
  • Read(select) - 읽기
  • Update(update, alter) - 갱신
  • Delete(delete, drop) - 삭제

create

  • 데이터베이스를 만든다.
    CREATE DATABASE 데베이름 default CHARACTER SET UTF8mb4
  • 테이블을 만든다.
    CREATE TABLE 테이블이름 (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(문자열크기) NOT NULL,
    ...
    )

insert

  • 테이블에 데이터를 삽입한다.
    INSERT INTO 테이블이름 VALUES (value1, value2, value3,...)
    INSERT INTO teacher VALUES ('국어', '홍길동', '남자', 25);

  • 테이블에 컬럼에 해당하는 데이터를 삽입한다.
    INSERT INTO 테이블이름 (column1, column2, column3,...) VALUES (value1, value2, value3,...)
    INSERT INTO teacher ('subject', 'name', 'sex', 'age') VALUES ('국어', '홍길동', '남자', 25);

  • 테이블에 다수의 데이터를 삽입한다.
    INSERT INTO teacher ('subject', 'name', 'sex', 'age') VALUES
    ('국어', '홍길동', '남자', 25),
    ...
    ('영어', '김무개', '여자', 27);

select

  • 모든필드조회
    SELECT* FROM 테이블명;
  • 특정필드조회
    SELECT 필드명 FROM 테이블명;
  • 필드 여러 개 조회
    SELECT 필드명1,필드명2,... FROM 테이블명;
  • 조건에 맞는 필드 조회
    SELECT 필드명 FROM 테이블명 WHERE 조건식;
  • 필드를 정렬해서 조회
    SELECT 필드명 FROM 테이블명 ORDER BY 정렬기준필드;

update

  • UPDATE 테이블명 SET 컬럼1=컬럼1의 값, 컬럼2=컬럼2의 값 WHERE 대상이 될 컬럼명=컬럼의 값
    UPDATE student SET address='판교';
    UPDATE student SET name='이준석' WHERE id=1;
    UPDATE student SET name='이중석', birthday='2000-1-1' WHERE id=3;

alter

  • 컬럼 추가
    ALTER TABLE 테이블명 ADD COLUMN 추가할컬럼명 데이터타입 NOT NULL;
  • 컬럼 삭제
    ALTER TABLE 테이블명 DROP COLUMN 삭제할컬럼명;
  • 컬럼 변경
    ALTER TABLE 테이블명 MODIFY COLUMN 수정할컬럼명 데이터타입 NULL;
  • 컬럼 이름 변경
    ALTER TABLE 테이블명 CHANGE COLUMN 현재컬럼명 바꿀컬럼명 데이터타입 NULL;
  • 테이블 이름 변경
    ALTER TABLE 현재테이블명 RENAME 바꿀테이블명;

delete

  • 테이블에서 조건에 맞는 데이터를 삭제한다.
    DELETE FROM 테이블명 WHERE 조건;
    DELETE FROM teacher WHERE subject = '국어';

drop

  • 테이블을 삭제한다.
    DROP TABLE 테이블명;
  • 데이터베이스를 삭제한다.
    DROP DATABASE 데이터베이스명;

JOIN

데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여 하나의 테이블이나 결과 집합으로 표현

  • Inner Join
  • Outer Join (Left Join, Right Join)

Join의 개념을 이해하기 위해서는 위와 같은 벤다이어그램을 통해 이해하는 것이 좋습니다. 위 그림을 고등학교 수학시간에 배웠던 집합의 개념으로 설명하자면 아래와 같습니다.
1. A 교 B
2. A - B + (A 교 B)
3. B - A + (A 교 B)
4. A - B
5. B - A

아래처럼 두 개의 테이블이 있다고 가정해봅시다.

위 두 테이블을 앞선 벤다이어그램의 형태로 나타내기 위한 코드는 아래와 같습니다.

1. A 교 B
- select*from teacher t inner join book b on t.subject = b.subject;

2. A - B + (A 교 B)
- select*from book b right join teacher t on t.subject = b.subject;
- select*from teacher t left join book b on t.subject = b.subject;

3. B - A + (A 교 B)
- select*from teacher t right join book b on t.subject = b.subject;
- select*from book b left join teacher t on t.subject = b.subject;

4. A - B
- select*from book b right join teacher t on t.subject = 
b.subject where b.subject is null;
- select*from teacher t left join book b on t.subject = 
b.subject where b.subject is null;

5. B - A
- select*from teacher t right join book b on t.subject = 
b.subject where t.subject is null;
- select*from book b left join teacher t on t.subject = 
b.subject where t.subject is null;

참고자료

0개의 댓글