본문 바로가기
반응형

mysql5

[MySQL] JOIN 하기 JOIN 이해하기 Table 두개를 JOIN 해 원하는 데이터를 추출할 수 있다. 가령 DOG Table과 CAT Table이 있고 두 테이블 가운데 이름이 같은 정보만 알고 싶다면 아래 보이는 쿼리문을 사용하면 된다. SELECT * FROM DOG AS A INNER JOIN CAT AS B ON A.NAME = B.NAME * INNER JOIN - 내부조인이라고 하며 그림의 가운데에 있는 것 처럼 교집합만을 리턴한다. 두 테이블이 동일한 값을 가지고 있지않다 면 데이터의 결함이 일어날 수 있다. * LEFT JOIN - LEFT JOIN은 쿼리문의 왼쪽 테이블(선행테이블)을 기준으로 오른쪽 테이블(후행테이블)을 결합합니다. 선행테이블에 대한 정보손실을 발생하지 않고, 후행 테이블의 선행테이블과 일.. 2020. 8. 4.
[MySQL] DATETIME 가공하기 * 날짜 데이터에서 일부만을 추출하기 YEAR : 연도 MONTH : 월 DAY : 일 (DAYOFMONTH와 같은 함수) HOUR : 시 MINUTE : 분 SECOND : 초 SELECT HOUR(DATETIME) AS HOUR FROM DATETABLE * 원하는 포맷으로 바꾸기 DATE_FORMAT SELECT DATE_FORMAT(DATETIME,'%Y-%m-%d') FROM DATETABLE %a 요일 이름 ( Sun.. Sat) %b 월 이름 ( Jan.. Dec) %c 월, 숫자 ( 0.. 12) %D 영어 날 ( 0th, 1st, 2nd, 3rd, ...) %d 월의 일 ( 00.. 31) %e 월의 일( 0.. 31) %f 마이크로 초 ( 000000.. 999999) %H 시간 ( 0.. 2020. 8. 3.
[MySQL] NULL 처리하기 NULL 인 데이터 찾기 * IS NULL SELECT ANIMAL_ID FROM ANIMAL_INS WHERE name IS NULL NULL 이 아닌 데이터 찾기 * IS NOT NULL SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL NULL일경우 다른 값으로 치환 * IFNULL(필드명, '바꿀 이름') SELECT ANIMAL_TYPE,IFNULL(NAME,'No name') as NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID 2020. 7. 31.
[MySQL] 중복 제거/ 중복 찾기 * 중복 제거 DISTINCT ex)SELECT count(DISTINCT NAME) FROM ANIMAL_INS * 중복 찾기 - GROUP 으로 묶은 후에 COUNT 가 1보다 큰 것을 찾는다. GROUP BY 중복 찾을 필드명 HAVING COUNT > 1 ex) SELECT NAME, COUNT(*) as COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT > 1 2020. 7. 31.
[MySQL]에서 Shell command 사용 Trigger 란 테이블에 이벤트 발생시 자동으로 실행되는 작업입니다. Trigger를 사용하기 위해 했던 설정을 공유하고자 합니다. Lib_MySql_Sys 설치하기 MySQL에서 Trigger 사용할 때 sys_exec 사용해야했고 lib_mysql_sys 설치해서 사용했다. 우선 gitbash를 사용해 git hub에서 lib_mysql_sys 라이브러리 설치한다. $ git clone https://github.com/mysqludf/lib_mysqludf_sys.git 설치된 파일로 들어가기 $ cd lib_mysqludf_sys/ 컴파일 도구 설치해주기 $sudo apt-get install build-essential Makfile 열어서 Mysql에서 사용할 수 있도록 변경 $vi Make.. 2020. 4. 21.
반응형