반응형

BACKEND [Kamranahmedse Roadmap]/DB 8

[MySQL] InnoDB란 무엇인가

InnoDB는 MySQL의 대표적인 스토리지 엔진으로, 데이터베이스의 핵심 기능인 트랜잭션 처리, 외래 키 지원, 충돌 방지 메커니즘 등을 제공합니다. MySQL 5.5.5 버전부터 기본 스토리지 엔진으로 채택되어 널리 사용되고 있습니다.    주요 특징  • ACID 준수:InnoDB는 데이터의 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 지속성(Durability)을 보장하여 안정적인 트랜잭션 처리를 지원합니다. • 외래 키 지원:테이블 간의 관계를 명시적으로 정의하고, 데이터의 참조 무결성을 유지할 수 있습니다. • MVCC(다중 버전 동시성 제어): 읽기 작업이 쓰기 작업을 방해하지 않도록 하여 높은 동시성을 제공합니다. 이를 통해 잠금 없이 일관된 읽..

[MySQL] VARCHAR vs TEXT 차이

구분VARCHARTEXT저장 크기최대 65,535 바이트 (InnoDB에서 row 크기 제한 주의!)최대 65,535 바이트 (Long Text는 더 큼)길이 지정길이 지정 필수 (ex. VARCHAR(255))길이 지정 불필요저장 위치테이블의 행 내부에 저장외부 저장 (행 내부엔 포인터만 저장)인덱스인덱스 가능, 효율적기본적으로 인덱싱 불가 (명시적으로 길이 제한해줘야 일부 가능)용도짧은 문자열 (이메일, 이름 등 고정/예상 가능한 크기)긴 텍스트 (설명, 블로그 본문, 코멘트 등)성능빠름 (바로 읽기 가능)상대적으로 느림 (포인터 따라가야 함)   📌 간단하게 말하면 • VARCHAR→ 길이 예측 가능하고, 자주 조회/검색/정렬할 데이터에 적합→ 예: 이름, 이메일, URL 등. • TEXT→ 길이..

JDBC를 통해 데이터 입력, 삭제, 조회하기

JDBC란 무엇인가 JDBC란 무엇인가?JDBC(Java Database Connectivity)는 Java에서 데이터베이스와 연결하여 데이터를 조회, 삽입, 수정, 삭제할 수 있도록 도와주는 Java의 표준 API입니다.   📌 JDBC란?JDBC는 Java 프로그램과 데이터베이스(DBMS)jyhan0625.tistory.com   1. DB 구조  Role.javapackage kr.or.connect.jdbcexam.dto;public class Role { private Integer roleId; private String description; public Integer getRoleId() { return roleId; } public void setRoleId(Integer roleI..

JDBC란 무엇인가?

JDBC(Java Database Connectivity)는 Java에서 데이터베이스와 연결하여 데이터를 조회, 삽입, 수정, 삭제할 수 있도록 도와주는 Java의 표준 API입니다. JDBC로 DB관리하기 JDBC를 통해 데이터 입력, 삭제, 조회하기JDBC란 무엇인가 JDBC란 무엇인가?JDBC(Java Database Connectivity)는 Java에서 데이터베이스와 연결하여 데이터를 조회, 삽입, 수정, 삭제할 수 있도록 도와주는 Java의 표준 API입니다.   📌 JDBC란?JDBC는 Jajyhan0625.tistory.com   📌 JDBC란?JDBC는 Java 프로그램과 데이터베이스(DBMS) 사이의 통신을 가능하게 하는 인터페이스(Interface) 모음입니다. 즉, Java AP..

[MySQL] DML 총정리

DML은 데이터 조작을 위한 언어로, 테이블에 데이터를 삽입, 수정, 삭제, 조회하는 데 사용됩니다. DCL알아보기 [MySQL] DCL 총정리MySQL에서 DCL (Data Control Language)은 권한(Privilege)과 관련된 명령어를 제공하는 언어입니다. 주로 사용자 관리, 권한 부여/회수에 사용됩니다. 핵심은 보안과 접근 제어에 있습니다.    ✅ DCL 주요jyhan0625.tistory.com   ✅ DML 주요 명령어명령어설명SELECT데이터 조회INSERT데이터 삽입UPDATE데이터 수정DELETE데이터 삭제   1. SELECT • 데이터 조회 • 가장 많이 사용하는 DMLSELECT column1, column2 FROM table_name WHERE 조건; 예시SELECT..

[MySQL] DDL 총정리

이번엔 MySQL의 DDL (Data Definition Language)을 깔끔하게 총정리해보겠습니다. ✅ DDL이란?DDL(Data Definition Language)은 데이터베이스, 테이블, 인덱스, 제약조건 등 데이터 구조 자체를 정의하거나 수정하는 언어다. • 데이터의 형태, 구조(스키마)를 만들고 바꾸는 데 사용 • 트랜잭션 처리 불가 (ROLLBACK 안 됨) • 실행 즉시 자동 커밋 (Auto-commit) DCL 알아보기 [MySQL] DCL 총정리MySQL에서 DCL (Data Control Language)은 권한(Privilege)과 관련된 명령어를 제공하는 언어입니다. 주로 사용자 관리, 권한 부여/회수에 사용됩니다. 핵심은 보안과 접근 제어에 있습니다.    ✅ DCL 주요jy..

[MySQL] DCL 총정리

MySQL에서 DCL (Data Control Language)은 권한(Privilege)과 관련된 명령어를 제공하는 언어입니다. 주로 사용자 관리, 권한 부여/회수에 사용됩니다. 핵심은 보안과 접근 제어에 있습니다.    ✅ DCL 주요 명령어명령어설명GRANT사용자에게 권한 부여REVOKE사용자로부터 권한 회수CREATE USER새로운 사용자 생성DROP USER사용자 삭제SET PASSWORD사용자 비밀번호 변경SHOW GRANTS사용자의 권한 확인FLUSH PRIVILEGES권한 변경 즉시 적용   1. CREATE USER • 새로운 데이터베이스 사용자 생성CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 예시CREATE USER 'alex'@'..

MySQL서버 실행 및 종료 + 데몬(daemon)

1. 수동 실행 방식 ✅ 설명 • MySQL이 launchd 서비스가 아닌 수동 프로세스로 실행됨. • /usr/local/bin/mysql.server 스크립트를 실행하여 MySQL을 직접 시작하는 방식. ✅ 특징 • 자동 실행 X: macOS를 재부팅하면 MySQL이 자동으로 실행되지 않음. • 특정 MySQL 인스턴스를 직접 제어: MySQL이 여러 개 설치되어 있거나 Homebrew가 아닌 다른 방식(예: 직접 다운로드)으로 설치한 경우에도 사용 가능. • 권한 문제 발생 가능: 시스템 환경에 따라 sudo mysql.server start가 필요할 수도 있음. ✅ 사용법mysql.server start # MySQL 시작mysql.server stop # MySQL 중지mysql.s..

반응형