DB28 [DB] excel 데이터를 insert문으로 변환하기 [ Excel 파일에서 SQL 'INSERT'문을 작성하는 법 ] 먼저 엑셀 데이터를 적절한 형식으로 준비하고, 각 셀의 값을 기반으로 SQL 'INSERT'문을 생성해야 합니다.간단한 예로 'students' 테이블에 대한 'INSERT' 문을 생성하는 방법을 설명하겠습니다. 엑셀에서 SQL 'INSERT' 문 생성▼ 엑셀 파일의 첫 번째 행은 컬럼 이름이어야 합니다. 두 번째 행부터 데이터가 있어야 합니다. ▼ 엑셀에서 SQL 'INSERT' 문을 생성하는 수식을 사용합니다.="INSERT INTO students (id, name, age, grade, student_id) VALUES (" & A2 & ", '" & B2 & "', " & C2 & ", '" & D2 & "', '" & E2.. DB 2024. 6. 12. [DB] 클라우드 환경에서 Redis 사용 방법 - session 불일치 해결 방법 클라우드 환경에서 안정적인 세션 관리를 위한 Redis 설정 방법 애플리케이션을 클라우드 환경으로 배포할 때 가장 흔히 발생하는 문제 중 하나는 세션 불일치입니다.로컬 환경에서는 잘 동작하던 세션이 클라우드 환경에서는 제대로 작동하지 않는 경우가 많습니다.이 글에서는 Redis를 사용하여 세션을 분산 관리하는 방법을 단계별로 설명합니다. 먼저, Redis는 "Remote Dictionary Server"의 약자로, 오픈 소스 인메모리 데이터 구조 저장소입니다.Redis는 다양한 종류의 데이터를 저장하고 관리할 수 있는 강력한 기능을 제공하며,주로 캐싱, 세션 저장소, 실시간 데이터 분석 등 다양한 용도로 사용됩니다. 단계 1: Redis 서버 설정Redis 설치 및 실행먼저 Redis 서버를 설치하.. DB 2024. 5. 28. [postgreSQL] org.postgresql.util.PSQLException: 오류: 연산자 없음 에러 처리하기 개발 DB는 mariaDB를 사용하다가 운영 DB는 postgreSQL을 사용해서변경작업을 하다가 내장함수 관련 오류사항이 발생해 정리해 본다. Error querying database. Cause: org.postgresql.util.PSQLException: 오류: 연산자 없음: integer = character varyingCause: org.postgresql.util.PSQLException: 오류: 연산자 없음: integer = character varying Error 발생원인 : PostgreSQL 8.4 이후 버전부터는 자동으로 타입캐스팅을 해주는 기능이 사라졌다고 한다.필자는 현재 15.6 버전을 사용 중이다. 그래서 쿼리문에서 DB 데이터 타입과 파라미터 타입을 일.. DB 2024. 4. 30. [DB] SQL Injection 방지를 위한 안전한 쿼리 작성: ${} 대신 Prepared Statements 활용 [SQL 쿼리문에서 ${} 사용하지 말아야 하는 이유와 대체 방법] 최근에 파일럿 프로젝트를 진행하면서 쿼리문에서 '${}'를 썼다가 코드리뷰에서 지적을 받은 적이 있다. T.T왜 '${ }' 를 쓰면 안 되는지, 그럼 대체방법에는 무엇이 있는지 정리해 본다. '${}'를 사용하지 말아야 하는 이유 SQL 쿼리문에서 '${ }'를 사용하는 것은 주로 동적으로 값이 들어가는 경우에 활용됩니다.그러나 '${}'는 보안상의 위험이 있습니다. 이를 사용할 경우 SQL Injection 공격에 취약해질 수 있습니다.SQL Injection 공격은 사용자가 입력한 값을 그대로 쿼리에 넣는 경우에 발생할 수 있으며,이를 악용하여 데이터베이스를 손상시키거나 사용자의 개인정보를 유출할 수 있습니다. '.. DB 2024. 4. 25. [SQL] MariaDB와 Oracle에서의 페이징 처리 : 쿼리 비교와 예시 마리아DB(MariaDB)와 오라클(Oracle)은 SQL 쿼리 언어의 표준을 따르고 있지만, 몇 가지 차이점이 있습니다.차이점과 예시 쿼리를 비교해보며 각 상황에 맞게 적용해 봅시다. 페이징 처리와 관련된 쿼리 작성 시 차이점 1. LIMIT 및 OFFSET vs ROW_NUMBER() 함수▶ 마리아DB (MariaDB) : 페이징 처리를 위해 'LIMIT' 및 'OFFSET' 절을 사용합니다.: 'LIMIT'은 반환할 행의 수를 지정하고, 'OFFSET'은 시작할 행의 위치를 지정합니다.▶ 오라클 (Oracle) : 오라클에서는 'ROW_NUMBER()' 함수와 서브쿼리를 사용하여 페이징 처리를 합니다.: 'ROW_NUMBER()' 함수를 사용하여 각 행에 순서를 부여하고, 그 순서를 기준으.. DB/SQL 2024. 4. 25. [DB] auto_increment란? (자동 증가 열 생성/추가) MySQL의 Auto increment mysql에서는 'auto_increment' 기능을 사용하여 열에 자동으로 고유한 값을 생성한다.주로 기본 키 (primary key)를 위해 사용되며, 새로운 행(row)이 삽입될 때 MySQL은 해당 열에 다음 사용 가능한 정수 값을 자동으로 할당한다. 이 기능을 통해 기본 키 값을 생성하는 과정이 간단해지며, 테이블 내에서 유일성을 보장한다. 반면에 Oracle에서는 MySQL의 'auto_increment'와 정확한 동등한 기능을 갖고 있지 않다.Oracle은 대신 고유한 값을 생성하기 위해 시퀀스를 사용한다. 시퀀스는 고유한 정수 값을 생성하는 데이터베이스 객체이다. MySQL의 auto_increment 열과 달리 Oracle의 시퀀스는 특정 테이블에 .. DB 2024. 4. 16. [머신러닝] 로지스틱 회귀 (Logistic Regression) 로지스틱 회귀 (Logistic Regression) 선형 회귀 분류는 예외적인 데이터에 예민한 단점이 있다. 그래서 분류를 할 때는 로지스틱 회귀 (Logistic Regression) 를 사용한다. 로지스틱 회귀는 데이터에 가장 잘 맞는 시그모이드 함수를 찾는 것이다. 시그모이드 함수는 곡선의 형태이며 항상 0과 1의 사이의 결과를 낸다. ? 로지스틱 회귀는 분류를 하기 위해 쓰인다는데 왜 '회귀'인가 : 사실 시그모이드 함수의 결괏값도 결국은 0과 1 사이의 연속적인 값이기 때문에 회귀라고 볼 수 있다. 그래서 '로지스틱 분류'가 아닌 '로지스틱 회귀'라고 부른다. 우리는 주로 시그모이드 함수를 결괏값이 0.5보다 큰지 작은지 보고 결국 분류를 하기에 명칭은 '회귀'이지만 주로 사용하는 건 분류라는.. DB/ML 2023. 12. 21. [머신러닝] 범죄율(CRIM)로 집값 예측하기 [ 범죄율로 집 값 예측하기 ] scikit-learn을 사용하여 선형 회귀를 직접 연습하기. CRIM : 동네의 범죄율 범죄율 열을 선택 training-test set 나누기 모델을 학습 test 데이터로 예측 - 입력 변수로는 범죄율 열만 이용. - train_test_split 함수의 옵셔널 파라미터는 test_size = 0.2, random_state = 5 - 예측 값 벡터 변수 이름은 y_test_predict # 필요한 라이브러리 import from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression .. DB/ML 2023. 12. 20. [머신러닝] 선형 회귀(Linear Regression) 머신러닝 알고리즘 선형 회귀에 대해 정리해 보자 ! 선형 회귀는 단순하면서도 유용하고, 특히 다른 많은 알고리즘의 기반이 되기 때문에 완벽하게 이해하는 것이 중요하기에 관련된 개념들도 함께 정리해 보자. 선형 회귀 (Linear Regression) : 알려진 다른 관련 데이터 값을 사용하여 알 수 없는 데이터의 값을 예측하는 데이터 분석 기법. : 선형회귀는 머신러닝에서 '지도 학습(회귀/분류) 알고리즘' 중 연속적인 값을 예측하는 회귀에 해당한다. - 목표 변수 (target variable / output variable) : 맞추려고 하는 값 - 입력 변수 (input variable / feature) : 맞추는 데 사용하는 값 , '특징/속성' 쉽게 말하자면 위 그래프에서 데이터를 가장 잘 대.. DB/ML 2023. 12. 20. Kaggle(캐글) 타이타닉 생존자 예측하기 (1) [ Kaggle(캐글) 타이타닉 문제 해결하기] Titanic - Machine Learning from Disaster | Kaggle www.kaggle.com 타이타닉 탑승자 정보 데이터를 가지고, "어떤 종류의 사람이 생존할 가능성이 높은가?" 라는 질문에 답하는 예측 모델을 구축해 봅시다! 필자는 Google colab에서 실행하였다. 따라서 Data에서 훈련세트, 테스트세트 Dataset을 받아서 해당파일 경로에 넣어주었다. [ 훈련세트 필드명 확인 ] survived : 생존=1, 죽음=0 pclass : 승객 등급. 1등급=1, 2등급=2, 3등급=3 sibsp : 함께 탑승한 형제 또는 배우자 수 parch : 함께 탑승한 부모 또는 자녀 수 ticket : 티켓 번호 cabin : 선실.. DB/ML 2023. 12. 19. [Oracle] LAG, LEAD - 이전 로우, 이후 로우 값 반환 오라클 함수 중 이전 row나 이후 row의 값을 확인해야 하는 경우가 종종 있다. 이럴 때 쓰는 함수가 LAG(), LEAD() 함수들이다. ▶ LAG - 명시된 값을 기준으로 이전 로우의 값 반환 LAG(조건, 순서, 디폴트) OVER (PARTITION BY 절) ▶ LEAD - 명시된 값을 기준으로 이후 로우의 값 반환 LEAD(조건, 순서, 디폴트) OVER (PARTITION BY 절) LAG(), LEAD() 예시 SQL문 SELECT ID , AMT , LAG(ID) OVER(ORDER BY ID) AS PREV_ID , LEAD(ID) OVER(ORDER BY ID) AS NEXT_ID , LEAD(ID,2,'ID없음') OVER(ORDER BY ID) AS T_NEXT_ID FROM T.. DB/Oracle 2023. 7. 5. [SQL] HAVING 과 WHERE 차이 SQL 조건문 HAVING과 WHERE의 차이 정리. ● WHERE - FROM 뒤에 위치. 조건절에는 다양한 비교연산자를 사용하여 조건을 줄 수 있다. SELECT * FROM 테이블명 WHERE 조건절 ● HAVING - GROUP BY 뒤에 위치. 조건절에는 다양한 비교연산자를 사용하여 조건을 줄 수 있다. SELECT * FROM 테이블명 GROUP BY 필드명 HAVING 조건절 ▷ WHERE, HAVING 둘 다 필드에 조건을 줄 수 있다는 공통점이 있다. WHERE는 기본적으로 모든 필드에 조건을 줄 수 있지만, HAVING은 전체테이블에서 GROUP BY로 새로 생성된 테이블에 그룹화된 필드에 조건을 줄 수 있다는 차이점이 있다. 또한, HAVING에 조건을 줄 필드는 SELECT에 반드시.. DB/SQL 2023. 6. 16. 이전 1 2 3 다음 728x90