MySql 유용한 팁
mysql에서 테이블 정보 확인하는 법, 날짜 비교, 날짜 빼기등 mysql의 팁을 기록하였습니다.
테이블 정보 확인 쿼리
SELECT
COLUMN_NAME, COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'DV_CMMN_BBS';
DV_CMMN_BBS 대신에 대상 테이블명을 넣으면 된다.
날짜 비교
STR_TO_DATE('2000-01-31', '%Y-%m-%d')\
STR_TO_DATE('200001310000', '%Y-%m-%d %H:%i:%s')
날짜 빼기
한달 전
where reg_date >= date_add(now(), interval -1 month)
하루 전
where reg_date >= date_add(now(), interval -1 day)
한 시간 전
where reg_date >= date_add(now(), interval -1 hour)
기타 날짜 조건
select date_format(D_time,"%Y-%m-%d") from 테이블명
select date_format(D_time,"%H:%i::%s") from 테이블명
D_time 오늘인 데이터 가져오기
select D_time from 테이블명 where date_format(D_time,"%Y-%m-%d") = current_date;
등록된지 24시간이 안된 데이터 가져오기
select D_time from 테이블명 where D_time > date_sub(now(), interval 1 day);
구조 복사
Create Table new_table like old_table
특징
기존 테이블의 설정 그대로 복사 된다.
참고
큐브리드의 경우 복사하고자 하는 기존 테이블에 'Primary Key' 또는 'autoincrement' 가 설정 되어 있으면 복사 할 수 없음.
응용
Create Table IF NOT EXISTS new_table like old_table -- (new_table 이 없으면 복사)
구조와 데이터 복사
Create Table new_table ( select * from old_table )
특징
테이블의 구조와 함께 데이터도 함께 복사가 된다.
주의
큐브리드의 경우와 같이 기존 테이블에 'Primary Key' 또는 'auto_increment' 가 설정 되어 있으면 해당 설정은 적용 되지 않고 값만 복사 됨.
데이터 복사
Insert Into destination_table ( select * form source_table)
참고
대상 테이블의 컬럼 중에 자동 증가 값 설정 이 된 컬럼이 있을 경우 해당 컬럼에 데이터 입력시 중복된 데이터가 있으면 오류 발생.
응용
Insert Into destinationtable (column_a, column_b) (select a, b from source_table) 원하는 필드의 데이터만 복사가 가능하다.