본문 바로가기

# 03

timeshift 보호되어 있는 글입니다.
제이미터 보호되어 있는 글입니다.
리눅스 기본 명령어 ls> LiSt의 약자로 해당 디렉터리(폴더)에 있는 파일의 목록을 나열한다.> ls - 현재 디렉터리의 파일 목록> ls /etc/systemd - /etc/systemd 디렉터리의 목록> ls -a - 현재 디렉터리의 목록(숨김 파일 포함)> ls -l - 현재 디렉터리의 목록을 자세히 보여줌> ls *.conf - 확장자가 conf 인 목록을 보여줌> ls -l /etc/systemd/b* - /etc/systemd 디렉터리에 있는 목록 중 앞 글자가 'b'인 것의 목록을 자세히 보여줌> ls -al - 숨김파일까지 자세히 보여줌(숨김파일은 앞에 '.'이 있다.) cd> Change Directory의 약자로 디렉터리를 이동하는 명령이다.> cd .. - 바로 상위의 디렉터리로 이동 pwd> Pri..
MVCC에 따른 MySQL의 특성 MySQL(InnoDB형 테이블)은 현재 DBMS의 주류가 된 'MVCC(Multi Versioning Concurrency Control)'기술을 사용한다. MVCC를 사용하기 때문에 다음 특성을 갖는다. 1. 읽기를 수행할 경우 갱신 중이라도 블록되지 않는다(읽기와 읽기도 서로 블록되지 않는다.) 2. 읽기 내용은 격리 수준에 따라 내용이 바뀌는 경우가 있다. 3. 갱신 시 배타적 잠금을 얻는다. 잠금은 기본적으로 행 단위로 얻으며 트랜잭션이 종료할 때까지 유지한다. 격리 수준이나 InnoDB의 설정에 따라 실제로 잠금 하는 행의 범위가 다른 경우가 있다. 4. 갱신과 갱신은 나중에 온 트랜잭션이 잠금을 획득하려고 하라 때 블록된다. 일정 시간을 기다리며 그 사이에 잠금을 획득할 수 없는 경우에는 '..
트랜잭션 트랜잭션(Transaction)복수 쿼리를 한 단위로 묶은 것. ACID 특성1. Atomicity (원자성)2. Consistency (일관성)3. Isolation (고립성 또는 격리성)4. Durability (지속성) - 원자성원자성이란 데이터의 변경을 수반하는 일련의 데이터 조작이 전부 성공할지 전부 실패할지를 보증하는 구조이다.하나의 트랜잭션을 처리하기 위해 4가지 단계가 있다고 하자. 이 4가지 단계를 모두 성공한 경우 'COMMIT'을 실행해 처리를 확정한다. 이 경우 각 데이터의 조작은 영구적으로 저장되어 결과가 손실되지 않는다. 단, 이 4가지 단계중 하나라도 오류가 발생하면 'ROLLBACK'을 실행해 첫번째 단계의 직전 상태까지 되돌아갈 수 있다. - 일관성데이터베이스에는 데이터베이..
뷰의 작성과 서브쿼리 및 결합 VIEW(SQL)뷰는 관계 데이터베이스의 데이터베이스 언어 SQL에서 하나 이상의 테이블 (또는 다른 뷰)에서 원하는 모든 데이터를 선택하여, 그들을 사용자 정의하여 나타낸 것이다. 뷰는 기본 테이블과 같이 행과 열로 구성되지만, 다른 테이블에 있는 데이터를 보여줄 뿐이며, 실제 테이블과 달리 데이터 자체를 포함하고 있는 것은 아니다. 뷰를 사용하면 여러 테이블이나 뷰를 하나의 테이블인 것처럼 볼 수 있다. 뷰의 장점1. 복잡한 SELECT 문을 일일이 매번 기록할 필요가 없다.2. 필요한 열과 행만 사용자에게 보여줄 수 있고, 갱신 시에도 뷰 정의에 따른 갱신으로 한정할 수 있다.3. 데이터 저장없이(기억장치의 용량을 사용하지 않고) 실현할 수 있다. 또한, 뷰를 제거(DROP VIEW)해도 참조하는 ..
SQL문의 기본 mysql>show databases; // 등록된 데이터베이스를 볼 수 있다.mysql>use DBName; // '데이터베이스의 이름'을 입력하여 사용할 데이터베이스를 선택한다.mysql>show tables; // 해당 데이터베이스의 테이블 목록이 표시된다.mysql>select * from tableName; // '테이블 이름'을 입력하면 해당 테이블의 데이터 목록이 표시된다.mysql>select * from tableName where A = 'B'; // 해당 테이블 데이터 중 A의 값이 B가 성립하는 데이터만 표시된다.mysql>select Name,Age from tableName where A = 'B'; // 해당 테이블 데이터 중 A의 값이 B가 성립하는 데이터중 Name,Age ..
DBMS를 조작할 때 필요한 기본지식 프롬프트(Prompt)로그인하고 서버를 조작할 수 있게 된 상태가 되면 'mysql>' 문자열이 나타나는데 이를 프롬프트라고 한다. 커넥션로그인되어 프롬프트가 표시되어 MySQL과 연결된 상태 세션유저와 DBMS의 교환의 시작과 종료까지의 단위. 커넥션과 매우 유사한 개념으로 커넥션이 확립된 후에 세션이 만들어진다. 커넥션과 세션을 1:1로 대응되어서 커넥션이 성립되면 세션도 시작되고 세션을 끊으면 커넥션도 끊어지는 경우가 많다. 관리 명령DBMS는 SQL문 이외에도 '관리 명령'이 있다.관리 명령의 종류나 문법은 DBMS에 따라 다르다.SQL 문은 반드시 'SELECT, INSERT, DELETE, UPDATE' 중 하나의 단어로 시작한다.이 외의 단어로 시작하면 관리 명령이다. MySQL 관리명령 예..