목록SQL (35)
병호의 IT새싹키우기
💡 TRUNCATE란 테이블 내 모든 행(row)을 한 번에 제거하는 DDL(Data Definition Language) 계열의 명령어임 TRUNCATE 요약전부 삭제: WHERE 절 없이 테이블의 모든 데이터를 삭제빠른 처리: 내부적으로 데이터 페이지를 해제(deallocate)하므로 대량 삭제 시 성능 우위오토인크리먼트 리셋: 대부분의 DBMS에서 자동 증가 컬럼(IDENTITY, AUTO_INCREMENT) 값을 초기화트랜잭션 처리: DBMS마다 다르나, MySQL(InnoDB)은 롤백 가능하지만 Oracle, PostgreSQL에서는 자동 커밋 처리됨권한: 일반적으로 테이블 DROP 권한에 준하는 권한 필요 1. 기본 문법TRUNCATE TABLE [스키마명.]테이블명;스키마명. 은 생략 ..
인덱스(Index)는 책 뒤에 붙는 찾아보기 표와 같은 역할을 합니다. 특정 컬럼(column)에 대한 검색 성능을 비약적으로 향상시키지만, 삽입·수정·삭제 시에는 추가적인 오버헤드가 발생 1. 인덱스의 기본 개념목적테이블에서 원하는 데이터를 빠르게 찾기 위해 미리 정렬된 구조를 만들어 두는 것비유두꺼운 책에서 “키워드”를 찾을 때 목차나 색인을 활용하듯, 데이터베이스는 인덱스를 사용해 검색 범위를 좁힘. 2. 어떻게 동작하나?B-Tree (Balanced Tree) 구조가장 일반적인 인덱스 구조균형 이진 트리 형태로, 검색 시 트리 높이만큼만 탐색Hash 인덱스키 값에 해시 함수를 적용해 위치를 계산동등 비교(=)에 빠르지만, 범위 검색(>, 3. 주요 장·단점 장점 단점검색 속도 대폭 향상인덱스..
기본설정 SSMS 실행 후 Windows 인증으로 로그인Object Explorer에서 서버 노드 마우스 우클릭 → 속성(Properties)"보안(Security)" 탭 클릭"SQL Server 및 Windows 인증 모드(SQL Server and Windows Authentication mode)" 선택확인 후 SQL Server 재시작 sa 계정 활성화 및 사용자 계정 확인기본적으로 MSSQL의 sa 계정은 비활성화되어 있음.SQL 쿼리로 sa 계정 활성화 Additional Connection Parameters 탭에서 수동으로 입력다음 설정을 직접 입력Encrypt=False 그다음 sa와 바꾼비번 으로 로그인 하면 끝
DBMS Dump란 데이터베이스의 내용과 구조를 외부 파일로 저장하는 것을 말함. 저장된 덤프 파일은 데이터베이스의 백업, 복구 또는 데이터 이전 등에 사용될 수 있음. 1. Dump전체 스키마 dumpmysqldump -u[사용자아이디] -p 데이터베이스명 > 경로 및 저장될 파일명.sql특정 테이블 dump mysqldump -u[사용자아이디] -p[패스워드] 데이터베이스명 테이블명 > 경로 및 저장될 파일명.sql생성확인 2. Import전체 스키마 Import 이때 testdb라는 데이터베이스 스키마는 미리 생성CREATE DATABASE testDB;그리고 생성된 스키마로 덤프파일을 import 받는다. (명령어는 덤프 뜰때와 같지만 꺽쇠의 방향이 다름) mysql -u[사용자아이디] -p ..
데이터베이스는 데이터를 영속적으로 저장하고 있는시스템.이런시스템은 같은자원(데이터) 에대해서 동시에 접근하는경우가생김. 이때 데이터의 일관성과 무결성을 유지해야함 예로 수강신청 서비스에 1명 만이 정원으로 남으면 여기서 2명의 사람이 동시에 수강신청버튼을 누르는 경우 1명만 성공되어야함. 이런상황에서 DBMS가 사용하는 방법이 잠금(Lock)dla한줄. 잠금은 트랜잭션 처리의 순차성을 보장하기위한 방법 잠금(Lock)의 종류공유 잠금(Shaerd Lock)공유잠금은 다른말로 읽기 잠금, 데이터를 읽을 떄 사용되는 잠금. 공유잠금 끼리 동시에 접근이 가능하지만 공유잠금이 설정된 데이터에 배타잠금은 사용할 수 없음. 쉽게하면 공유잠금을 설정한 경우 다른세션이 동일한데이터를 읽을 수 있지만 변경하수는 없음(..
💡학습 목표 💡UNION 연산자에 대한 개념을 이해하자. UNION 연산자와 JOIN에 차이점을 이해하자. UNION 연산자는 SQL에서 여러 SELECT 문의 결과를 하나의 결과 집합으로 결합할 때 사용됩니다. 즉, 서로 다른 테이블이나 같은 테이블의 다른 조건에서 검색된 데이터를 하나의 결과로 볼 수 있도록 하기 위해 사용한다.기능: UNION은 두 개 이상의 SELECT 결과를 결합합니다.조건: 모든 SELECT 문은 동일한 수의 열을 가져야 하며, 열의 데이터 타입이 호환 가능해야 합니다.중복 제거: 기본적으로 UNION은 중복된 행을 제거합니다.중복 포함: 중복된 행을 포함하려면 UNION ALL을 사용합니다.사용 예시SELECT name, email FROM customersUNIONSE..
