MySQL / 유용한 명령어 - mySQL - RAND() -> 랜덤 - CONCAT("안녕", "하세요"); -> 더하기 "안녕하세요" - SUBSTR("안녕하세요.", 1, 2); -> 첫번째부터 2개까지 = "안녕" - DATE(NOW()); -> 시간제외 날짜만 - YEAR(NOW()); -> 년도만 - MONTH, DAY -> 똑같음 DBMS/MySQL 2020.12.15
MySQL / (MAX, MIN, SUM, AVG) 함수들 - 올림/반올림/버림 - MySQL COUNT() 함수를 사용할때는 그룹함수이기때문에 그룹 조건을 써주어야한다.(원칙상) - MAX() 그룹화 된것중 최댓값 - MIN() 그룹화 된것중 최솟값 - SUM() 그룹화 된것의 합 - AVG() 그룹화 된것의 평균값 - CEIL 올림 / ROUND 반올림 / FLOOR 버림 ※ 주의할 점 SQL에서는 NULL 값을 고려해주어야 한다. 집합 안에 NULL 값이 있을 경우 이를 제외하고 처리. DBMS/MySQL 2020.11.23
MySQL / COUNT 사용법 전체 행 갯수 가져오기 SELECT COUNT(*) FROM 테이블; 컬럼 데이터 갯수 가져오기 SELECT COUNT(컬럼) FROM 테이블; 컬럼 데이터 갯수 가져오기 (중복 제외) SELECT COUNT(DISTINCT 컬럼) FROM 테이블; * GROUP 과 함께 사용 가능 * DBMS/MySQL 2020.11.19
MySQL / GROUP BY - HAVING 사용법 컬럼 그룹화 SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼; 조건 처리 후 컬럼 그룹화할 경우 SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼; 컬럼 그룹화 후에 조건 처리할 경우 SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼 HAVING 조건식; 조건 처리 후 컬럼 그룹화 후에 조건 처리할 경우 SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼 HAVING 조건식; ORDER BY가 존재하는 경우 SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼 HAVING 조건식 ORDER BY 컬럼1... DBMS/MySQL 2020.11.19
MySQL / DATA Type중 주로 사용하는 Type에 대해서 MySQL 데이터 타입 CHAR 데이터 타입 CHAR와 VARCHAR(VARiable length CHARacter string)는 모두 텍스트 문자열을 허용, 필드의 크기 제한 [CHAR] 정해진 크기의 문자열 / 정해진 크기보다 작을 경우 공백으로 채워짐 / 검색속도 빠름 [VARCHAR] 가변적으로 크기의 문자열 / 정해진 크기보다 작을 경우 문자열의 크기가 변함 / 검색속도 느림 TEXT와 VARCHAR 데이터 타입 [TEXT] 필드는 기본값을 가질 수 없다. MySQL은 TEXT 열의 처음 n 개의 문자만 인덱싱 할 수 있다. 숫자형 데이터 타입 DBMS/MySQL 2020.11.18
MySQL / MySQL에서 Join의 다양한 사용법 주로 사용하게 되는 INNER JOIN 교집합 형태 / A와 B 테이블의 값중 ON으로 조건을 걸었을때 조건이 중복되는 값만이 select 된다. 그 외 join에 대해서도 위의 표를 참고하는 것만으로도 충분히 이해가능. (잘 모를때는 위 표에 있는 쿼리문을 직접 실행해보길 바람.) DBMS/MySQL 2020.11.18
MySQL / SQLyog - sampleData - 시간순 나열 - Ctrl + Shift + Home 으로 전부실행가능 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 # DB 생성 DROP DATABASE IF EXISTS textBoard; CREATE DATABASE textBoard; USE textBoard; # 게시물 테이블 생성 CREATE TABLE article ( id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, regDate DAT.. DBMS/MySQL 2020.11.13
MySQL / JDBC 현재시간 MySQL에 적용하는법 - java 의 date 타입을 mysql 의 timestamp 타입으로 변경 - Calendar cal = new GregorianCalendar(); - Timestamp ts = new Timestamp(cal.getTimeInMillis()); pstmt = setTimestamp (parameterIndex, ts); 으로 현재시간 입력 가능 DBMS/MySQL 2020.11.12
MySQL / insert 시 auto_increment 마지막 값 가져오는 법 방법 1 - select id + 1 AS nextId from article order by id DESC LIMIT 1; = lastAraticleId 구하는법 but - 기존 게시물이 없을경우 id 값이 확인되지 않기때문에 0 + 1로 설정됨 방법 2 - ATUO_INCREMENT 마지막 값 가져오기 - SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = "[데이터베이스명]" AND TABLE_NAME = "[테이블명]" DBMS/MySQL 2020.11.12
MySQL / url 설정 - jdbc:mysql://127.0.0.1:3306/[데이터베이스명]? = url 설정 - useUnicode=true&characterEncoding=utf8 = utf8 설정 - &autoReconnect=true = 자동으로 DB가 꺼지더라도 몇번 재연결 시도하겟다 - &serverTimezone=Asia/Seoul = time zone 설정 - &useOldAliasMetadataBehavior=true = 몰라두됨 - &zeroDateTimeNehavior=convertToNull = 몰라두됨 DBMS/MySQL 2020.11.12