2023. 3. 10. 07:14ㆍSQLD 정리
*참고)
테이블명, 칼럼명 규칙
- 테이블명과 컬럼명은 문자로 시작
- A-Z, a-z, 0-9, #, $, _ 만 사용 가능
- 다른 테이블명과 중복되지 않아야 함
- 칼럼 뒤 데이터 유형은 꼭 지정
DML(Data Manipulation Language)
데이터 입력
INSERT INTO 테이블명(컬러명) VALUES(넣는데이터)
데이터 수정
UPDATE 테이블명 SET 컬럼명=바꾸는데이터 [ WHERE 컬럼명 = 값)
데이터 삭제
DELETE FROM 테이블명 [WHERE 컬럼명 = 값 ]
데이터 조회
SELECT 컬럼명
FROM 테이블명
WHERE 조건문
GROUP BY 집계기준칼럼명
HAVING group by 된 내용의 조건문
ORDER BY 컬럼명
DROP vs TRUNCATE vs delete
출저) https://www.udemy.com/course/sqld-metacode/learn/lecture/36075418#overview
DELETE
- 삭제된 데이터에 대해 로그를 남길 수 있는건 delete
- 특정 행 삭제 가능
- 삭제된 데이터 다시 되돌릴 수 있다(DDL인 TRUNCATE과 DROP은 불가).
- 데이터는 삭제되지만 용량이 줄어들지 않는다.
DISTINCT
- 중복되지 않은 행을 출력( NULL도 단일 행으로 본다)
SELECT DISTINCT 칼럼명 FROM 테이블명
- 전체행 개수 출력 *NULL 포함해서 COUNT
SELECT COUNT(*)
FROM 테이블명
- 특정행 개수 출력 *NULL 제외해서 COUNT
SELECT COUNT(특정 칼럼명)
FROM 테이블명
- 중복되지 않은 특정 행 개수 출력 *NULL 제외해서 COUNT
SELECT COUNT(DISTINCT 특정 칼럼명)
FROM 테이블명
TCL(Transaction Control Language)
*트랜잭션 : 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위
COMMIT : 데이터에 대한 변화를 DB에 반영하기 위한 명령어
SAVEPOINT : 코드를 분할하기 위한 저장 포인트 지정
ROLLBACK : 트랜잭션이 시작되기 이전의 상태로 되돌리기 위한 언어, 최신 COMMIT이나 특수한 SAVEPOINT로 되돌릴 수 있는 명령어
참고) DDL은 자동으로 커밋이 되고 DML은 커밋을 해줘야 DB에 반영이 된다.
COMMIT과 ROLLBACK의 효과
- 데이터 무결성을 보장할 수 있다.
- 영구적인 변경 전 데이터에 대한 변동사항을 확인할 수 있다.
- 논리적 연관성 있는 작업을 그룹화하여 처리할 수 있다.
트랜잭션 특징
고립성 - 트랜잭션이 실행되는 동안 다른 트랜잭션에 영향을 받아 잘못된 결과를 만들어선 안된다.
원자성 - ALL OR NOTHING, 트랜잭션에서 정의된 연산을 모두 실행하던지 아니면 실행되지 않은 상태로 있어야 한다.
지속성 - 트랜잭션이 성공적으로 수행하면 트랜잭션이 수행된 결과는 영구적으로 저장된다.
일관성 - 트랜잭션 발생 전에 데이터베이스 내용에 문제가 없으면 트랜잭션 수행 후에도 데이터베이스 내용에 문제가 있으면 안된다.
'SQLD 정리' 카테고리의 다른 글
SQL - WHERE 절에 들어가는 연산자 (0) | 2023.03.10 |
---|---|
SQL - DECODE, CASE WHEN (0) | 2023.03.10 |
SQL - 문자형 함수, 숫자형 함수, 날짜형 함수, 형변환 함수 (0) | 2023.03.10 |
DDL (Data Define Language) (0) | 2023.03.09 |
DCL(Data Control Language) (0) | 2023.03.08 |