반응형

MySQL 7

[TIL] SQL 에서의 NULL

프로그래밍 언어에서 NULL or None 은 아래와 같은 의미로 사용된다 언어표현의미PythonNone값이 없음 CNULL포인터가 가리키는 대상이 없음 Javanull객체가 존재하지 않음 JavaScriptnull의도적으로 비어 있는 값 SQL 에서도 NULL 은 이와 유사하게 값이 없다 undefined 또는 알 수 없다 unknown 는 의미를 가지지만 SQL 의 NULL 은 다르게 동작하는 중요한 차이점이 하나 있다 ⚠️ SQL 에서는 NULL 을 일반적인 값처럼 비교할 수 없다 예를 들어 Python 에서는 None 끼리 직접 비교가 가능하다 a = Noneprint(a == None) # 출력: True 하지만 SQL 에서는 아래처럼 비교할 경우, 절대 원하는 결과가 나오지 않는다SEL..

TIL/용어 2025.06.19

[TIL] Delete/ Truncate/ Drop 차이 w/ MySQL

Delete/ Truncate/ Drop 는 언제, 어떤 상황에서 써야 하는지 한 번 정리해봤다 🔍 MySQL 에서 테이블이나 데이터를 삭제할 때, 어떤 명령어를 써야 할까? MySQL에서 데이터를 삭제할 수 있는 대표적인 명령어로는 DELETE, TRUNCATE, DROP 이 있다 이 명령어들은 모두 데이터를 제거한다는 공통점이 있지만,작동 방식, 성능, 롤백 가능 여부, 테이블 구조 유지 여부 등에서 큰 차이를 보인다 DELETE 명령어 DELETE는 특정 조건에 맞는 행 row 만 삭제할 수 있는 SQL 명령어이다 조건 없이 사용하면 테이블의 모든 데이터를 삭제하지만, 테이블 구조는 그대로 유지된다 또한 트랜잭션을 지원하므로, ROLLBACK 으로 복구할 수 있다 DELETE 사용 예시 -- 나..

TIL/용어 2025.06.18

Insert Dummy Data into MySQL w/ Python

MySQL 에 Dummy Data 삽입 w/ Python 더미 데이터가 필요한 일이 생겨서 코드를 만들어봤다 userTest 라는 Table 을 만들고 id, name, email Column 으로 구성했다 CREATE TABLE userTest ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100));Cursor 커서 MySQL 에서 SQL 쿼리를 실행하고 그 결과를 가져오는 역할커서를 사용하여 SELECT, INSERT, UPDATE, DELETE 같은 SQL 문을 실행할 수 있다  import mysql.connectorimport randomimport string # MySQL 연결 정보 config = { ..

TIL/Python 2025.02.11

[Spring] 노인 객체

노인 객체는 단순하게 1. 이름 2. 핸드폰 번호 만 받기로 했다 그래서 DTO 를 아래와 같이 설정했다 이름과 핸드폰 자리수에 대한 예외 처리도 DTO 에서 처리했다 package com.example.Mind_in_Canvas.dto.user;import java.time.LocalDateTime;import java.util.UUID;import jakarta.validation.constraints.NotBlank;import jakarta.validation.constraints.Pattern;import jakarta.validation.constraints.Size;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Ge..

TIL/JAVA 2025.01.10

[DB] MySQL 에 정보 저장하고 검색하기

프로젝트를 진행하면서, 로그인한 JWT 를 가져와서 해독하고, 그 정보를 기반으로 유저를 파싱하려고 한다 MySQL 사용하는 법이 헷갈려서 정리해둔다 MySQL 설치는 여기에 정리해놨고 https://helloahram.tistory.com/172Docker Image Build 도 여기에 정리했다 https://helloahram.tistory.com/197 기존에 공부하면서 사용했던 MySQL Database 를 싹 다 지우고 진행할 예정이다 나는 Docker 에 MySQL 을 설치해놨다, 그래서 docker ps 로 이름을 먼저 찾아준다 ahram@AhramuicBookPro  ~  docker psCONTAINER ID IMAGE COMMAND ..

[Docker] Docker Image Build

MySQL 를 다시 만들려고 보니까, Docker 도 마음에 안 들어서Docker Image 를 다시 Build 하게 되었다  우선 내가 Docker Image 를 Build 폴더로 이동 or 생성하고, Dockerfile 을 만든다 mkdir mysql-dockercd mysql-docker Dockerfile 에 환경 변수를 설정해준다 vi Dockerfile # MySQL 공식 이미지 사용FROM mysql:8.0# 환경 변수 설정ENV MYSQL_ROOT_PASSWORD=[Root_PW]ENV MYSQL_DATABASE=ahramDBENV MYSQL_USER=ahramENV MYSQL_PASSWORD=[User_PW]# 포트 노출EXPOSE 3306# 기본 실행 명령CMD ["mysqld"] Im..

TIL/DOCKER 2025.01.04

[Docker] docker-container 로 MySQL 접속하기

Docker어플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼환경에 구애받지 않고 어플리케이션을 신속하게 배포 및 확장할 수 있다 1. 캡슐화 2. 특권/ 비특권 컨테이너 - 비특권 컨테이너는 호스트 시스템의 민감한 자원에 대한 접근이 제한된다, 보안 상으로는 안전하지만 시스템 제어가 불가하다 - 특권 컨테이너는 Host 시스템의 리소스를 더 많이 제어할 수 있는 권한을 가지고 있다Docker Container 어플리케이션을 독립된 환경에서 실행할 수 있는 환경 Docker-Compose여러 개의 컨테이너를 관리하고 설정하는 도구  컨테이너는 캡슐화되어 어플리케이션을 실행하는 독립된 환경이고, 컨테이너들을 Docker-Compose 에 담아 관리한다 컨테이너는 화물 상자, Dock..

TIL/DOCKER 2024.12.07
반응형