[MySQL] DATETIME, TIMEZONE
·
DB/MySQL
MySQL의 자료형 중 DATETIME과 TIMESTAMP는 모두 날짜와 시간 정보를 저장하는데 사용된다. 이 둘의 차이는 TIMEZONE의 반영 여부이다.​xCREATE TABLE datetest ( test_datetime DATETIME, test_timestamp TIMESTAMP);​INSERT INTO datetest VALUE(NOW(), NOW());테스트를 위해 DATETIME과 TIMESTAMP를 가진 테이블을 만들고 현재 시간을 저장했다. xxxxxxxxxxSELECT * FROM datetest;위와 같이 동일한 값이 저장된 것을 확인할 수 있다. xxxxxxxxxxSET TIME_ZONE = "Asia/Seoul";하지만 위처럼 세션의 TIMEZONE을 변경하고 데이터를 조회할 경..
[MySQL]8. 데이터베이스 설계
·
DB/MySQL
34. 데이터베이스 설계데이터베이스를 설계한다는 것은 데이터베이스의 스키마 내에 테이블, 인덱스, 뷰 드으이 데이터베이스 객체를 정의하는 것을 말한다.테이블 명테이블을 설계할 떄 테이블 이름이나 열 이름을 지정한다.CREATE TABLE로 지정하는걸 물리명, 설꼐산 이름이 논리명테이블 생성시 COMMENT로 논리명을 표시해줄 수 있다.CREATE TABLE 물리명 ( id INT NOT NULLCOMMENT = '논리명 설명';자료형테이블의 열에 적절한 자료형 지정5.-2) 참고기본키테이블을 작성할 떄 기본키 제약을 거는 경우 주의 : 행의 유일성을 지정AUTO_INCREMENT : PRIMARY KEY, UNIQUE로 유일성을 지정하도록 한다. ER 다이어그램테이블을 설계할 떄 테이블 간의 관계를 명확..
[MySQL] 7. 복수의 테이블 다루기
·
DB/MySQL
31. 집합 연산 SELECT ... UNION [ALL | DISTINCT] SELECT ... [UNION [ALL | DISTINCT] SELECT ...] UNION은 다중 SELECT 문을 하나의 결과 집합으로 결합할 때 사용된다. SELECT로 지정된 튜플에 속해 있는 모든 컬럼의 값들 자체가 중복 체크의 기준이 된다. UNION ALL UNION [DISTINCT] union과 union all의 실행 계획을 보면 union는 실행 시 임시 테이블을 생성한다는 것을 확인할 수 있다. union에서 중복제거를 위한? 추가 연산을 수행한다. MySQL 내부적으로 UNION/UNION ALL 처리과정 최종 UNION [ALL | DISTINCT] 결과에 적합한 임시 테이블(Temporary tab..
[Redis] PHP 연동
·
DB/Reids
PHP에서 redis를 사용하기 위해서는 phpredis 라는 php 모듈이 필요하다. 모듈을 컴파일해서 설치해야 된다. phpredis 최신 버전을 다운다운받은 파일을 압축을 해제한다음, 디렉토리로 이동phpize를 실행configure를 실행make, make install 실행 ​x# 압축파일 설치wget https://github.com/nicolasff/phpredis/zipball/master -O phpredis.zip​#unzip이 없으면 설치해야함 yum install unzip -yunzip phpredis.zip​#phpize 싫행cd phpredis-phpredis-08a7957/phpize​# configure 실행./configure​# makemake && make instal..
[Redis] Centos7 Redis 설치
·
DB/Reids
설치 환경Centos7 Redis 5.0.4 redis 압축파일 다운로드 후 설치xxxxxxxxxxwget http://download.redis.io/releases/redis-5.0.4.tar.gztar xzf redis-5.0.4.tar.gzcd redis-5.0.4make && sudo make install [dir]/redis-5.0.4/utils/install_server를 실행하여 redis 서버를 설치한다.xxxxxxxxxx./utils/install_server.sh #실행실행하면 아래와 같은 메시지들이 나온다. 포트나 conf파일 경로, log파일 저장 경로 등을 입력한다. 원하는 설정을 입력할 수 있으며 입력하지 않을경우 디폴트값으로 설정된다. 포트의 디폴트 값은 6379이다.xWe..
[MySQL] 6. 데이터베이스 객체 작성과 객체
·
DB/MySQL
25) 데이터베이스 객체 데이터베이스 객체란? 테이블이나 뷰, 인덱스 등 데이터베이스 내에 정의해서 사용하는 실체를 가진 것을 말한다. 데이터베이스 객체는 스키마 내부에 만들어진다. 스키마를 정의하고, 그 안에 테이블 등 객체들을 담는다. MySQL에서 스키마를 생성하는 명령어는 다음과 같다. CREATE DATABASE [스키마 명]; 이렇게 생성한 스키마에 테이블이나 뷰 등 여러 객체를 생성할 수 있다. 스키마가 다르면 내부의 객체 이름이 같아도 상관없다. 26) 테이블 작성·삭제·변경 SELECT, INSERT, DELETE, UPDATE 같은 SQL은 데이터를 조작하는 DML로 분류된다. DDL은 데이터를 정의한는 명령으로, 스키마 내의 객체를 생성 및 관리할 떄 사용한다. xxxxxxxxxx C..
[MySQL] 5. 집계와 서브쿼리
·
DB/MySQL
20. 집계함수COUNT() : 행 개수를 반환 NULL 값이 있는경우 : COUNT(*)는 NULL 포함, 칼럼 지정할 경우 포함하지 않는다.AVG() : 해당 행 평균MIN() : 해당 열의 최소값MAX() : 해당 열의 최대값 GROUP BY가 MIN/MAX의 경우 EXPAIN을 실행해보면, Using index for group-by를 확인할 수 있다.22. 그룹화GROUP BY 구에 열을 지정하여 그룹화하면 지정된 열의 값이 같은 행이 하나의 그룹으로 묶인다. GROUP BY 구로 그룹화된 각각의 그룹이 하나의 집합으로서 집계함수의 인수로 넘겨진다.xxxxxxxxxxSELECT ...FROM 테이블명GROUP BY 열1, 열2, ....GROUP BY에서 조건을 주고 싶을 경우 WHERE를 사용..
[Redis] About Redis
·
DB/Reids
Remote Dictionary Server의 약어인 Redis는 데이터베이스, 캐시, 메시지 브로커 및 대기열로 사용하는 빠르고 오픈 소스, 인 메모리 키-값 데이터 스토어입니다. 이 프로젝트는 Redis의 원 개발자인 Salvatore Sanfilippo 씨가 이탈리아 스타트업의 확장성을 높이려 노력하는 과정에서 시작되었습니다. 현재 Redis는 1밀리초 미만의 응답 시간을 제공하므로 게임, 광고 기술, 금융 서비스, 의료 서비스 및 IoT 분야에서 실시간 애플리케이션을 위해 초당 수백만 건의 요청을 지원할 수 있습니다. Redis는 캐싱, 세션 관리, 게임, 리더 보드, 실시간 분석, 지형 공간, 라이드 헤일링, 채팅/메시징, 미디어 스트리밍 및 게시/구독 앱에서 주로 사용됩니다. Redis는 데이..