쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 https://github.com/2jaehoon/ssangyonng.git에 올려두었습니다.
insert
- DML (조작어)
- 테이블에 record를 생성할 때 사용하는 SQL문
- 추가되는 데이터는 순서대로 들어가지 않을 수도 있다.
- transaction 대상 쿼리문( insert, update, delete )
- 컬럼을 생략하고 추가
( insert 할 때 컬럼의 순서 대로만 입력 가능, 컬럼의 값이 없는 경우 추가할 수 없다.
값이 어떤 컬럼으로 들어가는 지 알기 어렵다. )
insert into 테이블명 values( 값... );
/*
values 안의 값 형태
숫자 : 2023, 1, 1.17
문자열 : '문자열'
날짜 : 시스템의 현재 날짜 : sysdate
다른 날짜 : 'yyyy-mm-dd' 년월일 형식의 문자열을 입력
다른 날짜 : to_date()
*/
- 컬럼을 명시하고 추가
( insert 할 때 컬럼 순서를 바꿔서 입력 가능, 컬럼의 값이 없는 경우도 추가할 수 있다.
값이 어떤 컬럼으로 들어가는지 명확하게 알 수 있다. )
insert into 테이블명( 컬럼명, ... ) values ( 값, ... );
/*
values 안의 값 형태
숫자 : 2023, 1, 1.17
문자열 : '문자열'
날짜 : 시스템의 현재 날짜 : sysdate
다른 날짜 : 'yyyy-mm-dd' 년월일 형식의 문자열을 입력
다른 날짜 : to_date()
*/
null
- 값이 있기는 하나 숫자도 문자열도 아닌 사용할 수 없는 값
- null 아무것도 출력되지 않는다.
- null은 연산되면 null이 나온다.
transaction
- DB작업의 단위
- 대상쿼리문 : insert, update, delete
- 쿼리문 하나로 transaction이 구성될 수도 있고, 쿼리문 여러 개로 transaction이
구성될 수 있다.
- 트랜잭션 완료 : commit, 트랜잭션 취소 : rollback
DCL( Data Control Language )
* commit
- 접속자 session에서 작업된 내용을 File 영역에 기록하고, 변경된 내역을 모든
접속자 session에 통지하는 일
session에서 memory : 일시적 HDD : 영속적
- commit 트랜잭션이 정상적으로 완료되어야 할 때 사용하는 명령어
- commit 되기 전의 데이터는 다른 접속자 클라이언트에서 변경, 삭제를 할 수 없다.
- commit된 데이터는 rollback될 수 없다.
* 여러 개의 쿼리문이 하나의 트랜잭션을 구성할 수 도 있다.
- 송금, 이체
내계좌 update => 내친구 계좌 update
* rollback
- transaction은 구성된 모든 쿼리문이 성공한 후 작업이 종료 되어야 한다.
구성된 작업 중 하나라도 실패하면 트랜잭션에 모든 작업이 취소되어야 한다.
- 작업 취소를 할려면 rollback을 사용한다.( commit 된 레코드는 rollback 될 수 없다. )
- savepoint와 함께 사용되면 특정 지점까지의 작업을 취소할 수 있다.
- 바로 전 commit 이후까지 모든 작업 취소한다.
* savepoint( 저장점 )
- rollback이 될 지점을 설정하는 것
- commit이 되면 저장점은 사라진다, 저장점 이전으로 rollback이 되면 사라진다.
- 같은 이름의 저장점이 만들어지면 이전의 저장점은 사라진다.
- transaction 대상 쿼리문 전에 설정한다.
savepoint 저장점명;
트랜잭션 대상 쿼리문
rollback to 저장점명;
savepoint a;
insert ...
savepoint b;
insert...
savepoint c;
insert...
rollback to b; //c와 b까지 취소된다.
select
- 특정 테이블에서 선택된 컬럼의 모든 레코드를 조회할 때 사용
- DML, DQL( Data Query Language )
select 컬럼명, 컬럼명 연산자, 함수( 컬럼명 ), 컬럼명 alias
from 테이블명
where 절 – 검색 조건
group by 절 – 그룹으로 묶을 컬럼명
having 절 – 그룹으로 묶일 조건
order by 절 - 정렬 설정
연산자
- 연산에 사용되는 예약된 부호들
- select 컬럼, where절, having절에서 사용된다.
- update에 set에서 사용된다.
- 산술연산자 : +, -, *, /, mod()
- 관계연산자 : >, <, >=, <= , =, != ( <> )
- 논리연산자 : and, or, not
- 문자열 붙임 연산자 : ||
- 문자열 연산자 : like, %, _
- 범위 비교: between and
- null비교 : is null, is not null
'성장 일기 > 쌍용교육센터' 카테고리의 다른 글
0119/group by, order by, 함수 (0) | 2023.01.19 |
---|---|
0118/update, delete, select (0) | 2023.01.18 |
0116/DBMS (0) | 2023.01.16 |
0113/다 대 다 채팅 (0) | 2023.01.16 |
0112/Socket, Thread (0) | 2023.01.12 |