데이터 정의 언어 (테이블 생성 언어)
테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 데이터 구조와 관련된 명령어들을 말함
- CREATE: 데이터베이스, 테이블, 뷰 인덱스 등을 생성
- ALTER: 데이터베이스 개체의 구조를 수정
- DROP: 데이터베이스 개체를 삭제
- TRUNCATE: 테이블의 모든 데이터를 삭제
DRIVING TABLE: 먼저 엑세스 되어 Access path(접근 경로)를 주도하는 테이블
DRIVEN TABLE: 엑세스 된 후 나중에 액세스 되는 테이블
foreign key가 있는 테이블이 DRIVING TABLE이 되어야 찾아야 빨리 찾을 수 있다
“ N F D “
Create
-- 1. create table
create table team_tb (
tno int primary key, -- primary key: 반드시 행을 찾을 수 있어야 한다. unique 하고 null일 수 없다
tname varchar(10) unique,
tyear int,
tloc varchar(10)
)charset=utf8mb4; -- 테이블 생성
select *
from team_tb;

desc team_tb;

-- player table 생성
create table player_tb (
pno int primary key,
pname varchar(20),
pnumber int,
prole varchar(10),
tno int -- Fk
)charset=utf8mb4;
select *
from player_tb;

desc player_tb;

Alter
-- 2. alter table (수정)
alter table player_tb change column prole ptype varchar(20);
Drop
-- 3. drop table (삭제)
drop table player_tb;
Truncate
-- 4. truncate (테이블 비우기)
truncate team_tb;
제약 조건들
데이터의 무결성을 유지하고 데이터 베이스의 일관성을 보장하기 위해 사용
- primary key: 테이블의 주요 식별자(primary key)를 정의하는 제약 조건 / 주요 식별자는 고유하고 null이 아닌 값을 가져야 한다
- foreign key: 다른 테이블의 주요 식별자를 참조하는 외래 키(foreign key)를 정의하는 제약조건 / 외래 키는 다른 테이블의 주요 식별자와 일치해야함
- not null: 특정 열이 null 값을 허용하지 않도록 지정하는 제약 조건
- default: 열에 기본 값을 지정하는 제약 조건 / 해당 열이 명시적으로 값을 가지지 않을 때 기본 값이 사용됨
- auto_increment: 숫자 형식의 열에 자동으로 증가하는 값을 생성하는 제약 조건 / 보통 주요 식별자 열에 사용
- unique: 특정 열 또는 열 집합에 고유한 값만 허용하는 제약 조건
create table player_tb (
pno int primary key auto_increment,
pname varchar(20) not null,
pnumber int,
prole varchar(10) default '타자',
tno int
)charset=utf8mb4;
Share article