Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 재테크
- 영어회화
- 국내여행
- TOP N 쿼리
- 주식
- 카페추천
- 카페
- 난곡카페
- 나는 1만 원으로 부동산 한다
- 제주여행
- 일빵빵영어회화
- 정채진
- 제주도여행
- 결혼준비
- 독후감
- 일빵빵
- sql
- 제주도
- 치아교정
- 투자
- 부동산
- 책리뷰
- 제주
- 프렌즈
- NON EQUI JOIN
- 매봉카페
- 미드
- 과배란주사
- 신대방카페
- sqld
Archives
- Today
- Total
체다의 기록
[SQLD] 2과목: SQL 기본 및 활용 - Chapter1. SQL 기본 - (3) DML (Data Manipulation Language) 본문
STUDY
[SQLD] 2과목: SQL 기본 및 활용 - Chapter1. SQL 기본 - (3) DML (Data Manipulation Language)
체다오니 2022. 10. 23. 23:31- DML
- 호스트 프로그램 속에 삽입되어 사용 -> 데이터 부속어 (Data Sub Language)라고도 함
- Procedural DML (절차적 데이터 조작어) : 초급언어니까 다 알려줘야 함
- 사용자가 무슨 데이터 (what) 원하고 어떻게 (how) 접근해 처리할 것인지 명시해야 함
- Nonprocedural DML (비절차적 데이터 조작어) : 고급언어니까 어떻게 하는지 알려줄 필요 x
- 사용자가 무슨 데이터 (what) 원하는지만 명세하고 어떻게 (how) 접근할 것인지는 x
- 사용자가 원하는 데이터만 선언하기 떄문에 선언적 언어 (declarative language)라고도 함
1. INSERT
- 테이블에 데이터를 입력하는 명령어
- 주의사항: 데이터가 문자형일 경우 ' ' (single quotation)으로 묶어서 입력
INSERT INTO 테이블명 (칼럼명1, 칼럼명2, ...) VALUES (데이터1, 데이터2, ...);
- 이 경우 명시되지 않은 칼럼에는 NULL값이 입력되는데 PK나 NOT NULL 제약조건이 걸린 칼럼에는 NULL값이 입력될 수 없으니 주의해야 한다.
INSERT INTO 테이블명 VALUES (전체 칼럼에 입력될 데이터 리스트);
- 이 경우 전체 칼럼에 대한 데이터가 테이블의 칼럼 순서대로 빠짐없이 나열되어야 하는데 순서가 뒤바뀌어 데이터 유형이 맞지 않거나 누락된 데이터가 있어 전체 칼럼 갯수와 맞지 않았을 경우 에러 발생
2. UPDATE
- 이미 저장된 데이터를 수정하고 싶을 때 사용하는 명령어
- WHERE절이 없으면 테이블의 모든 Row가 변경되니 주의 필요
UPDATE 테이블명 SET 칼럼명=새로운 데이터 WHERE 수정할 데이터에 대한 조건;
3. DELETE
- 이미 저장된 데이터를 삭제하고 싶을 때 사용하는 명령어
- WHERE절이 없으면 테이블의 모든 Row가 삭제되니 주의 필요
DELETE FROM 테이블명 WHERE 삭제할 데이터에 대한 조건;
4. SELECT
<중복 데이터 모두 출력 (기본 옵션)>
SELECT * FROM 테이블명;
SELECT ALL FROM 테이블명;
<중복 제거 (중복인건 하나로 통일하여 출력)>
SELECT DISTINCT 중복제거칼럼 FROM 테이블명;
5. MERGE
- 테이블에 새로운 데이터를 입력하거나 이미 저장되어 있는 데이터에 대한 변경 작업을 한 번에 할 수 있도록 해주는 명령어
MERGE
INTO 타겟 테이블명
USING 비교 테이블명
ON 조건
WHEN MATCHED THEN
UPDATE
SET 칼럼명=새로운 데이터 [, 칼럼명=새로운 데이터...]
WHEN NOT MATCHED THEN
INSERT [(칼럼명1, 칼럼명2,...)]
VALUES (데이터1, 데이터2, ...);
- 산술 연산자 우선 순위
- ()
- *
- /
- +
- -
- 합성 연산자
- 문자와 문자를 연결
- Oracle: ||
- SQL Server: +
<Oracle>
SELECT name ||'선수', position ||'포지션', back_number ||'번' FROM Player WHERE id=2002007;
=> 박지성선수MF포지션7번
- 삭제 SQL 비교 정리
DROP TABLE 테이블명 | TRUNCATE TABLE 테이블명 | DELETE FROM 테이블명 |
DDL | DDL (일부 DML 성격 가짐) | DML |
Auto Commit (DDL 이니까) | Auto Commit (DDL 이니까) | 사용자 Commit |
ROLLBACK 불가 | ROLLBACK 불가 | Commit 전 ROLLBACK 가능 |
테이블의 모든 데이터 삭제 | 테이블의 모든 데이터 삭제 | 테이블의 모든 데이터 삭제 |
디스크 초기화 (=로그 제거) | 디스크 초기화 (=로그 제거) | 디스크 초기화 x (=로그 유지) |
스키마 정의까지 싹 다 삭제 | 테이블 스키마 구조 유지 | 테이블 스키마 구조 유지 |
반응형