본문 바로가기
IT/DB - 데이터베이스

SQL - DDL

by 삐약 개발자 2024. 12. 9.
반응형

데이터 타입 정보

데이터 타입 설명  예시
CHAR(n) 고정 길이 문자열 (n: 1~255 generally) CHAR(10)
VARCHAR(n) 가변 길이 문자열 (n: 1~여러 시스템에서 다양) VARCHAR(50)
DECIMAL(p, s) 정밀한 고정 소수점 숫자 (p: 정밀도, s: 소수점 자릿수) DECIMAL(10, 2)
DATE 날짜 (연, 월, 일) DATE
TIMESTAMP 날짜와 시간 (분 단위 또는 나노초 정밀도까지) TIMESTAMP
BINARY LARGE OBJECT (BLOB) 큰 이진 데이터 (크기 제한은 시스템에 따라 다름) BLOB
CHARACTER LARGE OBJECT (CLOB) 큰 텍스트 데이터 (크기 제한은 시스템에 따라 다름) CLOB

 

테이블 생성 = CREATE 문

-- 사용자 테이블
CREATE TABLE Users (
    user_id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL UNIQUE
);

-- 출판사 테이블
CREATE TABLE Publishers (
    publisher_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    address TEXT
);

-- 도서 테이블
CREATE TABLE Books (
    book_id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    publication_date DATE,
    publisher_id INT,
    FOREIGN KEY (publisher_id) REFERENCES Publishers(publisher_id)
);

-- 저자 테이블
CREATE TABLE Authors (
    author_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL
);

-- 대출 기록 테이블
CREATE TABLE LoanRecords (
    record_id INT AUTO_INCREMENT PRIMARY KEY,
    book_id INT,
    user_id INT,
    loan_date DATE,
    return_date DATE,
    FOREIGN KEY (book_id) REFERENCES Books(book_id),
    FOREIGN KEY (user_id) REFERENCES Users(user_id)
);

-- 도서와 저자의 다대다 관계를 위한 테이블
CREATE TABLE Book_Authors (
    book_id INT,
    author_id INT,
    PRIMARY KEY (book_id, author_id),
    FOREIGN KEY (book_id) REFERENCES Books(book_id),
    FOREIGN KEY (author_id) REFERENCES Authors(author_id)
);

 

수정할때 - ALTER 문

//추가
alter table users add phone_number varchar(11) not null;
//삭제
alter table Books drop column publication_date;
//열 수정
alter table Authors modify name Text not null;
//제약조건 추가
alter table users add constraint unique_username unique (username);
//제약조건 삭제
alter table users drop constraint unique_username;

 

삭제할때 - DROP 문

drop table book_authors ;
drop table books;
drop table publishers ;

 

//데이터만 사라지게
truncate table Books;

 

이름 바꿀때

rename table book to books;
반응형

'IT > DB - 데이터베이스' 카테고리의 다른 글

JDBC API  (0) 2024.12.17
SQL - TCL  (1) 2024.12.09
SQL - DML  (1) 2024.12.09
SQL - 관계형 데이터베이스 개요  (0) 2024.12.09
DB - 데이터베이스  (0) 2024.12.06