스프링 기반 게시판을 구현하며 사용했던 mysql 명령어를 정리하고자 한다.
CRUD 관련 쿼리문은 Spring data JPA에게 큰 도움을 받았다..!
TMI) MySQL 돌고래 로고는 2001년에 만들어졌다. MYSQL 창업자 중 한 명이자 핵심 개발자인 Monty가 돌고래를 좋아했다고 한다.
1. database 생성
- mysql의 기본 character set은 latin1으로, 한글을 지원하지 않는다. 한글 지원하도록 character set을 utf8로 지정
mysql> CREATE DATABASE [DB명] DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
2. 사용자에게 권한 부여
DB에 접근하는 사용자들에게 특정 권한을 부여하여 데이터를 보호한다.
ex) localhost로 접속하는 root 사용자에게 모든, db, table에 대한 모든 권한 부여
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
mysql> FLUSH PRIVILEGES;
3. 사용하고자 하는 db로 이동
mysql> use [db명];
4. db 테이블 생성
ex)
mysql> create table [테이블명]
(
[column 명] [column type(자료형)] [column 속성],
name varchar(255),
primary key (id)
);
5. db에 존재하는 테이블 출력
mysql> show tables;
6. 테이블 정보 출력
mysql> desc [테이블명];
7. 해당 테이블에 저장된 데이터 출력
select * from [테이블명];
8. 테이블 데이터 삭제 - 1
truncate [테이블명];
- 항상 테이블 '전체' 데이터 삭제만 가능, 삭제 후 되돌릴 수 없음
- 테이블의 초기 상태(column 선언만 되어있는)로 되돌림. 용량도 줄어듦.
9. 테이블 데이터 삭제 - 2
delete table [테이블명] where [column 명] = [column 데이터 값];
- where 조건에 맞는 데이터 찾아서 삭제, 삭제된 데이터를 되돌릴 수 있음.
- 일부 데이터 삭제 가능, where을 사용하지 않을 경우, 테이블 전체 데이터 삭제.
- 데이터는 지워지지만 테이블 용량은 줄어 들지 않는다. 즉, 할당되었던 메모리 공간은 그대로 유지됨.
10. column 타입 변경
mysql> alter table [테이블명] modify [column 명] [타입];
ex) alter table post modify date timestamp;
11. column 삭제
mysql> alter table [테이블명] drop column [column 명];
12. mysql 종료
mysql> exit
'Study > MySQL' 카테고리의 다른 글
인텔리제이에서 mysql 세팅하기 (0) | 2022.08.02 |
---|---|
구름 IDE에서 mysql 세팅하기 (Springboot, Gradle) (0) | 2021.10.27 |