728x90
반응형
SMALL
목차
- 테이블
- 스키마
- 테이블 만들기
- 데이터 타입
- 이진 데이터 타입
- 날짜 데이터 타입
- 제약 조건(constraint)
- not null
- unique
- primary key
- foreign key
- default
- enum
1. 테이블(table)
데이터를 행과 열로 스키마에 따라 저장할수 있는 구조
(엑셀의 시트와 같다)
2. 스키마(schemas)
데이터 베이스의 구조와 제약조건에 관한 명세를 기술한 집합의 의미
(전체적인 구조와 그 구조를 만들때의 조건같은것)
3. 테이블 만들기
create table 테이블명 (
필드명1 데이터타입 제약조건,
(행) (ex: int) (절대 데이터가 비면안돼, 숫자가 자동으로 증가할거야 등등)
필드명2 데이터타입 제약조건,
....
필드명n 데이터타입 제약조건
)
4. 데이터 타입(data type)
-숫자형 타입
tinyint: 정수형 데이터 타입(1byte), -128 ~ 127 표현
smallint: 정수형 데이터 타입(2byte), -32768 ~ 32767 표현
mediumint: 정수형 데이터 타입(3byte), -8388608 ~ 8388607 표현
int: 정수형 데이터 타입(4byte), 어쨋든 큼 -21 ~ 21억
# 다른 프로그램에서도 int형이 기본값이기 때문에 보통 int를 디폴트로 사용하는것을 권장
bigint: 정수형 데이터 타입(8byte), 대충 무제한
float: 부동소수형 데이터 타입(4byte)
decimal (길이, 소수): 고정소수형 데이터 타입 (길이 + 1byte)
double: 부동 소수형 데이터 타입(8byte) # 실수형에서는 더블이 가장 기본형이기때문에 속도가 빠르다
-문자형 타입
char(케릭터로 보통읽음): 고정길이 데이터 타입(최대 255byte 까지 저장가능)
# 단점: 지정된 길이보다 짧은 데이터 입력시 나머지 공간을 공백으로 채움
varchar: 가변길이 데이터 타입(최대 65535byte)
# 지정된 길이보다 짧은 데이터 입력시 나머지 공간은 채우지 않음
text: 문자열 데이터 타입(최대 65535byte)
longtext: 무제한 문자열 데이터 타입
5. 이진 데이터 타입
# 0, 1로 된 데이터
# 영상, 음악,등등이 담겨질수 있는데이터 타입,
# 보통 영상,이런 파일들은 서버의 디렉토리(폴더)에 저장되어있고 DBMS에서는 그 주솟값만 저장하여 사용한다.
binary or byte: char의 형태의 이진 데이터 타입, (최대 255byte)
varbinary: varchar의 형태의 이진데이터 타입(최대 65535byte)
6. 날짜 데이터 타입
date: 날짜(연,월,일) 형태의 데이터 타입(3byte)
time: 시간(시,분,초) 형태의 데이터 타입(3byte)
datetime: 날짜와 시간 형태의 데이터 타입(8byte)
timestamp: 1970년 1월 1일 0시 0분 0초 부터 시작한 ms 타입의 시간이 저장(4byte)
7. 제약 조건(constraint)
데이터의 무결성을 지키기 위해 데이터를 입력받을때 실행되는 검사규칙을 의미
7-1 not null:
- null 값을 허용하지 않음
- 중복값을 허용
7-2 unique:
- 중복값을 허용하지 않음
- null 값을 허용
- 유니크 제약조건뒤에 not null도 같이 사용가능
7-3 primary key:
- null 값을 허용x
- 중복값 허용x
- 테이블에 단 하나만 사용가능
- 테이블의 대표
7-4 foreign key
- primary key를 가진 테이블과 연결하는 역할
(ex. 테이블이 서로 다를경우, 게시판에서 회원만 글 작성 가능하게 하고싶을때
회원id에 프라이머리, 게시판쪽에 foreign key 넣어주면됌)
7-5 default
- null 값을 삽입할 때 기본이 되는 값을 저장할 수 있게 함
7-6 enum
- 원하는 범위를 설정하고 해당 범위의 값만 저장
# (왠만하면 안씀, 권장하지 x )
ex) enum('남자', '여자') 하면 남자,여자 여야만 저장가능 아니면에러
728x90
반응형
LIST
'DBMS > MySQL' 카테고리의 다른 글
MySQL- View (0) | 2023.03.21 |
---|---|
MySQL- 사용자 추가하기 (0) | 2023.03.21 |
MySQL- 데이터 조작(select) (0) | 2023.03.16 |
MySQL- 연산자 (0) | 2023.03.16 |
MySQL - table (0) | 2023.03.15 |