숫자 타입
1. 정수 타입
2. 고정 소수점 타입
3. 부동 소수점 타입
문자열 타입
1. CHAR와 VARCHAR
- 공통점: 둘 다 문자열 데이터를 저장
- 차이점: CHAR은 문자열 길이 한 번 설정되면 그대로 고정. VARCHAR는 길이 고정되지 않는 가변 길이
2. BINARY와 VARBINARY
3. BLOB과 TEXT
4. ENUM
5. SET
날짜와 시간 타입
1. DATE, DATETIME, TIMESTAMP
- DATE: 날짜를 저장할 수 있는 타입 (YYYY-MM-DD)
- DATETIME: 날짜 + 시간까지 저장할 수 있는 타입(YYYY-MM-DD HH:MM:SS)
- TIMESTAMP: 날짜와 시간을 나타내는 타임스탬프를 저장할 수 있는 타입. 사용자가 별다른 입력을 주지 않으면 데이터가 마지막으로 입력되거나 변경된 시간이 저장되므로, 최종 변경 시각을 저장하고 확인하는 데 유용
2. TIME : 시간을 저장 (HH:MM:SS)
3. YEAR : 연도를 저장
YEAR(4)는 4자리의 연도를 저장할 수 있습니다.
1. 4자리 숫자로 저장하면, 저장할 수 있는 범위는 1901년부터 2155년까지가 됩니다.
2. 4자리 문자열로 저장하면, 저장할 수 있는 범위는 1901년부터 2155년까지가 됩니다.
3. 숫자 0을 저장하면, 2000년이 아닌 0000년으로 저장되므로, 2000년은 반드시 문자열 '0' 또는 '00'으로 입력해야 함.
유효하지 않은 연도는 '0000'으로 저장됩니다.
패턴매칭: 1) 와일드 카드
- 문자열 내에서 임의의 문자나 문자열을 대체하기 위해 사용되는 기호
% | 0개 이상의 문자를 대체함 | ex) SELECT * FROM Reservation WHERE Name NOT LIKE '장%'; |
_ | 1개의 문자를 대체함 | ex) SELECT * FROM Reservation WHERE RoomNum LIKE '20__'; |
패턴매칭: 2) REGEXP
- LIKE 연산자보다 더욱 복잡한 패턴을 검색하고 싶을 때 사용
- REGEXP 연산자는 정규 표현식을 토대로 하는 패턴 매칭 연산을 제공
- 만약 해당 패턴과 불일치한 데이터 찾고자할 땐 NOT REGEXP 연산자 사용
. | 줄 바꿈 문자(\n)를 제외한 임의의 한 문자를 의미함. |
* | 해당 문자 패턴이 0번 이상 반복됨. |
+ | 해당 문자 패턴이 1번 이상 반복됨. |
^ | 문자열의 처음을 의미함. |
$ | 문자열의 끝을 의미함. |
| | 선택을 의미함.(OR) |
[...] | 괄호([]) 안에 있는 어떠한 문자를 의미함. |
[^...] | 괄호([]) 안에 있지 않은 어떠한 문자를 의미함. |
{n} | 반복되는 횟수를 지정함. |
{m,n} | 반복되는 횟수의 최솟값과 최댓값을 지정함. |
ex) Name 필드(속성)의 값이 '홍'으로 시작하거나, '산'으로 끝나는 레코드(행)를 선택
SELECT * FROM Reservation WHERE Name REGEXP '^홍|산$';
'Database (DB) ' 카테고리의 다른 글
MSSQL 문자열 자르기 (구분자로 자르기/길이로 자르기) (0) | 2021.02.24 |
---|---|
Mssql 테이블 백업(테이블 데이터 복사) (0) | 2020.12.28 |
mysql 사용자추가/DB생성/권한부여 (1) | 2020.04.19 |
[Database] 1. DB란? & DBMS란? & SQL 란? & 관계형데이터베이스란? (행/열, 키/값, 관계, 스키마) (1) | 2019.09.19 |