DBMS

MySQL 데이터 타입과 내장 함수

전주천둥새 2023. 5. 15. 13:47

1) 숫자 데이터 형식

2) 문자 데이터 형식

3) 날짜 데이터 형식

59. mySQL 실습 - 테이블 생성

1) 테이블 생성실습

- AUTO_INCREMENT : 튜플이 증가할때마다 자동으로 값을 1씩 증가시켜준다.(기본키 값으로 설정해줘야함)

- NULL DEFAULT NULL : NULL을 허용하며 DEFAULT 값을 NULL로 지정한다.

- CONSTRAINT : 제약조건 설정. CONSTRAINT 속성명 ~~ 형태로 사용됨

- FOREIGN KEY 외래키 REFERENCES 참조테이블 : 외래키와 외래키가 참조하는 테이블의 컬럼을 표시한다

(하단 부분의 조작을 통해 구문없이도 외래키 설정이 가능하다)

59-1. mySQL 실습 - 함수

1) 집계함수

- ROUND : 수를 반올림한다.(뒤의 숫자는 소수점자리) (ROUND : 반올림, CEIL : 올림, FLOOR : 내림, ABS : 절대값)

- TRUNCATE : 수를 내림한다.(뒤의 숫자는 소수점자리)

2) 데이터 형식 변환 함수

- CAST : CAST(값 AS 변환형태)의 형태로 사용된다.

- CONVERT : CONVERT(값, 변환형태)의 형태로 사용된다.

3) 문자열 연결 함수

- CONCAT : (문자열, 문자열) 형식으로 사용됨, 가장많이 사용되니 잘알아둘것

- LIMIT : 출력할 튜플의 개수를 제한.

***문자결합시 주의사항***

4) 제어흐름 함수

- IF : (조건식, 값1, 값2) 의 형태로 사용되며 조건식이 TRUE일 경우 앞의값(값1), FALSE일 경우 뒤의값(값2) 출력

- IFNULL : 앞의값이 null일경우 뒤의값으로 반환 , null이아닐경우 앞의값 반환 (문자형으로 반환)

- NULLIF : 앞의값과 뒤의값이 같으면 null로 반환 , 다르면 앞의값으로 반환

- CASE 구문 : CASE - WHEN - THEN - ELSE - END 형태로 사용

***가장중요 가장많이사용됨*** 해당 형식으로 사용되니 잘 알아둘것!!!▼***

5) 문자열 함수

- ASCII : 아스키코드(컴퓨터코드) 출력방식

- TRIM : 앞뒤 공백만 제거

- REPEAT : (문자열, 숫자)의 형태로 사용. 문자열을 숫자만큼 반복한다

- REPLACE : (문자열1, 문자열2, 문자열3)의 형태로 사용하거나 (문자열)의 형태로 사용됨

1. TRIM과는 다르게 앞뒤 공백뿐만아닌 가운데 공백도 제거해줌.

2. 문자열1과 문자열2의 공통부분을 겹치고 문자열 1과 문자열3의 합성문자열을 출력함

- REVERSE : 역으로 출력

- CONCAT : 문자열결합. 공백도 표현한다

trim 앞뒤 공백만 제거

- SUBSTRING : (문자열, 자르기 시작할 위치) 또는 (문자열, 자르기 시작할 위치, 자를자릿수) 형태로 사용됨

1. SELECT SUBSTRING('ksmart43',2); ---> smart43

SELECT SUBSTRING('ksmart43',2,3); ---> sma

SELECT SUBSTRING_INDEX('ksmart43_홍길동_요구사항정의서', '_', 1); ---> 홍길동

SELECT SUBSTRING_INDEX('ksmart43_홍길동_요구사항정의서', '_', -2); ---> 홍길동_요구사항정의서

6) 날짜함수

>> ADD(DATE, TIME 등) : ADDDATE(기준일, 추가할날짜)를 입력하면 기준일로부터 기입한 날짜이후의 날짜를 출력해준다.

>>> SUB(DATE, TIME 등) : SUBDATE(기준일, 추가할날짜)를 입력하면 기준일로부터 기입한 날짜이전의 날짜를 출력해준다.

>>> 연도, 월, 날짜 등 현재시점을 기준으로 출력해준다.

>>> DATE(TIME 등)DIFF : DATEDIFF(기준일1, 기준일2) 형태로 사용되며 기준일2로부터 기준일1까지 얼마나 남았는지 출력해준다. TIMEDIFF는 시간을 출력해준다.

>>> DAYOFWEEK(YEAR) : 현재주(연도)로부터 몇번째 날인지 출력해준다.

MONTHNAME(기준월) : 현재 월의 이름을 영문출력한다.

>>> LAST_DAY(날짜기입) : 괄호안의 날짜의 말일을 출력해준다.