GUI 명령어는 Crtl + Shift + Enter
를 통해 실행시킬 수 있습니다.
GUI 환경 : MySQL Workbench
CLI 환경 : MySQL Console
SELECT [필드명] FROM [테이블]
: 모든 필드
를 출력하고 싶을 때는 필드명에 *
을 쓰면 된다.
특정 조건
에 해당하는 레코드만 출력할 때 사용한다.
SELECT * FROM [테이블] WHERE 조건 1 AND/OR 조건 2..
숫자 + 숫자 : 숫자 -> 123 + 45 = 168
문자 + 숫자 : 숫자
-> "STUDY" + 123 = 123
SELECT [필드명] AS[별칭] FROM TABLE
: 필드 이름을 별칭으로 변경하는 명령어
특정 필드를 정렬한다.
오름차순 : SELECT [필드명] FROM [테이블명] ORDER BY [정렬 조건 필드명]
;
내림차순 : SELECT [필드명] FROM [테이블명] ORDER BY [정렬 조건 필드명] DESC
;
실제 전체 데이터를 가져오는 *
를 사용하지는 않습니다. 왜냐하면, 실제 데이터는 매우 용량이 크기 때문입니다. 따라서, 저희는 성능상
의 문제로 원하는 만큼의 데이터를 가지고 와야합니다.
SELECT [필드명] FROM [테이블명] LIMIT [가져올 개수 N]
: 처음부터 원하는 데이터 N개 가져오기
SELECT [필드명] FROM [테이블명] LIMIT [건너뛸 개수 N] [가져올 개수 M]
: N개 건너띄고 M개 가져오기
DB 백업
: 백업하고자 하는 스키마를 해당 경로
에 저장합니다.
DB 복구
: 저장했던 경로
에서 불러오기
CRUD : CREATE + READ + UPDATE + DELETE
INSERT INTO [테이블명] VALUES
: 테이블의 특정 값 추가하기
SELECT [필드명] FROM [테이블명] [조건]
: READ는 많이 사용해봤으므로 생략
UPDATE [테이블명] SET [필드명 = 값] [조건]
: 조건에 맞는 필드명을 원하는 값을 바꿀 때 사용
조건을 입력하지 않으면 전체가 변경되는 위험한 사태를
safety mode
가 지켜주긴 한다.DELETE
DELETE FROM [테이블명] [조건]
: 조건에 맞는 RECORDS가 삭제된다.
GUI로 DELETE 하기
조건을 비워두게 되면
*
가 DEFAULT이기 때문에 전체 데이터를 가져오기 때문에 주의해야 한다.
MySQL은 RDMS
로 관계형이며, 지금까지 JOIN을 통해 관계형 DB가 사용된 것이라고 해도 무방할 만큼 JOIN은 중요하다!
JOIN : 기존 테이블을 분해
하고, 다른 분해된 테이블과 결합
하고 가상의 새 표로 만들고, 두 표간의 관계를 형성
하는 명령어
중복, 빈칸, 데이터의 다양화 등의 문제를 해결하는 방법이 테이블을 쪼개 합치는 것
이다.
Primary key(주키,PK
) 와 Foreign Key(보조키, FK
)를 통해 두 테이블을 결합한다.
사용할 테이블들
테이블과 필드명을 같이 써주는 이유는 타 테이블과의 필드명 중복
이 있기 때문이다.
주키(PK)와 보조키(FK)을 기준으로 결합한다.