TCL
Transaction Control Language
• All or Nothing -> 모두 적용되거나 or 모두 취소되거나 commit / rollback으로 구성됨
INSERT UPDATE DELETE일때 트랜잭션 발생 (SELECT는 X)
주요 TCL 명령어에는 다음과 같은 것들이 있습니다:
COMMIT: 트랜잭션의 변경 사항을 영구적으로 데이터베이스에 적용함
ROLLBACK: 트랜잭션의 변경 사항을 취소하고 이전 상태로 되돌림
SAVEPOINT: 트랜잭션 내에서 지정된 지점까지 변경 사항을 저장합니다. 이후 ROLLBACK 시 해당 SAVEPOINT까지만 롤백할 수 있습니다.
![](https://blog.kakaocdn.net/dn/uNuMT/btsATjjgYLt/OzxmIc5Aei3N4eZcan6HE1/img.png)
ACID
(트랜잭션이 작동하는동안 다른동작을 낄 수 없음)
왼쪽 업데이트 시작-> 트랜잭션상태 -> 오른쪽 delte 날려도 가만히 있음
왼쪽 commit 하는 순간 -> 오른쪽도 실행
강제로끄면 무조건 commit 적용됨
TCP (상호작용??)
UDP (팩스처럼 한번에 쭉 보내는거)
원격접속 설정
1. 방화벽 -> 인바운드 규칙 설정
2. 추가된거 확인
Like 문으로 데이터 가져오기 (비슷한 값 찾기)
COLUMN IN ( A, B ) = COLUMN= A OR COLUMN= B
WHERE TEAM_ID='K05' OR TEAM_ID = 'K07'
WHERE TEAM_ID IN('K05','K07')
연산 우선순위
괄호-> sql연산자 -> and, or
BETWEEN 연산자
부정연산자
NOT / != / ^= / <>
1. NOT = 컬럼 앞에 위치
NULL
1. NULL은 미지의 값
2. 값으로 찾을 수 없다
3. 연산의 결과는 NULL
4. 비교의 결과는 FALSE
. Oracle에서 || 연산자는 문자열을 연결하는 연산자임
->앞의 NULL+1은 NULL 나오지만, NULL||'A'는 A 나옴
ROWNUM
로우넘
1. ROWNUM 절차적 숫자 ->ROWNUM은 하나의 열씩 읽음
2. ROWNUM은 DM에서 FROM절로 된 것 중에서 출력 순서대로 1부터 작성됨
3. RDBMS는 자동으로 순서를 정하지 않음, 입력된 순서대로 저장
WHERE e1.RM BETWEEN 5 AND 10; 라고 해도 되겠지?
Dbeaver 디비버 최적 쿼리문 짜는 근거
Cost, Cardinality, Bytes를 낮게 만드는게 좋은거임
6교시 메이븐설정
20231123_JDBC 이게 메이븐임
1. 우클릭-> RUN AS -> MAVEN TEST 누르면 콘솔창에 BUIL SUCCESS 떠야함
2. 패키지 추가
com.min.edu.comm 공통 모듈을 정의하는 패키지
com.min.edu.dao 쿼리실행시켜서 결과를 받아오는 패키지
CRUD 코드를 가지고 있는 클래스 작성
com.min.edu.dto 쿼리결과 혹은 입력을 위한 객체를 가지고 있는 클래스
TODO 리스트 지금꺼만 보는법
1.
2.
public static void main (String[ ] args){
public =접근제한자
static =static
void = return value
main = 메소드명
String[ ] = Arguments : 내가 전달하는 값 자료형?? 여기선 배열??
args = Parameter
파라미터: 전달받은 값을 내가쓸수있도록 넘겨주는거... 주소를 잠시 담고 있음???
int a= 10
int b = a
int c = b
c= 10만 있으면되자나.. .이런 값을 전달해주기위한 변수(빨간글씨)가 파라미터임
이클립스에 DBeaver 받아서 설치하기
1.프로젝트 -> JDBC 우클릭 - set activate
버전8 ->맞지않으니까 드라이버 삭제하고 새로추가
구디아카데미 후기/ 국비지원IT개발자 취업 / 전민균 강사님