본문 바로가기

DB/SQL

(25)
SQL :: TRUNCATE 테이블의 모든 행(row) 데이터와 행 자체, 저장공간 삭제 TRUNCATE 오라클(Oracle)에서 테이블의 모든 데이터를 삭제하는 DDL(Data Definition Language) 명령어성능이 빠르지만 복구가 불가능하므로 신중하게 사용해야 함 DELETE와 다르게 WHERE 절 사용이 불가능하며, 자동 증가 값도 초기화됨 TRUNCATE 기본 문법 테이블의 모든 데이터가 즉시 삭제되며, 롤백(UNDO)이 불가능TRUNCATE TABLE 테이블명;  TRUNCATE 주의할 점 1. TRUNCATE는 WHERE 절을 사용할 수 없음 DELETE는 특정 행만 삭제할 수 있지만, TRUNCATE는 테이블 전체를 삭제 2. TRUNCATE 실행 후 ROLLBACK이 불가능 DELETE는 트랜잭션을 통해 복구 가능하지만, TRUNCATE는 불가능 3. 외래 키(For..
SQL :: INDEX 인덱스 INDEX인덱스는 데이터베이스에서 쿼리 성능을 향상시키기 위해 사용하는 중요한 도구이다. 테이블의 특정 컬럼에 인덱스를 만들면, 해당 컬럼을 사용하는 검색, 정렬 등의 쿼리를 더 빠르게 처리할 수 있다.  인덱스 사용법1. 기본 역할 인덱스는 데이터베이스에서 테이블의 특정 컬럼을 효율적으로 검색하기 위해 사용하는 구조이다. 인덱스를 생성하지 않고 테이블에서 데이터를 검색할 때는 전체 테이블 스캔(full table scan)을 수행해야 하지만, 인덱스를 사용하면 특정 컬럼에서 빠르게 원하는 데이터를 찾을 수 있다.2. 인덱스 적용 쿼리 인덱스를 생성한 후에는 이를 직접적으로 사용하는 특별한 문법이 없다. 인덱스는 자동으로 쿼리 최적화 과정에서 사용된다.  인덱스 사용 예시1. SELECT 문에서 WHER..
SQL :: COLUMN 사용법 COLUMN 추가오라클 테이블에 컬럼을 추가하기 위해서는 ALTER TABLE을 사용한다. 컬럼을 추가하면 테이블 컬럼의 마지막 순서에 추가가 되며, 컬럼 순서의 중간에 컬럼을 추가할 수는 없다. --컬럼 추가ALTER TABLE emp ADD email VARCHAR(25);  COLUMN 삭제--컬럼 삭제ALTER TABLE emp DROP COLUMN email;   COLUMN 데이터 길이 변경컬럼 길이를 변경할 경우 변경할 컬럼 길이보다 길이가 긴 값이 있으면 안 된다.--데이터 길이(크기) 변경 : VARCHAR2(4) -> VARCHAR2(5)ALTER TABLE emp MODIFY editid VARCHAR2(5);ALTER TABLE [테이블명] MODIFY [컬럼명] [데이터타입(새로운..
SQL :: 절차형 SQL (프로시저, 사용자 정의 함수, 트리거) 절차형 SQL일반적인 언어형식과 같이 절차적으로 명령을 수행하는 SQL을 뜻한다. DBMS 벤더별로 PL/pgSQL, PL/SQL, T-SQL 등의 절차형 SQL이 있다. 오라클은 PL/SQL을 사용한다.  절차형 SQL은 DBMS 엔진에서 실행되고 단일 SQL 문장으로 실행하기 어려운 연속적인 작업 처리가 가능하다. 또한 로직을 캡슐화할 수 있기 때문에 반복 적인 DB 작업을 효율적으로 수행하고 소프트웨어 개발 생산성을 높인다는 장점이 있다.   1. 프로시저(Procedure)프로시저란 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어이며 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다. 여러 프로그램에서 호출하여 사용 가능하고, 시스템의 일일 마감 작업, 일괄 작업 ..
SQL :: EXTRACT 날짜 추출 함수 EXTRACT오라클 SQL 에서 EXTRACT 함수는 날짜 유형의 데이터로부터 날짜 정보를 분리하여 새로운 컬럼의 형태로 추출해 주는 함수이다. 테이블A의 날짜 변수가 담긴 컬럼X로부터 특정한 날짜요소를 추출하여 새로운 컬럼으로 반환하는 SQL 쿼리 문장의 형태는 다음과 같다. SELECT EXTRACT ('날짜요소' FROM 컬럼B) AS 별칭FROM 테이블A;  SQL 쿼리에서의 날짜요소 표시날짜 정보YEAR연도MONTH월DAY일HOUR시MINUTE분SECOND초  예제--현재 시간에서 날짜 추출하기select systimestamp, extract (year from systimestamp) as year, extract (month from systimestamp) as mo..
SQL :: 윈도우 함수 WINDOW FUNCTION WINDOW FUNCTION 윈도우 함수  SQL의 윈도우 함수란 행과 행 간을 비교, 연산, 정의하기 위한 함수이다. 분석함수 또는 순위함수라고 하기도 한다. 다른 함수들처럼 중첩해서 사용할 수는 없지만 서브쿼리에서는 사용가능하다.  윈도우 함수 문법윈도우 함수에는 OVER 문구가 필수로 들어간다.SELECT WINDOW_FUNCTION (ARGUMENTS) OVER([PARTITION BY 컬럼] [ORDER BY 컬럼] [WINDOWING 절])FROM 테이블명;  WINDOW FUNCTION 종류구분함수비교순위 함수RANK, DENSE_RANK, ROW_NUMBER 일반 집계 함수SUM, MAX, MIN, AVG, COUNTSQL서버에서는 OVER 절 내에서ORDER BY 지원하지 않음그룹 내 행..
SQL :: 그룹 함수 그룹 함수데이터를 그룹화하여 각 그룹에 대한 결과를 생성한다. 각 그룹에 대한 결과를 반환하며, 집계 함수를 적용하는 데 사용된다. 그룹 함수는 GROUP BY 구문과 함께 사용되어 그룹화된 데이터에 대한 집계를 수행한다.   집계 함수집계 함수는 여러 행의 데이터를 하나의 값으로 집계하여 반환한다. 일반적으로 여러 행의 값을 그룹화하여 하나의 결과를 계산한다. 집계 함수에는 SUM, AVG, COUNT, MAX, MIN 등이 있습니다.  집계 함수에 속하지 않는 그룹 함수ROLLUP- 추가적인 집계 정보를 보여주는 함수- ROLLUP 절에 명시할 수 있는 표현식에는 그룹핑 대상, SELECT 리스트에서 집계함수를 제외한 컬럼의 표현식이 올 수 있다. 명시한 표현식 수와 순서에 따라 레벨 별로 집계한 결..
SQL :: VIEW 뷰 뷰(View)뷰는 자바의 개념을 빌려 설명하자면, SELECT 문으로 생성한 객체라고도 볼 수 있다.1. 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다.2. 뷰는 저장장치 내에 물리적으로 존재하지 않지만 사용자에게 있는 것처럼 간주된다.3. 뷰는 데이터 보정작업, 처리과정 시험 등 임시적인 작업을 위한 용도로 활용된다.4. 뷰는 조인문의 사용 최소화로 사용상의 편의성을 최대화 한다. 뷰(View)의 특징 1. 뷰는 기본테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하며, 조작도 기본 테이블과 거의 같다.2. 뷰는 가상 테이블이기 때문에 물리적으로 구현되어 있지 않다.3. 데이터의 논리적 독..