이 글은 "TCPschool/코딩과 데이터/MySQL"을 읽고 주관적으로 작성된 글입니다.
https://tcpschool.com/mysql/intro
1. INSERT
- INSERT INTO VALUES문을 사용하여 테이블에 새로운 레코드 추가
# 필드이름 포함
INSERT INTO 테이블이름(필드이름1, 필드이름2, ...)
VALUES (데이터값1, 데이터값2, ...)
# 필드이름 제외
INSERT INTO 테이블이름
VALUES (데이터값1, 데이터값2, ...)
- 필드이름이 생략되면 스키마와 같은 순서대로 필드값 대입
- 즉, 모든 필드 이름을 다 적을 필요가 없음
- 생략할 수 있는 필드
- NULL 저장 가능 필드
- DEFAULT 제약 조건 설정 필드
- AUTO_INCREMENT 키워드 설정 필드
- 예제
INSERT INTO Reservation(ID, Name, ReserveDate, RoomNum)
VALUES(5, '이순신', '2016-02-16', 1108);
2. UPDATE
- UPDATE SET WHERE문으로 레코드 내용 수정
UPDATE 테이블이름
SET 필드이름1=데이터값1, 필드이름2=데이터값2, ...
WHERE 필드 이름 = 데이터값
- WHERE절의 조건을 만족하는 레코드만 수정
- 예제
UPDATE Reservation
SET RoomNum = 2002
WHERE Name = '홍길동';
- Reservation 테이블의 Name 필드가 '홍길동'인 RoomNum 필드의 값을 2002로 수정
3. DELETE
- DELETE FROM WHERE 문으로 테이블의 레코드 삭제
DELETE FROM 테이블이름
WHERE 필드이름=데이터값
- WHERE절의 조건을 만족하는 레코드만 삭제
- WHERE절이 생략되면, 테이블의 모든 데이터 삭제
- 예제
DELETE FROM Reservation
WHERE Name = '홍길동';
4. SELECT
1) SELECT
- SELECT FROM WHERE 문으로 테이블의 레코드 선택
SELECT [DISTINCT] 필드이름
FROM 테이블이름
[WHERE 조건]
1) 테이블의 모든 필드
SELECT *
FROM 테이블이름
2) 특정 조건의 레코드
- [예시] 1개의 조건
SELECT *
FROM Reservation
WHERE Name = '홍길동';
- [예시] 2개 이상의 조건
SELECT *
FROM Reservation
WHERE ID <= 3 AND ReserveDate > '2016-02-01';
- [예시] 필드값 중복 레코드 제거 (DISTINCT)
SELECT DISTINCT Name
FROM Reservation;
- [예시] 오름차순 / 내림차순 정렬
- ORDER BY BINARY BINARY : 대소문자 구분 정렬
-- 오름차순
SELECT *
FROM Reservation
ORDER BY ReserveData;
-- 내림차순
SELECT *
FROM Reservation
ORDER BY ReserveData DESC;
- [예시] 정렬한 뒤 정렬
-- ReserveDate로 내림차순한 결과를, RoonNum으로 오름차순
SELECT *
FROM Reservation
ORDER BY ReserveDate DESC, RoomNum ASC;
- 별칭(AS)
-- 필드에 별칭 부여
SELECT 필드이름 AS 별칭
FROM 테이블이름;
-- 테이블에 별칭 부여
SELECT 필드이름
FROM 테이블이름 AS 별칭;
- 별칭으로 필드 생성 (feat. CONCAT함수)
- CONCAT : 인수의 문자열을 모두 결합하여 하나의 문자로 만듦
SELECT ReserveDate, CONCAT(RoomNum, " : ", Name) AS ReserveInfo
FROM Reservation;
ReserveDate | ReserveInfo |
2016-01-05 | 2014 : 홍길동 |
2016-02-12 | 918 : 임꺽정 |
2016-01-16 | 1208 : 장길산 |
2016-03-17 | 504 : 홍길동 |
'CS > MySQL' 카테고리의 다른 글
[프로그래머스][SQL][SELECT] 모든 레코드 조회하기 (0) | 2021.08.06 |
---|---|
[TCPschool][4장] 연산자와 함수 (0) | 2021.08.06 |
[TCPschool][3장] 타입 (0) | 2021.08.04 |
[TCPschool][2장] MySQL 문법 (1/2) (0) | 2021.07.28 |
[TCPschool][1장] MySQL 시작 (0) | 2021.07.24 |