목록mysql (52)
컴공생의 다이어리
MyBatis Like문 사용방법 MyBatis에서 조건절에 Like와 parameter를 아래와 같이 사용하니 오류가 발생했다. content LIKE '%#{search}%' MyBatis에서는 Like문에 파라미터를 사용하기 위해서는 문자열 합치기 함수를 사용하여 이용해야 한다. MySQL, Oracle, MSSQL에서 사용한다면 아래를 참고해서 사용하면 된다. # MySQL/MariaDB content like CONCAT('%',#{search},'%') # Oracle content like '%' || #{search} || '%' # MSSQL content like '%' + #{search} + '%' https://fruitdev.tistory.com/60 MyBatis Like 검색..
[MySQL] 절대값 함수 MySQL에서 절대값을 얻기 위해서는 ABS 함수를 사용하면 된다. ABS(숫자) ABS 예시 두 쿼리문의 결과는 모두 1이다. SELECT ABS(-1); SELECT ABS(1); https://solbel.tistory.com/1099 [sql/mysql] abs 절대값 함수 사용법과 예제 [sql/mysql] abs 절대값 함수 사용법과 예제 기본 사용법은 아래와 같습니다. ABS(절대값을 얻어낼 수) 아래는 예제입니다. select abs(100); // 결과는 100; select abs(-100); // 결과는 100; 위 사용법과 예제.. solbel.tistory.com
[MySQL] TIMESTAMP 시간 차이 계산 MySQL에서 TIMESTAMP 자료형의 시간 차이를 계산할 때 TIMESTAMPDIFF 함수를 사용하면 된다. 제일 맨 처음 인자로 단위를 넣고 그 다음 인자들로 TIMESTAMP 타입의 날짜(시간) 2개를 넣어주면 된다. TIMESTAMPDIFF(단위, {날짜1}, {날짜2}); 단위 SECOND : 초 MINUTE : 분 HOUR : 시 DAY : 일 WEEK : 주 MONTH : 월 QUARTER : 분기 YEAR : 연 TIMESTAMPDIFF 예시 아래 쿼리문을 실행한다면 결과는 1이 나온다. SELECT TIMESTAMPDIFF(MONTH, '2022-01-20 10:00:00','2022-02-25 12:00:00') AS RESULT; 보통..
[MySQL] 프로시저를 이용한 더미데이터 생성 갑자기 대용량 데이터로 페이징 테스트와 같이 많은 양의 데이터가 필요한 경우, 하나씩 일일이 넣어주는 것은 너무 비효율적이다. 이러한 문제에 대해 프로시저를 사용하여 더미데이터를 생성할 수 있다. # 더미 데이터 생성 DELIMITER $$ DROP PROCEDURE IF EXISTS loopInsert$$ CREATE PROCEDURE loopInsert() BEGIN DECLARE i INT DEFAULT 1; WHILE i
[MySQL] the specified port already in use 에러 MySQL을 설치하다 보니 the specified port already in use 에러가 발생했다. 찾아보니 이전 MySQL 버전이 설치되어 있어서 생긴 문제였다. 이 경우 이전 버전을 삭제하면 해결된다. 윈도우를 기준으로 했을때, 윈도우키+R을 누른 뒤, resmon.exe를 입력해 리소스 모니터를 열어준다. 네트워크탭의 수신 대기 포트에서 포트가 3306인 것을 찾는다. 이에 해당하는 PID 번호를 기억해둔다. 그리고 CMD창을 관리자 권한으로 실행하고 아래 명령어를 입력해주면 된다. taskkill /F /PID {PID 번호} # example taskkill /F /PID 8100 위의 작업을 해준뒤 포트번호를..
Spring Boot AWS RDS MySQL 연동 AWS RDS MySQL을 스프링부트와 연결하려면 src/main/resources/application.properties에 들어가서 아래 내용을 넣어주면 된다. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://엔드포인트:3306/db이름 spring.datasource.username=root# 계정명 spring.datasource.password=0000# 비번
Spring Boot MySQL 연동 gradle을 사용할 때, src/main/resources/application.properties에 들어가서 아래 내용을 넣어주면 된다. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/example?serverTimezone=UTC&characterEncoding=UTF-8 spring.datasource.username=root# 계정명 spring.datasource.password=0000# 비번 https://victorydntmd.tistory.com/321 [SpringBoot] Mysql 연동 개발환경..
트랜젝션 제어어(TCL, Transaction Control Language) 트랜젝션 제어어는 데이터 조작어(DML) 명령어 실행, 취소, 임시저장할 때 사용하는 명령어이다. 트랜젝션(Transaction)은 분할할 수 없는 최소 단위이며 논리적인 작업 단위이다. 실행(COMMIT) 실행(COMMIT)은 모든 작업을 최종 실행하는 명령어이다. /* 실행 */ COMMIT; 취소(ROLLBACK) 취소(ROLLBACK)은 모든 작업을 되돌리는 명령어이다. /* 취소 */ ROLLBACK; /* 특정 SAVEPOINT로 돌아가려면 */ ROLLBACK TO 임시저장_이름; 임시저장(SAVEPOINT) 임시 저장(SAVEPOINT)은 ROLLBACK 저장점을 지정하는 명령어이다. /* SAVEPOINT 지정..
데이터 제어어(DCL, Data Control Language) 데이터 제어어는 데이터베이스 관리자(DBA)가 특정 사용자(User)에게 데이터 접근 권한 부여 및 제거할 때 사용하는 명령어이다. 권한 부여 및 제거 권한을 부여할 때는 GRANT문을 사용하고 권한을 제거할 때는 REVOKE문을 사용한다. 형식은 GRANT/REVOKE 권한 ON 테이블이름 TO/FROM 특정사용자;이다. /***************권한 부여 및 제거***************/ /** 권한: CREATE, ALTER, DROP, INSERT, DELETE, UPDATE, SELECT 등 **/ /* 특정 권한 부여 */ GRANT SELECT, DELETE ON PRACTICE.회원테이블 TO 'TEST'@LOCALHO..
데이터 조작어(DML, Data Manipulation Language) 데이터 조작어는 데이터를 삽입(INSERT), 조회(SELECT), 수정(UPDATE), 삭제(DELETE)할 때 사용하는 명령어이다. 데이터 삽입(INSERT) 데이터 삽입할 때는 INSERT INTO 문과 함께 VALUES 절을 사용하여 해당 테이블에 새로운 레코드를 추가할 수 있다. 아래의 방법으로 데이터를 삽입가능한데 첫번째 방법의 경우 필드이름들을 괄호 안에 넣고 VALUES 뒤에 괄호안에 데이터 값들을 넣으면 앞서 써놓은 필드이름들에 매핑되어 값들이 들어간다. 두번째 방법의 경우 필드의 이름을 생략했는데, 이때는 데이터베이스의 스키마와 같은 순서대로 필드의 값이 자동으로 대입된다. /***************데이터 삽입..