반응형
[MySQL] 5분 단위로 그룹핑하여 평균값 계산
Database/MySQL2023. 1. 12. 14:27[MySQL] 5분 단위로 그룹핑하여 평균값 계산

MYSQL을 사용하여 5분 단위로 그룹핑하여 평균값 계산하는 방법에 대해 알아보겠습니다. 테이블 생성 먼저 분 단위로 그룹핑과 평균값 계산을 위해 DATETIME, FLOAT 타입이 포함된 테이블을 생성합니다. CREATE TABLE test ( id INT NOT NULL AUTO_INCREMENT, sensor_value FLOAT, log_time DATETIME, PRIMARY KEY(id), ) ENGINE=MYISAM CHARSET=utf8; 테이블이 생성되면 값을 입력합니다. 첫 번째 방법 시간 단위로 먼저 그룹핑한 후 분단위를 5로 나누어 그룹핑합니다. SELECT date_format(log_time, '%Y%m%d%H%i%S'), AVG(sensor_value) FROM test GRO..

[MySQL] 스토리지 엔진(Storage Engine)
Database/MySQL2022. 12. 3. 23:20[MySQL] 스토리지 엔진(Storage Engine)

MySQL 스토리지 엔진 종류 및 간단 비교 내용입니다. MyISAM 정적인 테이블, 로그 테이블 쓰기 작업이 별로 없는 select 위주의 테이블 다수의 세션이 동시 작업을 하는 경우 성능이 저하됨 InnoDB 민감한 정보를 갖는 테이블 (회원 등) 갱신 (읽기 / 쓰기) 위주의 트랜잭션이 요구되는 테이블 인덱스가 많이 걸린 대량의 테이블 Archive 로그 수집에 적합 데이터가 메모리상에서 압축된 후 압축된 상태로 디스크에 저장 Memory 일시적으로만 사용되는 임시 테이블

[MySQL] 유용 명령어
Database/MySQL2022. 12. 3. 22:35[MySQL] 유용 명령어

Help HELP SHOW; HELP {SELECT | DELETE | UPDATE}; HELP ALTER; HELP ALTER {DATABASE | TABLE}; Show SHOW PRIVILEGES; SHOW OPEN TABLES; SHOW TABLE STATUS; 테이블 칼럼 조회 명령어입니다. (코멘트 포함) SHOW FULL COLUMNS FROM 테이블명; Select -- 왜래키 규약 SELECT * FROM information_schema.REFERENTIAL_CONSTRAINTS; -- PRIMARY KEY, UNIQUE 규악 등 SELECT * FROM information_schema.TABLE_CONSTRAINTS WHERE table_schema = 데이터베이스명; 백업 $ my..

[MySQL] ALTER TABLE 구문 정리
Database/MySQL2022. 11. 29. 13:55[MySQL] ALTER TABLE 구문 정리

