본문 바로가기

728x90
반응형

IT/DB

(48)
SQL 쿼리에서 문자열 검색 조건 REGEXP 사용하는 방법은? REGEXP는 SQL에서 정규표현식(Regular Expression) 으로 문자열을 매칭할 수 있게 해주는 강력한 기능입니다. 큐브리드에서도 REGEXP_LIKE() 함수를 통해 사용 가능합니다. ✅ 기본 문법 (CUBRID)SELECT * FROM 테이블명 WHERE REGEXP_LIKE(컬럼명, '정규표현식패턴'); 🔍 예제들 1. 특정 패턴 포함-- 이름에 "김"이 들어간 사람SELECT * FROM 사용자 WHERE REGEXP_LIKE(이름, '김');2. 전화번호가 010으로 시작SELECT * FROM 연락처 WHERE REGEXP_LIKE(전화번호, '^010');3. 숫자만 포함된 문자열 찾기SELECT * FROM 데이터 WHERE REGEXP_LIKE(내용, '^[0-9]+$');..
SQL 데이터베이스 사용 횟수 별 사용자 수 구하는 쿼리 예시 데이터베이스에서 사용 횟수별 사용자 수를 구하는 SQL 쿼리는 아래 사용자의 활동 로그 기반 예시로 작성할 수 있습니다.  ✅ 예제 테이블 (user_logs) 사용자의 활동(로그인, 조회, 결제 등)이 기록된 로그 테이블이 있다고 가정하겠습니다. user_idactionaction_date1login2024-03-011purchase2024-03-021view_page2024-03-022login2024-03-012view_page2024-03-033login2024-03-013purchase2024-03-043view_page2024-03-053view_page2024-03-05 ✅ SQL 쿼리 (사용 횟수별 사용자 수 집계) SELECT usage_count, COUNT(user_id) AS use..
mysql workbench table inspector 클릭 시 unhandled exception: invaild column partition_name for resultset 오류 MySQL Workbench에서 "Unhandled exception: invalid column partition_name for resultset" 오류가 발생하는 경우, 주로 MySQL Workbench와 MySQL 서버 간의 버전 불일치가 원인입니다. 특히, MySQL 8.x 버전에서 Workbench가 올바르게 테이블 정보를 가져오지 못할 때 발생할 수 있습니다.✅ 해결 방법1. MySQL Workbench 최신 버전으로 업데이트MySQL Workbench가 구버전이면 최신 MySQL 서버에서 변경된 정보를 제대로 처리하지 못할 수 있습니다.✅ MySQL 공식 다운로드 에서 최신 버전으로 업데이트하세요.2. Workbench 설정 변경 (Partition 정보 비활성화)table inspecto..
데이터베이스 fact 테이블, dimension 테이블 뜻 데이터베이스에서 Fact 테이블과 Dimension 테이블은 데이터 웨어하우스(Data Warehouse)에서 자주 사용되는 개념입니다.✅ 1. Fact 테이블 (사실 테이블)"측정값(수치 데이터)"을 저장하는 테이블일반적으로 트랜잭션 데이터(판매, 클릭 수, 매출 등) 를 포함📌 특징주로 숫자 데이터(측정값, 집계 대상) 를 저장Dimension 테이블의 키(FK)를 포함하여 관계를 형성대량의 데이터를 저장하는 경우가 많음 📌 예제 (판매 데이터)주문ID고객ID제품ID판매액수량날짜ID1001C001P00150,0002202403011002C002P003120,0001202403021003C003P00280,000420240303 📌 Fact 테이블의 핵심 데이터:✅ 판매액, 수량 → 숫자로 측정 ..
The class 'A테이블' is marked as REUSE_OID and is non-referable. Non-referable classes can't be the domain of an attribute and their instances' OIDs cannot be returned. 오류 원인? 오류 원인 The class 'A테이블' is marked as REUSE_OID and is non-referable. Non-referable classes can't be the domain of an attribute and their instances' OIDs cannot be returned. 이 오류는 큐브리드(CUBRID)에서 테이블이 REUSE_OID로 설정되어 있을 때 발생합니다.REUSE_OID란?테이블이 REUSE_OID로 설정되면, 객체 ID(OID)가 재사용되므로 해당 테이블을 다른 테이블에서 참조(외래키 관계)할 수 없습니다.즉, 이 테이블을 다른 테이블에서 외래키(FK) 또는 참조 타입(REFERENCE) 으로 사용할 수 없습니다.또한, SELECT 쿼리에서 OID를 반환할..
데이터베이스에서 execute 함수 역할은? 데이터베이스에서 execute() 함수 역할execute() 함수는 SQL 쿼리를 실행하는 역할을 합니다. 주로 Python의 SQLite, MySQL, PostgreSQL 등의 데이터베이스 라이브러리에서 사용되며, 데이터 조회, 삽입, 수정, 삭제 등의 작업을 수행할 때 사용됩니다.1. execute() 함수의 기본 개념execute() 함수는 SQL 문장을 실행하는 역할을 합니다.주로 cursor 객체를 통해 사용됩니다.execute() 실행 후에는 commit()을 호출하여 변경사항을 반영해야 합니다(필요한 경우).SELECT 쿼리를 실행한 후 fetchone(), fetchall() 등을 이용하여 데이터를 가져올 수 있습니다.2. Python sqlite3 예제 (기본 사용법) import sql..
MYSQL 데이터 import 오류 TypeError: sequence item 0: expected string, NoneType foundERROR: Import data file: sequence item 0: expected string, NoneType foundFailed 해당 오류는 MySQL Workbench에서 데이터를 가져올 때 발생한 문제이며, 원인은 NoneType 값이 str 타입으로 변환될 것으로 예상되었으나, 변환되지 못한 것 때문입니다.  🔍 오류 원인 분석 테이블 또는 컬럼 정보가 올바르게 설정되지 않음self._table_w_prefix 또는 dest_col_order에 None 값이 포함되었을 가능성이 있음dest_col_order에 None이 포함되어 있을 경우 ",".join(dest_col_order) 실행 시 TypeError 발생컬럼 이름이 누락됨dest_col_order가 None 또는 빈 리스트([])일 경우 발생 가능즉, INSERT INTO %s (%s) VALUES(%s)에서 컬럼 목록이 비어있는 경우 오류 발생잘못된 CSV 또는..
select count(*) 이랑 select count(1) 차이는? SELECT COUNT(*) vs SELECT COUNT(1) 차이점 둘 다 테이블의 행 수를 세는 역할을 하지만, 내부적으로 어떻게 동작하는지 차이가 있습니다.  ✅ 1. 기본 개념 쿼리 설명 SELECT COUNT(*)모든 컬럼을 포함한 행 개수를 셈SELECT COUNT(1)고정된 숫자(1)를 기준으로 행 개수를 셈✅ 2. COUNT(*) 작동 방식 SELECT COUNT(*) FROM employees; 모든 컬럼을 포함한 행 개수를 계산합니다.NULL 값이 포함된 행도 계산합니다.MySQL에서는 최적화되어 실제 데이터를 읽지 않고 테이블의 메타데이터를 이용해 빠르게 개수를 반환하는 경우도 있음.✅ 3. COUNT(1) 작동 방식 SELECT COUNT(1) FROM employees; 내부적으로..

728x90
반응형