목록Server/DB (7)
새발블로그
1. LIMIT / OFFSETMySQLLIMIT 5 OFFSET 10OracleOFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY;2. 날짜 포맷 (DATE_FORMAT → TO_CHAR)MySQLDATE_FORMAT(dt, '%Y-%m') OracleTO_CHAR(dt, 'YYYY-MM') 3. 날짜 필터링OracleWHERE created_at >= DATE '2022-10-01' AND created_at MySQL DATE(created_at) 같은 함수 감싸기는 금지4. LEFT / RIGHT → SUBSTROracleSUBSTR(str, 1, 3) -- MySQL : LEFT SUBSTR(str, -3) -- MySQL : RIGHT5. CONCAT → ||Oraclefirs..
1. MongoDB vs RDB 비교MongoDBRDBCollectionTableDocumentRowAttributeColumn2. 데이터베이스 및 컬렉션DB 선택 및 생성예: use testuse 데이터베이스명컬렉션 생성db.createCollection("컬렉션명")컬렉션 삭제db.컬렉션명.drop()3. Document 조작추가insertOne(json)insertMany([json1, json2])컬렉션이 없어도 자동 생성됨db.users.insertOne({username:"kb", age:15, addr: "seoul"})수정$set: 필드 추가 또는 수정db.users.updateOne({ username: "kb" }, { $set: { tel: "02" } })$unset: 필드 삭제db..
1. 인덱스(Index)인덱스 구조: Balanced Tree (B-Tree)노드가 가득 차면 중앙값 기준으로 분할하여 균형 유지탐색 속도를 빠르게 유지인덱스 종류종류설명클러스터형 인덱스PK 또는 UNIQUE + NOT NULL 컬럼에 자동 생성. 테이블에 한 개만 존재. 데이터 정렬 기준이 됨.보조 인덱스추가적으로 생성되는 사용자 인덱스. 여러 개 가능. 별도 공간에 컬럼 정렬.인덱스 관리-- 인덱스 조회SHOW INDEX FROM 테이블명;-- 인덱스 생성CREATE UNIQUE INDEX 인덱스명 ON 테이블명(컬럼1, 컬럼2, ...);-- 인덱스 삭제DROP INDEX 인덱스명 ON 테이블명;2. 인덱스 활용인덱스가 영향을 주는 구문WHEREORDER BYJOINGROUP BY-- 인덱스가 없으..
1. SQL 구문 분류DML (데이터 조작어)데이터(행)를 조작하는 명령SELECT -- 조회INSERT -- 삽입UPDATE -- 수정DELETE -- 삭제DDL (데이터 정의어)테이블, 제약조건 등 객체 구조 정의/변경/삭제CREATE -- 객체 생성ALTER -- 객체 구조 변경DROP -- 객체 제거2. 테이블 생성 기본 문법CREATE TABLE 테이블명 ( 컬럼명 자료형 [기본값] [제약조건], ...);3. 무결성 제약조건 (Integrity Constraints)제약조건설명NOT NULLNULL 불허UNIQUE중복 불허PRIMARY KEY기본키, NOT NULL + UNIQUEFOREIGN KEY다른 테이블의 키 참조CHECK조건 만족 여부 검..
1. INNER JOIN (내부 조인)양쪽 테이블에서 조건에 맞는 행만 조회가장 많이 사용하는 조인 방식SELECT t1.컬럼, t2.컬럼FROM 테이블1 t1INNER JOIN 테이블2 t2ON t1.컬럼 = t2.컬럼;2. NATURAL JOIN (자연 조인)공통된 컬럼 이름으로 자동 조인ON 조건이 필요 없음SELECT *FROM 테이블1NATURAL JOIN 테이블2;위험: 조인 기준을 명시하지 않아서, 컬럼명 충돌이나 예기치 않은 결과 발생 가능3. JOIN ... USING(컬럼)공통 컬럼명을 지정해서 조인ON보다 간단함SELECT *FROM 테이블1JOIN 테이블2USING (공통컬럼);내부적으로 ON 테이블1.공통컬럼 = 테이블2.공통컬럼 과 같음4. OUTER JOIN (외부 조인)유형설..
1. SQL 명령어 종류분류명령어설명DDLCREATE, ALTER, DROP데이터베이스 객체(테이블 등) 정의/수정/삭제DMLINSERT, UPDATE, DELETE데이터 조작DQLSELECT데이터 조회DCLGRANT, REVOKE권한 제어TCLCOMMIT, ROLLBACK, SAVEPOINT트랜잭션 제어2. SELECT 구문의 구조 및 순서SELECT 컬럼명FROM 테이블명[WHERE 조건][GROUP BY 그룹기준][HAVING 그룹조건][ORDER BY 정렬기준]처리 순서: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY3. 자료형숫자형: INT, FLOAT, DECIMAL(전체,소수)문자형: CHAR(n), VARCHAR(n)날짜형: DATE, DAT..
1. 개념 정리용어설명DB (Database)데이터를 구조화하여 저장한 집합. 텍스트 파일, CSV, JSON, 테이블 등 다양한 형태가 있음DBMS (Database Management System)DB를 관리하는 소프트웨어 시스템. 데이터를 효율적으로 저장, 조회, 수정, 삭제할 수 있음RDBMS (Relational DBMS)DBMS의 한 종류로, 데이터를 테이블(관계형 모델) 형태로 저장하고 SQL을 사용하여 조작NoSQL관계형 모델이 아닌 데이터 저장 시스템. 비정형 데이터, 대용량 처리, 유연한 스키마 구조에 강점2. 상세 비교표항목DBDBMSRDBMSNoSQL의미데이터 저장소DB를 관리하는 시스템테이블 기반 DBMS비관계형 DBMS구조다양한 구조 (파일 등)구현 방식 다양테이블(Row-Col..