[MySQL] MySQL 더 배워보기

imssonice·2022년 9월 29일
0
  • TABLE 분리하기
RENAME TABLE topic TO topic_backup;

topic 테이블 이름을 topic_backup 라는 이름으로 바꿔준다.

SELECT * FROM topic_backup

으로 테이블 구조를 보고

이렇게 적어서 테이블을 새로 만들어준다.

그다음 author 테이블도 생성해준다

CREATE TABLE `author` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `profile` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) 

author 테이블도 만들어 줬다.

INSERT INTO author (id, name, profile) VALUES(1, 'egoing', 'deveploper');

데이터도 추가해준다. 이런식으로 추가하고 나중에 topic테이블을 보면

이런식으로 나오게 된다.

-JOIN
다른 테이블이었던 것들이 같은 것으로 보이도록 해주는 것!

SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id;

topic의 author_id와 author의 id가 같은 것끼리 합쳐달라고 하는 코드.

그럼 이렇게 나온다.

그리고 author_id와 id를 안 보이게 하고 싶으면(중복되니까)

SELECT topic.id AS topic_id, title, description, created, name, profile FROM topic LEFT JOIN author ON topic.author_id = author.id;

이렇게 입력하면 됨. id가 두개 있으니까 애매하니 앞에 테이블 이름을 같이 써주고 점찍고 id 입력해주는 것! 그리고 topic의 id이름을 topic_id로 바꿔주려면 AS를 쓰면 된다.


같은 내용이지만 타이핑 귀찮아서 캡처로 첨부하겠음...

클라이언트: 서비스 요구자
서버: 서비스 제공자

  • MySQL 클라이언트
    MySQL 모니터: 서버를 설치하면 같이 설치됨(어디서나 사용 가능), 명령을 이용해서 제어(명령어 기반 프로그램), 명령어를 기억해야 한다는 단점이 있다.

  • MySQL Workbench(gui)

./mysql -uroot -p -hlocalhost

자기 컴퓨터의 서버를 가르킴.
-h는 호스트의 약자임. 실행하려는 모니터의 클라이언트로 다른 서버로 접속하려면 h뒤에 그 서버 주소를 적어주면 됨.
Workbench를 이용하면 간단하게 스키마를 만들고 데이터를 관리할 수 있음.

출처: 생활코딩(https://www.youtube.com/channel/UCvc8kv-i5fvFTJBFAk6n1SA)

profile
공부한 거 정리하는 용도로 씁니다.

0개의 댓글