# 데이터베이스 생성 / 사용
DROP DATABASE IF EXISTS bookshopdb;
CREATE DATABASE bookshopdb;
USE bookshopdb;
# 테이블 생성
CREATE TABLE publisher(
pubNo VARCHAR(10) NOT NULL PRIMARY KEY,
pubName VARCHAR(30) NOT NULL
);
CREATE TABLE book(
bookNo VARCHAR(10) NOT NULL PRIMARY KEY,
bookName VARCHAR(30) NOT NULL,
bookPrice INT DEFAULT 10000 CHECK (bookPrice > 1000),
bookDate DATE,
pubNo VARCHAR(10) NOT NULL,
CONSTRAINT FK_book_pubNo FOREIGN KEY (pubNo)
REFERENCES publisher (pubNo)
);
# 데이터 삽입
INSERT INTO publisher (pubNo, pubName) VALUES ('1', '서울출판사');
INSERT INTO publisher (pubNo, pubName) VALUES ('2', '강남출판사');
INSERT INTO publisher (pubNo, pubName) VALUES ('3', '종로출판사');
INSERT INTO book (bookNo, bookName, bookPrice, bookDate, pubNo)
VALUES ('1', '자바', 20000, '2021-05-17', '1');
INSERT INTO book
VALUES ('2', '자바스크립트', 23000, '2019-05-17', '3');
INSERT INTO book (bookNo, bookName, bookPrice, bookDate, pubNo)
VALUES ('3', '데이터베이스', 35000, '2021-07-11', '2'),
('4', '알고리즘', 18000, '2021-01-15', '3'),
('5', '웹프로그래밍', 22000, '2019-09-15', '2');
INSERT INTO book
VALUES ('6', '데이터베이스', 35000, '2021-08-11', '2'),
('7', '알고리즘', 18000, '2020-01-15', '3'),
('8', '웹프로그래밍', 22000, '2023-02-15', '2');
- 특정 컬럼(열)의 값을 수정하는 명령어
- 조건에 맞는 행을 찾아서 열의 값 수정
UPDATE 테이블명 컬럼명=변경값 SET WHERE 조건;
# 도서번호가 1인 도서의 가격을 25000으로 수정
UPDATE book SET bookPrice=25000 WHERE bookNo='1';
# 출판사 번호가 1인 출판사의 이름을 '좋은출판사'로 변경
UPDATE publisher SET pubName='좋은출판사' WHERE pubNo='1';
- 테이블에 있는 기존 행(레코드)을 삭제하는 명령어
DELETE FROM 테이블명 WHERE 조건;
# 도서명이 '웹프로그래밍'인 행들을 삭제
DELETE FROM book WHERE bookName='웹프로그래밍';
# book 테이블에서 발행일이 2019년도인 행을 삭제
DELETE FROM book
WHERE bookDate >= '2019-01-01' AND bookDate <= '2019-12-31';