Cute Bow Tie Hearts Blinking Pink Pointer

DBMS/mysql

[mysql] Primary key, not null, auto_increment 란 무엇인가?

청포도 에이드 2022. 2. 17. 11:24
728x90

목차

 

-Primary key

-not null

-auto_increment

 

 

 

Primary key란?

 

데이터베이스 테이블의 설계 (데이터베이스)를 고유하게 식별하는 키

 

레코드를 유일(unique)하게 식별할수 있는 컬럼이다.(주민번호, 제품고유번호, 사용자id 등 서로 다른 값을 가져야 하는것이 주요키로 사용된다.)

 

PrimaryKey는 하나의 테이블에 저장된 모든 레코드가 서로 다른 값을 갖는 칼럼이다.

테이블은 PrimaryKey와 함께 ForeignKey를 가질수있다.
관계(RELATION)를 통해 테이블간의 정보를 연결할 수 있다. 하나의 테이블 정보는 다른 테이블의 정보를 구별하는데 쓰일수 있다.
ForeignKey를 만들경우에는 하나의 테이블에서 또다른 테이블로 모든 PrimaryKey를 복사해야한다. PrimaryKey는하나 또는 여러 컬럼이 될수 있으므로, 한테이블의 ForeignKey는 최소한 하나의 컬럼이여야 한다.

 

출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hongsuk1022&logNo=140128852567 

 

Primary Key 의미 와 써야하는 이유

- Primary Key - (databases) A uniquely identifying key in the design of database tables. 데이터베...

blog.naver.com

 

NOT NULL

 

NOT NULL 제약 조건을 설정하면, 해당 필드는 NULL 값, 즉 빈 값을 저장할 수 없다.

이 제약 조건이 설정된 필드는 무조건 데이터를 가지고 있어야만 한다.

 

NOT NULL 제약 조건은 CREATE 문으로 테이블을 생성할 때나, 나중에 ALTER 문으로 추가할 수도 있다.

 

사용방법

 

 

여기서 auto_increment란??

 

스키마를 작성하다보면 데이터의 수를 p.k로 설정해야 할때가 있다.
이럴경우 새로 데이터를 insert할때마다 max(num)으로 기존에 추가되어있는 num의 최대값을 알아야 p.k값이 겹치지 않게 추가를 할 수있다. 하지만 insert마다 이렇게 num의 최대값을 받아오는 sql문을 작성하는것은 비효율적이므로 num에 Auto_Increment 속성으로 insert문을 보낼때 마다 자동으로 num값이 증가되게 저장할 수 있다.

 

auto_increment 속성은 1부터 시작하여 값을 계속 증가 시키므로 값이 중복될 일은 없다. 만약 1부터100까지의 데이터가 들어가 있을때 50~100까지 삭제하였다고 하면 새로 insert했을때 num값은 51이 아닌 101이다.

 

출처:

 

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=goddlaek&logNo=221005664911 

 

[Mysql] Auto Increment 사용하기

스키마를 작성하다보면 데이터의 수를 p.k로 설정해야 할때가 있다. 이럴경우 새로 데이터를 insert할때마...

blog.naver.com

 

728x90

'DBMS > mysql' 카테고리의 다른 글

[mysql] cmd(명령 프롬프트)로 테이블 만들기  (0) 2022.02.17