티스토리 뷰
- truncate, drop 차이점
truncate table table_name;
truncate는 내용을 모두 지우지만 테이블을 삭제하지 않는다.
- 내장 함수
concat() 문자열 이어 붙이기
substr(column, 시작 인덱스 번호, 몇 글자)
upper() 전부 대문자로 변경
lower() 전부 소문자로 변경
ifnull(a, b) a가 null 이면 b로
now() 현재 시간. from 테이블 굳이 안해도 동작.
select now(), date_format(now(), '%w') from dual
%w 는 0-일요일....5-금요일 로 표시
%W 는 문자로 Sunday...Friday 표시
mysql date_format reference 구글링하면 나옴. 다양한 포맷이 있음.
서브쿼리를 select 구문을 쓸 때, 컬럼 하나만 가져와야 한다.
서브쿼리는 한 번만 쓰자. 성능 이슈..
- between
e.salary between j.lowest_sal and j.highest_sal
j.lowest_sal, j.highest_sal 사이에 있는 e.salary
- union
select employee_id, job_id, "current" AS "start_date", 'current' AS "end_date"
from employees
where employee_id=176
union
select employee_id, job_id, start_date, end_date
from job_history
where employee_id=176;
union 할 때 컬럼 갯수를 맞춰줘야 함.
- INSERT
새로운 튜플 삽입
- UPDATE
속성값 수정
UPDATE Table
SET 속성이름1=값, 속성이름2=값, ...
[WHERE 조건]
where가 없으면 전부 다 바꾼다는 의미...거의 쓴다고 봄
- DELETE
DELETE FROM table
[where 조건]
이것도 where 써야할 듯. 조건이 없으면 truncate 와 같다.
다 지울 때는 truncate 가 좋다.
- 뷰
create view view_name
as (select * from ...)
view_name 이라는 뷰가 생성된다. 뷰는 보기 편하게 해주는 가상의 테이블.
자주 써야 하는 테이블이 있으면 뷰를 만들어 쓰자.
트랜잭션의 성질 - ACID 꼭 알아두자 (reference : https://ko.wikipedia.org/wiki/ACID)
- 원자성(Atomicity)은 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력이다. 예를 들어, 자금 이체는 성공할 수도 실패할 수도 있지만 보내는 쪽에서 돈을 빼 오는 작업만 성공하고 받는 쪽에 돈을 넣는 작업을 실패해서는 안된다. 원자성은 이와 같이 중간 단계까지 실행되고 실패하는 일이 없도록 하는 것이다.
- 일관성(Consistency)은 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미한다. 무결성 제약이 모든 계좌는 잔고가 있어야 한다면 이를 위반하는 트랜잭션은 중단된다.
- 고립성(Isolation)은 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미한다. 이것은 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없음을 의미한다. 은행 관리자는 이체 작업을 하는 도중에 쿼리를 실행하더라도 특정 계좌간 이체하는 양 쪽을 볼 수 없다. 공식적으로 고립성은 트랜잭션 실행내역은 연속적이어야 함을 의미한다. 성능관련 이유로 인해 이 특성은 가장 유연성 있는 제약 조건이다. 자세한 내용은 관련 문서를 참조해야 한다.
- 지속성(Durability)은 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미한다. 시스템 문제, DB 일관성 체크 등을 하더라도 유지되어야 함을 의미한다. 전형적으로 모든 트랜잭션은 로그로 남고 시스템 장애 발생 전 상태로 되돌릴 수 있다. 트랜잭션은 로그에 모든 것이 저장된 후에만 commit 상태로 간주될 수 있다.
'활동 > 교육과정 중 기록' 카테고리의 다른 글
200103 Docker Swarm (0) | 2020.01.03 |
---|---|
200102 Docker, MongoDB (0) | 2020.01.02 |
191230 Docker (0) | 2019.12.30 |
191226 데이터베이스 (0) | 2019.12.26 |
191223 데이터베이스 (0) | 2019.12.23 |
- Total
- Today
- Yesterday
- c언어
- 운영체제
- 컴퓨터공학
- Fast Campus
- 자료구조
- #패스트캠퍼스 #프로그래밍대학생서포터즈 #올인원패키지 #컴퓨터공학 #성공하는프로그래밍공부법
- 개발자 취업
- 패스트캠퍼스
- 올인원 패키지
- 코딩 면접
- 프로그래밍 온라인 강의
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |