반응형
데이터 타입 정보
데이터 타입 | 설명 | 예시 |
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 |