MySQL에서 사용하는 ALTER TABLE 구문에 대해 알아보겠습니다. 테이블 관련 테이블 생성 테이블 2개를 생성합니다. CREATE TABLE test ( id INTEGER, age INTEGER, name VARCHAR(50), jumin VARCAHR(15), PRIMARY KEY(id), UNIQUE(age), INDEX(name), KEY(jumin), INDEX(name, jumin) ); CREATE TABLE test2 ( id INTEGER, parent_id INTEGER, FOREIGN KEY (parent_id) REFERENCES test(id) ON DELETE CASCADE ON UIPDATE CASCADE ); INDEX를 KEY로 바꿔도 됩니다. INDEX(name, ..

[MySQL] 인덱스(INDEX) 정리
Database/MySQL2022. 11. 29. 13:53[MySQL] 인덱스(INDEX) 정리

인덱스(index)란? 인덱스(index)는 테이블에서 원하는 데이터를 쉽고 빠르게 찾기 위해 사용합니다. 이러한 인덱스는 자주 사용되는 필드 값으로 만들어진 원본 테이블의 사본이라고 생각할 수 있습니다. MySQL은 데이터를 검색할 때 첫 번째 필드부터 차례대로 테이블 전체를 검색합니다. 따라서 테이블이 크면 클수록 데이터를 탐색하는 시간도 많이 늘어나게 됩니다. 장점 MIN(), MAX() 등의 함수를 사용하는 쿼리에 대해 해당 필드에 인덱스가 있는 경우 빠르게 찾을 수 있습니다. ORDER BY와 GROUP BY를 빠르게 수행할 수 있습니다. 단점 ISAM, MyISAM 테이블 인덱스를 무겁게 만들면 인덱스 파일이 데이터 파일보다 더 빠르게 최대 크기에 도달됩니다. BDB(Berkeley DB) 테..

[MySQL] 계정 관리
Database/MySQL2022. 11. 27. 23:28[MySQL] 계정 관리

MySQL에서 계정 생성 및 권한 부여와 계정 정보 수정하는 방법에 대해 알아보겠습니다. 로그인 root의 패스워드를 입력하여 로그인합니다. $ sudo mysql -u root -p 계정 확인 MySQL [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | test | | triplet_db | +--------------------+ 6 rows in set (0.435 sec) MySQL [(none)]> use mysql; Database changed 다음 명령어를 실하여 사용자 계..

[MySQL] 접속 에러 해결 방법
Database/MySQL2022. 11. 27. 23:28[MySQL] 접속 에러 해결 방법

MySQL 서버에 접속 시도 시 다음과 같은 에러가 발생할 경우 해결 방법입니다. $ sudo mysql -u root ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) MySQL 사용자로 접속 시도 시 /var/lib/mysql/ 경로에서 mysql.sock 파일을 찾을 수 없어서 나오는 오류입니다. 먼저 mysql.sock 파일을 찾습니다. $ find / -name "mysql.sock" /db/mysql_data/mysql.sock 해결 1 my.cnf 파일을 열고 아래 항목을 추가합니다. $ vi /etc/my.cnf [client] socket=/db/mys..

[MariaDB] 계정 생성 및 권한 부여
Database/MySQL2022. 11. 13. 22:12[MariaDB] 계정 생성 및 권한 부여

MariaDB에서 계정을 생성하고 권한을 부여하는 방법입니다. 로그인 root의 패스워드를 입력하여 로그인합니다. $ sudo mysql -u root -p 계정 확인 MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | test | | triplet_db | +--------------------+ 6 rows in set (0.435 sec) MariaDB [(none)]> use mysql; Database changed 다음 명령어를 실행하여 사용자 계정들을 확인합니다...

[MySQL] Packet for query is too large 에러 발생시
Database/MySQL2022. 9. 12. 21:58[MySQL] Packet for query is too large 에러 발생시

MySQL을 사용하여 개발 중 4MB가 넘는 파일을 업로드 시 다음과 같은 패킷 에러가 발생하였다. com.mysql.jdbc.PacketTooBigException: Packet for query is too large (9,523,277 > 4,194,304). You can change this value on the server by setting the 'max_allowed_packet' variable 기본적으로 할당된 패킷 사이즈 값이 너무 작기 때문에 에러가 발생했기 때문에 수정이 필요하다. MySQL 설정에서 max_allowed_packet 값을 변경하여 해결하였다. max_allowed_packet은 서버로 질의하거나 받게 되는 패킷의 최대 길이를 나타내는 시스템 변수 다음은 해결방..

[MySQL] Query 정리
Database/MySQL2022. 9. 4. 22:16[MySQL] Query 정리

SELECT SELECT * FROM 테이블명 SELECT * FROM 테이블명 WHERE 조건 SELECT 필드명1, 필드명2, ... FROM 테이블명 WHERE 조건 INSERT INSERT INTO 테이블명(필드명1, 필드명2, 필드명3, ...) VALUES (데이터값1, 데이터값2, 데이터값3, ...) 또는 INSERT INTO 테이블명 VALUES (데이터값1, 데이터값2, 데이터값3, ...) UPDATE UPDATE 테이블명 SET 필드명1=데이터값1, 필드명2=데이터값2, ... WHERE 필드명=데이터값 DELETE DELETE FROM 테이블명 WHERE 필드명=데이터값 중복 데이터 조회 중복된 것 모두 조회 SELECT 필드명, count(*) FROM 테이블명 GROUP BY ..

반응형
image