본문 바로가기

SQL5

컴알못의 SQL 공부 (트랜잭션) 트랜잭션 개요 관련된 SQL 문장들을 한데 묶어서 하나의 처리 단위로 다루는 것. 데이터베이스의 작업은 하나의 작업도 여러 SQL명령문으로 이루어진 경우가 많기 때문에 필요합니다. 트랜잭션이란 한묶음으로 처리되어야 하는 SQL 명령문들의 집합. 즉, 트랜잭션 안의 SQL 명령문들은 전부 정상처리 되어야 하나의 트랜잭션이 완료되는 것입니다. 트랜잭션이 정상 종료되었다면 커밋. 트랜잭션이 실패하면 롤백. 정확히 말하면 커밋은 SQL 명령문들을 전부 정상 수행해 실행 결과를 성공적으로 반영하는 것. 롤백은 SQL 명령문 수행 도중 오류가 발생하여 명령문 실행 전 상태로 되돌리는 것을 말합니다. 목적 데이터베이스 서버에 다수의 클라이언트의 동시 접근성을 제어하고, 장애 발생시에 안정적으로 데이터를 복구하여 데이.. 2022. 1. 7.
컴알못의 SQL 공부 (내장함수, 프로시저, 트리거, 사용자정의함수) 내장 함수 개념 다양한 사용자의 질의 요청을 처리하기 위해 MySQL이 SQL문 안에 제공하는 함수. SQL 함수는 DBMS가 제공하는 내장 함수와 사용자가 직접 정의하는 사용자 정의 함수로 나뉘어집니다. 종류 숫자함수 ABS(A) A의 절대값 CEIL(A) A의 반올림 FLOOR(A) A의 반내림 ROUND(A, B) A를 소수점 B자리값까지 반올림 FORMAT(A, B) A를 B형식으로 변환 문자함수 LENGTH(A) A 문자열의 길이 CONCAT(A) A 문자열 그룹들을 결합 LEFT/RIGHT(A, B) A문자열을 왼/오른쪽 B 길이만큼 자름 LTRIM/RTRIM(A) 왼,오른쪽 공백을 제거 SUBSTRING(A, B, C) A의 B번째부터 C길이만큼 자름 REPLACE(A, B, C) A의 B를.. 2022. 1. 6.
컴알못의 SQL 공부 (DDL, DCL) 목차 저번에는 DML에 대해서 알아보았습니다. DML은 SQL의 기초라고 불리는데 그 이유는 가장 보편적으로 주어지는 권한이며, 데이터베이스에 조금이라도 맞닿아있는 사람이라면 누구나 사용할 수 있어야하기 때문이에요. 오늘은 DDL(Data Definition Language)에 대해서 알아보도록 합시다. 데이터 정의어는 단순히 DML처럼 데이터를 조작하는게 아니라 데이터베이스의 구조나 설정들을 정의하는데 사용합니다. 데이터베이스를 만들거나, 없애거나, 제약조건을 정의하거나 이런 기능들을 말하는거겠네요. DDL CREATE문 CREATE문은 테이블을 생성할 때 사용합니다. 데이터베이스가 다루는 가장 중요한 객체는 테이블입니다. 당연하죠. 관계형 데이터베이스는 데이터모델로 테이블 형식을 차용했으니까요. (사.. 2022. 1. 5.
컴알못의 SQL 공부 (2) 저번 글에 이어서 다시 글을 이어가겠습니다. 저번에는 SELECT라는 DML에 대해서 알아보고 있었습니다. 집합 연산자 SELECT는 테이블을 인자로 받아 테이블을 반환하는 함수입니다. 그렇기 때문에 결과는 항상 테이블이 나올 것입니다. 그렇다면 SELECT 함수들로 반환받은 테이블들을 집합 연산자로 다루는 것도 가능할 겁니다. 예를 들어서, 두개의 SELECT 함수로 반환한 테이블들을 UNION으로 합집합 연산을 한다거나? SELECT 이름 FROM 학생 WHERE 학년 = 3 UNION SELECT 이름 FROM 교사 WHERE 담당학년 = 3 이런 식으로 말이죠. 관계 대수에는 수학적 집합 개념을 적용한 집합 연산과 관계형 데이터베이스를 위한 관계 연산으로 나뉜다고는 알고 계실 겁니다. 집합 연산자.. 2022. 1. 4.