MySQL 날짜/시간 함수 정리 및 자주 쓰는 패턴 모음 (MySQL Date and Time Functions)
·
Programing/SQL
왜 날짜/시간 처리가 중요한가?데이터베이스를 다루는 실무에서 날짜와 시간은 빠질 수 없는 요소입니다. 예약 시스템, 통계 분석, 매출 집계, 보고서 작성 등 대부분의 업무에서 시간 정보를 다뤄야 하며, MySQL은 이를 위한 다양한 함수를 제공합니다. 하지만 함수가 워낙 많다 보니 초보자부터 숙련자까지 종종 혼동을 겪곤 합니다. 이번 글에서는 MySQL 날짜/시간 함수의 기본과 실무에서 유용하게 쓸 수 있는 패턴들을 정리해보겠습니다.A. 날짜/시간 관련 주요 함수NOW(), CURDATE(), CURTIME()NOW() : 현재 날짜와 시간을 반환합니다.SELECT NOW(); -- 2025-06-30 14:23:12CURDATE() : 현재 날짜만 반환합니다.SELECT CURDATE(); -- 202..
GROUP BY, WHERE와 HAVING의 차이(SQL Basics Explained)
·
Programing/SQL
왜 WHERE와 HAVING이 헷갈릴까?SQL을 공부하다 보면 많은 분들이 이렇게 묻습니다. "도대체 WHERE, HAVING, 그리고 GROUP BY는 어떻게 다른 걸까요?" 특히 집계 함수(Aggregate Function)와 결합될 때 이들 절의 차이가 더욱 중요해집니다. 이 글에서는 각 절의 쓰임과 차이를 단계별로 이해하기 쉽게 풀어보겠습니다.WHERE란 무엇인가요?"WHERE"는 그룹핑 전에 각 레코드를 걸러내는 조건절입니다. 마치 요리 전에 재료 중에서 상한 재료를 미리 골라내는 것과 같다고 보면 됩니다.예제SELECT *FROM memberWHERE city = 'Seoul';이 쿼리는 Seoul에 사는 회원만 선택합니다.GROUP BY란 무엇인가요?"GROUP BY"는 같은 값을 가진 데이..
WHERE 절과 JOIN에서의 쿼리 순서, 정말 중요할까?
·
Programing/SQL
JOIN 순서와 WHERE 조건 순서, 성능에 영향 있을까?SQL을 다루다 보면 자주 듣게 되는 이야기 중 하나가 "JOIN 순서나 WHERE 조건의 순서가 쿼리 성능에 영향을 준다"는 말입니다. 초보자들이 이 부분에서 혼란을 겪는 이유는, 실제로 눈으로 보이는 SQL 작성 순서와 DB 엔진 내부에서 처리되는 순서가 다르기 때문입니다.이번 글에서는 JOIN과 WHERE 절의 순서가 정말 성능에 얼마나 영향을 주는지, 실무에서 어떤 점을 고려해야 하는지를 살펴보겠습니다.SQL 실행 순서 이해하기많은 개발자들이 SQL 쿼리를 작성할 때 SELECT 문을 위에서 아래로 순차적으로 읽습니다. 하지만 DB가 SQL을 처리하는 논리적 순서는 다음과 같습니다:FROM → JOIN → WHERE → GROUP BY →..
Mockaroo로 대용량 테스트 데이터 쉽게 생성하기
·
Programing/SQL
테스트 데이터, 왜 중요한가요?애플리케이션 개발, QA, 시연, 혹은 로드 테스트를 하다 보면 반드시 필요한 것이 있습니다. 바로 "테스트 데이터"입니다.개발 단계에서 더미 데이터를 이용하면 화면과 기능을 실제처럼 검증할 수 있습니다.QA에서는 다양한 시나리오를 반복적으로 점검해야 하므로 대량의 가상 데이터가 필요합니다.클라이언트에게 시연하거나 성능 부하 테스트를 할 때도 실제와 비슷한 데이터가 있어야 신뢰성이 높아집니다.그러나 직접 가상의 데이터를 일일이 작성하기는 번거롭고 시간도 많이 소요됩니다. 이런 때 유용하게 활용할 수 있는 도구가 바로 "Mockaroo"입니다.Mockaroo란 무엇인가?Mockaroo는 웹 기반의 데이터 생성 서비스입니다.회원가입 없이도 무료로 최대 1,000개의 행(Row)..
SQL :: ORACLE :: 오라클 지우기
·
Programing/SQL
시작 > 프로그램 > Oracle Installation Products > Universal Installer > 제품설치해제 > 제품 모두 체크하고 제거 버튼 클릭 시작 > 실행 > regedit > HKEY_LOCAL_MACHINE > SOFTWARE > ORACLE 제거. HKEY_LOCAL_MACHINE > SYSTEM > ControlSet001 > Services >Oracle 관련은 모두 삭제. HKEY_LOCAL_MACHINE > SYSTEM > ControlSet002 > Services >Oracle 관련은 모두 삭제. HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services >Oracle 관련은 모두 삭제. 시스템 재부팅 오라클 설치 ..
SQL :: ORACLE :: 오라클 :: 자동증가값 :: 시퀸스 :: SEQUENCE
·
Programing/SQL
게시판의 게시글 넘버 사용시 오라클일경우 시퀸스를 쓴다. 내가 알고 있기론 오라클에서 자동증가값이 시퀸스 밖에 없는걸로 안다.. (MYSQL 에서의 자동증가값 쓰다가 캐 삾질) --유저 message에서의 테이블 생성 create table message( num number(10) primary key, name varchar(30) not null, email varchar(50) null, message varchar(300) not null, sourceip varchar(15) null, writedate timestamp null ); --message에서 시퀸스 생성(유저네임) create sequence 유저네임_no start with 1 increment by 1; 예)create se..
SQL :: ORACLE :: 오라클 :: 사용자 계정 생성하기
·
Programing/SQL
1.사용자 만들기 SQL> create user message identified by tiger; 사용자가 생성되었습니다. 2.사용자에게 권한주기 SQL> grant create session to message; //권한주기(권한을 주지 않으면 사용자로 접속이 안된다.) 권한이 부여되었습니다. SQL> grant create table to message; 권한이 부여되었습니다. SQL> grant connect,resource to message; //테이블이 만들어 지지 않을때 권한이 부여되었습니다. 3.생성한 사용자로 접속하기 SQL> connect message/tiger 연결되었습니다. 4.현재 사용자 확인하기 SQL> show user USER은 "MESSAGE"입니다 덤. 사용자 삭제하기..
SQL :: 보안 관리 :: 끄적임
·
Programing/SQL
sql 서버 호스팅 보안: 사용자를 제한 (sql서버 계정, 권한) 계정을 만들고, 개체에 계정을 지정하고, 얼마만큼 그 자원에 지정할 것인가?(읽기, 쓰기) 우리는 db차원에서 계정을 만들고 주어진 자원에 권한을 부여하자. 1.인증방법 사용자들이 db자원을 사용하기 위해 엑세스를 하는데 사용자계정에 따라 통제가능 1)sql계정인증방법("sa"특수계정, 모든 db에 엑세스가능) ("guest, dbo") sql자체에서 사용자계정을 만듬 2)windows인증방법 윈도우즈 자체계정을 통해 인증하는 방법. 장점: sql서버 계정을 따로 만들지 않고 윈도우즈 인증만으로 관리하므로 계정관리가 용이 감사, 암호만료, 특정시스템 로그인제한등의 다양한 관리 가능. 단점: 윈도우즈 시스템끼리만 있는 환경에서만.... 혼..
SQL :: ORACLE :: 휴지인스턴스
·
Programing/SQL
휴지 인스턴스(idle instance)라는 것은 데이터베이스가 셧다운 된 상태를 말한다. regedit >> oracle - home0 - ORA_JAVA13_AUTOSTART (false) 오라클 서비스 다시시작 c:>sqlplus "/as sysdba" SQL> startup SQL> conn user/pass 혹은 제어판 >관리 도구 > 서비스 에서 oracle 을 재시작해준다.
SQL :: OJDBC :: 오라클 JDBC
·
Programing/SQL
위 파일을 받고 작업할 \lib 폴더에 넣고 사용