데이터 정의어 (Data Definition Language)
- CREATE ( 생성 )
- ALTER ( 변경 )
- DROP ( 제거 )
- TRUNCATE ( 데이터 비우기 )
1. CREATE
- 테이블, 뷰, 프로시저 등을 생성
create table team_tb (
tno int primary key,
tname varchar(10) unique,
tyear int,
tloc varchar(10)
) charset=utf8mb4;
create table player_tb (
pno int primary key,
pname varchar(20),
pnumber int,
prole varchar(10),
tno int
) charset=utf8mb4;


2. ALTER
- 테이블 속성, 제약 조건, 뷰, 프로시저 등을 수정
-- 2. ALTER TABLE
alter table player_tb change column prole ptype varchar(20);
3. DROP
- 테이블, 뷰, 프로시저 등을 삭제
-- 3. DROP TABLE
drop table player_tb;
4. TRUNCATE
- 테이블 내의 내용 삭제
-- 4. TRUNCATE
truncate team_tb;

제약 조건
- primary key : 기본 키 설정 (unique + not null)
- foreign key : 외래 키 설정 - 참조할 테이블과 제약 조건 설정
- constraint 이름 foreign key(column) references 참조할 테이블(column)
- auto_increment : 기본 값으로 숫자가 1씩 증가
- not_null : null일 수 없음 (빈 칸이면 오류)
- default : 기본 값 설정 (null일 경우 자동으로 입력)


create table player_tb (
pno int primary key auto_increment,
pname varchar(20) not null,
pnumber int,
prole varchar(10) default '타자',
tno int,
constraint fk_player_tb foreign key(tno) references team_tb(tno)
) charset=utf8mb4;

제약 조건 : 외래 키
외래 키는 FF다. (Foreign key First, 다(n))
- 참조하는 테이블의 값만 데이터에 넣기 위해 제약 조건 설정
- 특정 테이블의 값을 참조하고 있다는 의미로 외래 키 설정
- 제약 조건이 설정되면, 값을 함부로 삭제할 수 없음
- 제약 조건을 없애야만 데이터 삭제 가능
- 삭제 방법 1. 참조하는 column의 값을 null로 설정 (null 가능할 시)
- 삭제 방법 2. cascade (연관된 값을 다 같이 삭제)
Index (목차)
데이터 10,000건 / pno = 8900 → 8900 데이터가 들어있는 위치를 기록
- Seaquencial Access → Random Access 가능 (바로 찾아가기)
- 인덱스 목차 검색 (B-tree) - 검색된 위치에 데이터가 있음 (innoDB)
- 위치 Access
- 인덱스 목차 검사 (B-tree) - 참조 포인터
- 위치 Access (MyISAM)
Share article