Database 9

[MySQL] Timestamp와 Datetime중 어떤 타입을 사용해야 할까?

요약Timestamp 타입의 장점이 더 크기 떄문에 Timestamp 사용하면 된다.1. Timestamp 타입은 현재 시각 -> UTC 시각으로 변환이 가능하며, Datetime은 변환되지 않는다.2. Timestamp 타입을 갖는 쿼리는 캐시로 저장되지만, Datetime 타입을 갖는 쿼리는 캐시로 저장되지 않는다.   https://jaejade.tistory.com/125 [MySQL] Timestamp 타입과 Datetime 타입의 차이 🕰이 포스팅을 하게 된 이유는 업무 중 우연히 어떤 에러를 발견했기 때문이었다. 당시 데이터 만료 기간을 설정하는 중이었고 특정 조건에서는 만료 기간을 과거 날짜로 세팅하여 데이터 제공을jaejade.tistory.com

Database 2025.04.01

[MongoDB] 설치 에러 : mongo 커맨드 없음 에러

0. 들어가기 전에만약 환경 변수 설정을 아직 안하셨다면 환경변수 설정을 완료해주세요.cmd 창에서 아래의 명령어는 잘 나오는 상태여야 합니다.   1. 에러 원인MongoDB 6.0 버젼부터 mongo 명령어 대신 mongosh를 사용한다는 공식문서가 있습니다.그래 mongoshell을 설치해주어야 합니다. 2. 해결 방법https://www.mongodb.com/try/download/shell?jmp=docs위 링크에 들어가 mongodb shell msi 다운로드해주세요. 이후 cmd 창에 들어가서 명령어를 치면 해결가능합니다.

Database/MongoDB 2025.02.20

[DB] SET OPERATORS (MariaDB)

종류 : UNION, UNION ALL, INTERSECT, MINUS위와같은 ‘tbl_menu’ table이 있을 때, 예제를 작성해보자.UNION합집합을 해준다. 중복이 있을 시 제거해준다.SELECT * from tbl_menu where category_code = 10UNIONSELECT * from tbl_menu where menu_price UNION ALL중복이 난 부분까지 모두 나타내준다.SELECT * from tbl_menu where category_code = 10UNION ALLSELECT * from tbl_menu where menu_price INTERSECTMaria DB에는 교집합 연산자가 없기 때문에, inner join이나 in을 이용해 비슷한 효과를 내주어야 한다..

Database 2025.02.06

[DB] 제약조건 수정 ( primary key 추가/삭제/수정, foriegn key 추가/삭제/수정)

foreign key를 수정/삭제하기 위해선 이름을 알아야 한다. 이름을 알아내는 sql 문은 다음과 같다.1. 외래키 외래키 이름 검색select*from information_schema.table_constraints where table_name='테이블명'; foreign key 삭제ALTER TABLE '테이블명' DROP FOREIGN KEY '제약조건명'; foreign key 추가ALTER TABLE '테이블명' ADD CONSTRAINT '제약조건명'FOREIGN KEY ('컬럼명') REFERENCES '참조할 테이블명'('참조할 컬럼명')[ON DELETE SET NULL ON UPDATE CASCADE];  2. 기본키primary key 삭제ALTER TABLE '테이블명' DR..

Database 2025.02.04

[DB] ORDER BY 구문 활용

오름차순 정렬, 내림차순 정렬,  field 함수를 이용한 사용자 정의 정렬이 가능하다.SELECT menu_code , menu_name , menu_price FROM tbl_menu-- ORDER BY menu_price ASC; --asc는 오름차순 (default) ORDER BY menu_price DESC; -- desc는 내림차순-- 정렬 기준 상 동일한 값이 있을 때-- 그 다음 정렬 기준을 세울 수 있음 SELECT menu_code , menu_name , menu_price FROM tbl_menu ORDER BY menu_price DESC, menu_code; -- order by절 뒤에 컬럼명 외에 연산 결과, 별칭 등을 사용할 수 있음SELECT ..

Database 2025.02.04

[DB] SELECT 구문 활용

DML(Data  Manipulation Language) : select, insert, update, delete 언어 중 하나이다. -- 01. select : 특정 테이블에서 원하는 데이터 조회SELECT menu_name FROM tbl_menu;SELECT menu_code , menu_name , menu_price , category_code , orderable_statusFROM tbl_menu;SELECT menu_name FROM tbl_menu;-- 단독으로 select문 사용-- 블럭 영역 명령어 실행 시 ctrl + F9SELECT 7 + 3;SELECT 7 * 3;SELECT 7 % 3;-- 내장함수 확인SELECT NOW() AS 현재시간;SELECT CONCAT..

Database 2025.02.04

[DB] MaridDB 문법 - 간략하게

1. selectSELECT menu_name FROM tbl_menu;-- '*' : 모든 컬럼을 보고싶을 때 사용, 그러나 현업에서는 모호한 *보다는 확실하게 모든 컬럼을 명시해서 사용한다고 한다.SELECT * FROM tbl_menu; -- 단독으로 select문 사용SELECT 7 + 3;-- 내장함수 확인SELECT NOW() AS 현재시간;2. order by: 오름차순 정렬이 기본이다.2-1. 기본 사용 형태ORDER BY '컬럼명' [ASC/DESC]SELECT menu_code , menu_name , menu_price FROM tbl_menu-- ORDER BY menu_price ASC; --asc는 오름차순 (default)..

Database 2025.01.24

[DB] mariaDB 계정 생성

처음 DB를 설치하면 기본적으로 root 계정이 생성됩니다. 이 계정은 모든 권한을 가진 관리자 계정입니다. 그래서 저희는 보통 따로 계정을 파서 DB를 계정에 할당한 후 사용합니다. 그 방법은 다음과 같습니다.계정 이름, 비밀번호, DB이름 자리에 본인이 넣고싶은 내용을 넣으시면 됩니다.-- 새로운 계정 생성CREATE USER '계정이름'@'%' IDENTIFIED BY '비밀번호';-- 기본적으로 존재하는 데이터베이스를 사용USE mysql;-- 계정 정보 확인SELECT * FROM USER;-- 데이터베이스 생성CREATE DATABASE 데베이름;-- 데이터베이스 목록 조회SHOW DATABASES;-- swcamp의 권한 확인SHOW GRANTS FOR '계정이름'@'%';-- swcamp가..

Database 2025.01.24