728x90
□ 제약 조건 ( Constraint )
- NOT NULL
- DEFAULT
- UNIQUE
- PRIMARY KEY
- FOREIGN KEY
- CHECK
- INDEX
- 테이블에 들어갈 수 있는 데이터 유형을 제한하는 데 사용
- 데이터의 정확성과 신뢰성이 보장
제약 조건 | 설명 |
NOT NULL | - NULL 값 허용 안 함 |
DEFAULT | - 기본값 설정 ( 값 지정 안 한 경우 ) |
UNIQUE | - 열의 모든 값이 서로 달라야 함 |
PRIMARY KEY | - UNIQUE + NOT NULL - 각 행을 고유하게 식별 - 테이블 당 하나만 존재 |
FOREIGN KEY | - 하나의 테이블을 다른 테이블에 의존 |
CHECK | - 조건 설정 후 부합하는지 확인 |
INDEX | - 빠른 데이터 생성/검색 |
키워드 | 설명 |
AUTO_INCREMENT ( My SQL ) | - 자동 증가 기능 - 기본 시작 값은 1이며 새 레코드마다 1씩 증가 |
ex)
MySQL
# DDL
CREATE TABLE Persons (
Personid int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (Personid)
);
# DML
INSERT INTO Persons (LastName, FirstName, Age)
VALUES ('Mimi', 'Kim', 25);
Oracle DB
# DDL
CREATE TABLE Persons (
Personid int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (Personid)
);
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
# DML
INSERT INTO Persons (Personid, LastName, FirstName, Age)
VALUES (seq_person.nextval, 'Mimi', 'Kim', 25);
https://www.w3schools.com/sql/sql_constraints.asp
https://www.w3schools.com/mysql/mysql_autoincrement.asp
반응형
'프로그래밍 언어 ( Programming Language ) > SQL' 카테고리의 다른 글
[SQL] 연산자 ( Operator ) ( + 다중 행 연산자, 집합 연산자 ) (0) | 2022.01.05 |
---|---|
[SQL][MySQL] 데이터 타입 ( Data Type ) (0) | 2022.01.05 |
[SQL][MySQL] DML ( Data Manipulation Language ) - SELECT (0) | 2022.01.04 |
[SQL][MySQL] DML ( Data Manipulation Language ) - INSERT, UPDATE, DELETE (0) | 2022.01.04 |
[SQL][MySQL] DDL ( Data Definition Language ) - CREATE, ALTER, DROP, RENAME (0) | 2022.01.04 |