mySql

이지선·2023년 6월 4일

관계형 데이터베이스 (RDB)
Oracle, mySql,postgres 등

mySql database server > 스키마 > 테이블

PowerShell 입력

docker run --name board_mysql -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 mysql

docker run --name board_mysql -e MYSQL_ROOT_PASSWORD= -d -p 3306:3306 mysql
(에러나면 기존에 떠있는 docker를 모두 지우고 docker rm 컨테이너id 3406:3306으로 수정하여 입력. docker는 가상의 껍데기, 3406포트를 대고 실제로는 3306으로 들어오게 하여 충돌이 안나게함. 외부포트:docker내부포트)

-p는 포트의 약자
-d 옵션 주면 background에서 돌아감
mysql은 3306포트를 사용하기로 암묵적으로 합의함

도커를 통해 mysql 접속

docker exec -it 컨테이너id mysql -u root -p
비밀번호 1234

docker exec -it f4eada078c1c mysql -u root -p 1234

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) (비밀번호 틀렸다는 에러문구임)
1234
비밀번호 1234
(https://jun-codinghistory.tistory.com/272
)
mysql - ERROR 1049 (42000): Unknown database 'userDB'
MySql에서 DB 백업 후 복원 시 종종 발생하는 에러입니다. 에러 메세지 그대로, 해당 DB를 알 수 없다는 의미입니다

1234 입력해도 안보임 -> password니까, 그냥 입력하고 엔터치면 된다. 에러가 아님;

실습 예제)

CREATE TABLE author (id bigint NOT NULL AUTO_INCREMENT,name varchar(20) DEFAULT NULL,
email varchar(20) NOT NULL,
password varchar(20) DEFAULT NULL,
role varchar(10) DEFAULT NULL,
created_at datetime DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY(email));

2) foreign key 만들기

create table post(id bigint AUTO_INCREMENT, title varchar(30), contents varchar(255), author_id bigint, primary key(id), foreign key(author_id) references author(id)); #author id를 가져와서 foreign key를 삼겠다.

insert into post(title,s contents,author_id) values ('hello','hello is..',100); # 실패한다. 왜냐면 author id에 100이 없음
insert into post(title, contents,author_id) values ('hello','hello is..',1);
insert into post(title, contents,author_id) values ('hello','hello is..',2);

workbench 사용

workbench download (회원가입 없이 다운로드 가능)

기초 설정
WORKBENCH > 데이터베이스 > CONNECT TO DATABASE
127.0.0.1 : LOCAL HOST(내 아이피)를 의미한다.
Hostsname을 localhost로 변경함 > password 입력하라고하면 1234 입력

mysql을 다루기 위한 클라이언트 도구

profile
Data Analyst

0개의 댓글