1. DROP
1) 데이터베이스 삭제
DROP DATABASE IF EXISTS MOVIE;
SHOW DATABASES;
만약 영화라는 데이터베이스를 만들려고 하는데, 이미 존재한다면, 그 데이터베이스를 지웁니다.
2) 테이블 삭제
DROP TABLE movieList;
SHOW TABLES;
MOVIE 데이터베이스 안에 있는 영화들의 정보를 담은 movieList를 삭제합니다.
2. CREATE
1) 데이터베이스 생성하고 사용하기
CREATE DATABASE MOVIE DEFAULT CHARACTER SET utf8mb4;
USE MOVIE;
utf8mb4는 이모지도 사용할 수 있게 해주는 장치입니다.
2) 데이터베이스 안에 테이블 생성하기
CREATE TABLE `movieList` (
`ID` int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Title` varchar(40) CHARACTER SET utf8mb4 NOT NULL,
`Director` varchar(40) CHARACTER SET utf8mb4 NOT NULL,
`Genre` varchar(40) CHARACTER SET utf8mb4 NOT NULL,
`RunningTime` int(3) NOT NULL
)ENGINE=InnoDB;
영화들의 정보를 넣어줄 테이블입니다.
CREATE TABLE student(
id VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
name VARCHAR(20) NOT NULL,
major VARCHAR(50) NOT NULL,
major2 VARCHAR(50),
count INT,
student_num INT NOT NULL,
grade INT NOT NULL,
lecture_num INT,
PRIMARY KEY (id)
FOREIGN KEY(lecture_num) references lecture(lecture_num)
ON DELETE CASCADE
);
잠시 영화목록 테이블에서 벗어나 외래키 사용법을 알려드리자면, 이렇게 lecture_num을 이용해 student테이블과 lecture_num테이블을 외래키로 연결할 수 있습니다.
ON DELETE CASCADE 처리를 하면 lecture table의 특정 데이터가 사라지면 현 테이블의 데이터도 함께 사라진다.
3. ALTER
1) 테이블에 컬럼(col) 삽입하기
ALTER TABLE `movieList` ADD `director` VARCHAR(32) NOT NULL;
영화목록 테이블에 감독이름을 표시해주는 컬럼을 추가했습니다.
2) 테이블 컬럼 속성 변경하기
ALTER TABLE `movieList` MODIFY `director` VARCHAR(10) NULL;
감독이름을 표시해주는 컬럼의 글자수 제한 길이를 32에서 10으로 바꾸고, NULL값을 허용하도록 하겠습니다.
3) 테이블 컬럼명 변경하기
ALTER TABLE `movieList` CHANGE `director` `directorName` VARCHAR(10) NULL;
영화목록 테이블의 감독 컬럼을 감독명으로 변경합니다.
4) 테이블 컬럼 삭제하기
ALTER TABLE `movieList` DROP director;
테이블 조작을 위한 ALTER 4형제 ADD, MODIFY, CHANGE, DROP 잊지 맙시다 : )
4. RENAME
1) 하나의 테이블 이름만 변경하기
RENAME TABLE `movieList` TO `movies`;
ALTER TABLE `movieList` RENAME `movies`;
테이블 이름을 변경하는 방법에는 2가지가 있습니다.
2) 여러 테이블의 이름을 변경하기
RENAME TABLE `movieList` TO `movies`,
`student` TO `users`;
ALTER과 다르게 RENAME은 한 번에 여러 테이블의 이름을 변경할 수 있습니다.
3) 다른 데이터베이스로 테이블 이동하기
RENAME TABLE `MOVIE`.`movies` TO `oldMovie`.`movies`;
RENAME은 다른 데이터베이스로 테이블을 변경할 수도 있습니다.
5. TRUNCATE
1) 테이블 삭제하기
TRUNCATE TABLE `movies`;
데이터 조작어인 DELETE로도 테이블을 삭제할 수 있지만, TRUNCATE와는 기능이 조금 다르다.
우선, TRUNCATE는 WHERE을 통해 특정 데이터만 삭제하는 것이 불가능하다. 무조건 전체 데이터를 삭제한다.
DELETE는 특정 공간을 삭제하면 그 공간을 다시 재사용하지만,
TRUNCATE는 특정 공간을 DROP -> CREATE를 수행하기 때문에 복구가 불가능하다.
예를 들어 AUTO_INCREMENT로 지정되어 증가하던 컬럼값이 초기화된다.
끝 - !
'BE > MySQL' 카테고리의 다른 글
[MYSQL] JAVA - eclipse 연동법 (0) | 2023.03.31 |
---|---|
[MySQL] DCL(Data Control Language) 데이터 제어어 명령어 모음 (0) | 2023.03.31 |
[MySQL] DML(Data Manipulation Language) 데이터 조작어 명령어 모음 (0) | 2023.03.31 |
생활코딩 데이터베이스 : mysql 맥에 설치 (0) | 2022.08.26 |
생활코딩 데이터베이스 : 데이터베이스와 mysql (0) | 2022.08.26 |