UTF8 VS UTF8MB4
UTF8와 UTF8MB4의 차이는 emoji 문자를 사용할 수 있는지 없는지 차이이다.
UTF8로 charset을 셋팅하면 emoji 문자를 사용할 수 없다. 이러한 문제점을 해결하기 위해서 UTF8MB4 charset이
나오게 되었고, UTF8MB4로 셋팅하면 emoji 문자를 사용할 수 있다.
UTF8MB4는 MySQL, MariaDB에만 해당한다. ( 버전에 따라서 지원안할 수 도 있음 )
셋팅 하는 법 : 테이블을 생성할 때 마지막에 CHARSET=UTF8MB4를 입력하면 된다.
MySQL root 비밀번호 변경하는 법
MySQL root 비밀번호 변경은 ALTER를 사용한다.
1. 비밀번호와 최근 변경일 조회
SELECT host, user, authentication_string, password_last_changed FROM user;
2. root 비밀번호 변경 쿼리문
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경비밀번호';
MySQL 데이터베이스 및 테이블 생성
1. 기본 명령어
show databases; # 데이터베이스 보기
create database user; # 데이터베이스 생성
drop database user; # 데이터베이스 삭제
use 데이터베이스명; # 데이터베이스 선택 및 사용
show tables; # 테이블 보기
create table member; # 테이블 생성
drop table member; # 테이블 삭제
desc member; # 테이블 확인
2. 테이블 생성
CREATE TABLE MEMBER (
num int NOT NULL AUTO_INCREMENT,
name varchar(32) NOT NULL,
id varchar(12) DEFAULT'guest',
phone varchar(12) DEFAULT NULL,
PRIMARY KEY ( num )
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
3. command에서 mysql 접속하기
mysql -u 접속할계정 -p
4. 외부 접속 권한 할당해주기
# 계정 생성
create user 'spark'@'%' indentified by 'spark'
# 생성된 계정 정보 확인
select host,user from mysql.user;
# 권한 할당해주기
grant all privileges on *.* to 'spark'@'%';
# 새로고침
flush privileges;
5. 데이터 베이스 및 테이블 생성
create database capstone; # 데이터 베이스 생성
user capstone # 데이터베이스 사용
show tables; # 테이블 확인
create table coinuser( # 테이블 생성
-> num int PRIMARY KEY AUTO_INCREMENT,
-> userEmail varchar(32) NOT NULL,
-> userPassword varchar(32) NOT NULL,
-> userName varchar(32) NOT NULL,
-> userBirth DATE NOT NULL,
-> userGender varchar(10) DEFAULT '선택안함'
-> ) ENGINE=InnoDB CHARSET=utf8mb4;
desc coinuser; # 테이블 확인
* InnoDB : defualt로 설정되는 스토리지 엔진이다.
InnoDB는 트랜잭션을 지원하고, 커밋과 롤백, 데이터 복구 기능을 제공하므로 데이터를 효과적으로 보호할 수 있다.
PK 제약을 제공하여 데이터 무결성을 보장한다.
6. insert를 사용해 데이터 삽입하기
insert into coinuser ( userEmail, userPassword, userName, userBirth, userGender )
-> values ("2chae@gamil.com", "1234", "이채채", "2002-09-12", "여자"); # 데이터 삽입
select * from coinuser; # 테이블 확인
7. 컬럼추가하기
ALTER TABLE coinuser
-> ADD ( signupDate DATE NOT NULL );
'Back-End > Spring Boot' 카테고리의 다른 글
[ Spring boot ] 스프링부트 데이터베이스 연동 ③ (0) | 2022.05.10 |
---|---|
[ Spring boot ] DTO 객체 및 폼과 뷰페이지 ③ (0) | 2022.05.08 |
[ Spring boot ] DTO 객체 및 폼과 뷰페이지 ② (0) | 2022.05.08 |
[ Spring boot ] DTO 객체 및 폼과 뷰페이지 ① (0) | 2022.05.07 |
[ Spring boot ] Spring boot 프레임워크 ③ (0) | 2022.05.02 |