Programming/SQL

[SQL/실습] 게시판 테이블 만들어보기 / 제약조건 설정

reeme 2020. 12. 16. 14:06


case 1

board

create table board(
no int auto_increment primary key,
content varchar(1000),
writedate datetime default now(),
id varchar(10),
foreign key(id) references membership(id) on update cascade on delete cascade 
);

<설명>

no - int 타입 튜플이 삽입될때마다 자동으로 1부터 차례대로 지정됨 

content - 문자타입 1000자까지 가능

writedate(작성시각) - 현재 시간으로 나타나게 설정

id - 문자타입 10자까지 가능

foreignkey (외래키 설정) - board 테이블 id와 membership 테이블의 id를 외래키 연결해줌

on update cascade on delete cascade : '참조키가 업데이트/삭제 되면 외래키도 업데이트/ 삭제된다'는 의미

(둘중에 하나만 쓸 수도 있음)

 

 

 

튜플 삽입하기

insert into board(content,id) values ('내용을 입력하세요','aaaa');

-- no는 자동으로 표기 / writedate도 현재시각도 알아서 표기됨 

-- 그래서 content랑 id만 삽입해주면 됨

 

 


insert가 안되면 select창을 켜서 확인해볼것

select * from board;

외래키 연결한게 부모키와 같은지 비교 (여기서는 아이디가 같아야함)

 

case 2

board

create table board(
no int auto_increment primary key,
subject varchar(20) not null,
content varchar(1000) not null,
writer varchar(4),
writedate datetime default now(),
cnt int, -- 조회
id varchar(20),
foreign key(id) references member1 (id) on update cascade on delete cascade -- 외래키 설정
);

<설명>

default now() - 현재 데이터 표시

 

 

튜플 삽입하기

insert into board (subject,content,writer,id) values('안녕하세요','관리자입니다','관리자','abcd') -- 어차피 디폴트값이 들어갈것임

 

 

insert가 안되면 select창을 켜서 확인해볼것

select * from board;

외래키 연결한게 부모키와 같은지 비교 (여기서는 아이디가 같아야함)