5 분 소요

👨‍💻🏫KNU 2021-2 SW & media 데이터베이스 필기노트 7_1

2. 뷰

다른 테이블을 기반으로 만들어지는 가상 테이블로서 실제 저장되는것이 아닌 논리적으로 존재한다.

뷰 생성
CREATE view_name VIEW AS SELECT option…

CREATE VIEW AS SELECT options
뷰이름과    

1.1. 숫자 데이터 타입

부호없는 정수를 지정할때에는 UNSIGNED예약어를 붙인다.

데이터타입 설명
INT 정수저장
TINYINT(2^8)<SMALLINT(2^16)<MEDIUMINT(2^24)<INT(2^32)<BIGINT(2^32) 순으로 커진다
FLOAT,DOUBLE 근사치의 실수를 저장
FLOAT는7자리소수
DOUBLE은15자리소수
DECIMAL DECIMAL(m,d)는 m자리수와 d자리 소수

1.2. 문자 데이터 타입

데이터타입 설명
CHAR(2^8), VARCHAR(2^16) 고정길이, 가변길이 문자열
TEXT TEXT데이터값 저장
TINY(2^8),MEDIUM(2^24),LONG(2^32) TEXT사용가능
BINARY(2^8),VARBINARY(2^8) 고정길이, 가변길이 이진데이터
BLOB 대용량이진데이터(미디어파일등)
TINY(2^8),MEDIUM(2^24),LONG(2^32) BLOB사용가능
SET(list..) 최대 64개의 서로 다른 데이터 값 저장
ENUMlist.. 2^16개의 열거형 데이터 저장

1.3. 시간 데이터 타입

데이터타입 설명
DATE ‘YYYY-MM-DD’
TIME ‘HH:MM:SS’
DATETIME ‘YYYY-MM-DD HH:MM:SS’

2.mySQL의 변수

다른 프로그래밍 언어와같은 사용자 변수를 만들수있다.


SET @foo = bar;
SELECT @foo;

출력내용은 다음과 같다:

  @foo
bar

이는 PREPARE EXECUTE문에서 다음과 같이 사용될수있다. 예제는 LIMIT에서 foo를 사용하는 쿼리이다.


SET @foo=3;
PREPARE foobar
  FROM 'SELECT col FROM table LIMIT?'
EXECUTE foobar USING @foo;

3.타입캐스팅

#exp 지정 _TYPE_ 변경한다
CAST(exp AS _TYPE_)
CONVERT(exp, _TYPE_)

예제는 실수값으로 출력되는 어떤 AVG(foo)를 정수형으로 바꾸는 쿼리이다.

SELECT CAST(AVG(foo) AS INTEGER)FROM tbl;
#CAST 함수는 `/`같은 구분자를 통해 날짜 형식으로 바꿔준다
SELECT CAST('2021/10/13'AS DATE);

mySQL은 ''를 통해 수를 문자로 바꿀수있다. 이때 사로 다른 타입일경우 0으로 처리된다 즉, C처럼 ‘A’는 65가 아니라는 뜻이다(ASCII(‘A’)를 사용해야함).

4. 내장함수

으악!

4.1. 제어함수

   
IF(조건,t,f) c++의 삼항연산자와 거의 같다고 볼 수있다.
IFNULL(val,t) VAL이 NULL일경우 t값을 출력, 아닌경우 val출력
NULLIF(foo,bar) foo==bar라면 NULL, 아니라면 foo출력
CASE foo
WHEN barTHEN baz
ELSE qux END
스위치문이다. foo는 조건문, bar은 조건값
baz는 출력값, qux는 예외처리값이다

4.2. 문자(열)함수

   
ASCII(‘chr’), CHAR(num) 문자를 아스키코드로, 아스키코드를 숫자로
CHAR_LENGTH(문자열) 문자의 개수반환
(BIT_)LENGTH(문자열) 할당된 (비트)바이트 반환
CONCAT(_WS)(문자열들) 두 문자열을 연결 한다.
_WS일경우 첫 인자를 구분자로 사용해 연결
   
   
   

4.3. 수함수

   
   
   
   
   
   
   
   

4.4. 날짜함수

   
   
   
   
   
   
   
   

태그:

카테고리:

업데이트:

댓글남기기